redis - Various redis commands, slave and flush

New in version 1.3.

Synopsis

  • Unified utility to interact with redis instances. ‘slave’ sets a redis instance in slave or master mode. ‘flush’ flushes all the instance or a specified db. ‘config’ (new in 1.6), ensures a configuration setting on an instance.

Requirements (on host that executes module)

  • redis

Options

parameter required default choices comments
command
yes
  • slave
  • flush
  • config
The selected redis command
db
no
The database to flush (used in db mode) [flush command]
flush_mode
no all
  • all
  • db
Type of flush (all the dbs in a redis instance or a specific one) [flush command]
login_host
no localhost
The host running the database
login_password
no
The password used to authenticate with (usually not used)
login_port
no 6379
The port to connect to
master_host
no
The host of the master instance [slave command]
master_port
no
The port of the master instance [slave command]
name
(added in 1.6)
no
A redis config key.
slave_mode
no slave
  • master
  • slave
the mode of the redis instance [slave command]
value
(added in 1.6)
no
A redis config value.

Examples

# Set local redis instance to be slave of melee.island on port 6377
- redis:
    command: slave
    master_host: melee.island
    master_port: 6377

# Deactivate slave mode
- redis:
    command: slave
    slave_mode: master

# Flush all the redis db
- redis:
    command: flush
    flush_mode: all

# Flush only one db in a redis instance
- redis:
    command: flush
    db: 1
    flush_mode: db

# Configure local redis to have 10000 max clients
- redis:
    command: config
    name: maxclients
    value: 10000

# Configure local redis to have lua time limit of 100 ms
- redis:
    command: config
    name: lua-time-limit
    value: 100

Notes

Note

  • Requires the redis-py Python package on the remote host. You can install it with pip (pip install redis) or with a package manager. https://github.com/andymccurdy/redis-py
  • If the redis master instance we are making slave of is password protected this needs to be in the redis.conf in the masterauth variable

Status

This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.

For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Testing Ansible and Developing Modules.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/redis_module.html