OpenStack-Ansible Memcached server

Ansible role to install and configure Memcached.

To clone or view the source code for this repository, visit the role repository for memcached_server.

Default variables

## Logging level
debug: False

## APT Cache Options
cache_timeout: 600

# Set the package install state for distribution packages
# Options are 'present' and 'latest'
memcached_package_state: "latest"

# MemcacheD could set 'PrivateDevices=True' for its systemd unit by default when
# installed into a container. This provides some additional security, but it
# causes problems with creating mount namespaces on CentOS 7 with systemd 219.
# While the security enhancements are helpful on bare metal hosts with
# multiple services running, they are not as helpful when MemcacheD is running
# in a container with its own isolated namespaces.
#
# Related bugs:
#   https://bugs.launchpad.net/openstack-ansible/+bug/1697531
#   https://github.com/lxc/lxc/issues/1623
#   https://github.com/systemd/systemd/issues/6121
#
# Setting the following variable to 'yes' will disable the PrivateDevices
# setting in the systemd unit file for MemcacheD on CentOS 7 hosts.
memcached_disable_privatedevices: "{{ ansible_facts['pkg_mgr'] == 'dnf' }}"

# The default memcache memory setting is to use .25 of the available system ram
# as long as that value is < 8192. However you can set the `memcached_memory`
# value to whatever you like as an override.
base_memcached_memory: "{{ ansible_facts['memtotal_mb'] | default(4096) }}"
memcached_memory: "{{ base_memcached_memory | int // 4 if base_memcached_memory | int // 4 < 8192 else 8192 }}"

memcached_port: 11211
memcached_listen: "127.0.0.1"
memcached_connections: 4096
memcached_threads: 4
memcached_file_limits: "{{ memcached_connections | int + 1024 }}"

install_test_packages: False

Required variables

None

Example playbook

- name: Install Memcached
  hosts: memcached
  user: root
  roles:
    - { role: "memcached_server" }