ansible-roles/redis/tasks/main.yml
Jérémy Lecour ee21973371
All checks were successful
Ansible Lint |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |2777|524|2253|2462|:+1: Reference build: <a href="https://jenkins.evolix.org/job/gitea/job/ansible-roles/job/unstable/223//ansiblelint">Evolix » ansible-roles » unstable #223</a>
gitea/ansible-roles/pipeline/head This commit looks good
Use FQCN
Fully Qualified Collection Name
2023-03-20 23:33:19 +01:00

163 lines
4.3 KiB
YAML

---
- ansible.builtin.set_fact:
redis_restart_handler_name: "{{ redis_restart_if_needed | bool | ternary('restart redis', 'restart redis (noop)') }}"
- name: Linux kernel overcommit memory setting is enabled
ansible.posix.sysctl:
name: "vm.overcommit_memory"
value: "1"
sysctl_file: "/etc/sysctl.d/evolinux-redis.conf"
state: present
reload: yes
- name: Customize Kernel Transparent Huge Page
ansible.builtin.include: thp.yml
when: redis_sysctl_transparent_hugepage_enabled is not none
- name: Redis is installed
ansible.builtin.apt:
name:
- redis-server
- redis-tools
state: present
tags:
- redis
- packages
- name: Redis Sentinel is installed
ansible.builtin.apt:
name: "redis-sentinel"
state: present
tags:
- redis
- packages
when: redis_sentinel_install | bool
- name: Get Redis version
ansible.builtin.shell:
cmd: "redis-server -v | grep -Eo '(v=\\S+)' | cut -d'=' -f 2 | grep -E '^([0-9]|\\.)+$'"
changed_when: False
check_mode: no
register: _redis_installed_version
tags:
- redis
- ansible.builtin.set_fact:
redis_installed_version: "{{ _redis_installed_version.stdout }}"
check_mode: no
tags:
- redis
- name: set variables for default mode
ansible.builtin.set_fact:
redis_conf_dir: "{{ redis_conf_dir_prefix }}"
redis_socket_dir: "{{ redis_socket_dir_prefix }}"
redis_pid_dir: "{{ redis_pid_dir_prefix }}"
redis_log_dir: "{{ redis_log_dir_prefix }}"
redis_data_dir: "{{ redis_data_dir_prefix }}"
when: redis_instance_name is not defined
- name: set variables for instance mode
ansible.builtin.set_fact:
redis_systemd_name: "redis-server@{{ redis_instance_name }}"
redis_conf_dir: "{{ redis_conf_dir_prefix }}-{{ redis_instance_name }}"
redis_socket_dir: "{{ redis_socket_dir_prefix }}-{{ redis_instance_name }}"
redis_pid_dir: "{{ redis_pid_dir_prefix }}-{{ redis_instance_name }}"
redis_log_dir: "{{ redis_log_dir_prefix }}-{{ redis_instance_name }}"
redis_data_dir: "{{ redis_data_dir_prefix }}-{{ redis_instance_name }}"
when: redis_instance_name is defined
- name: Fail if redis_bind_interface is set
ansible.builtin.fail:
msg: "Please change 'redis_bind_interface' (String) to 'redis_bind_interfaces' (List)"
when:
- redis_bind_interface is defined
- redis_bind_interface is not none
- redis_bind_interface | length > 0
- name: configure Redis for default mode
ansible.builtin.include: default-server.yml
when: redis_instance_name is not defined
- name: configure Redis for instance mode
ansible.builtin.include: instance-server.yml
when: redis_instance_name is defined
- name: Is Munin installed
ansible.builtin.stat:
path: /etc/munin/plugins
register: _munin_installed
tags:
- redis
- munin
- name: configure Munin for default mode
ansible.builtin.include: default-munin.yml
when:
- _munin_installed.stat.exists
- _munin_installed.stat.isdir
- redis_instance_name is undefined
tags:
- redis
- munin
- name: configure Munin for instance mode
ansible.builtin.include: instance-munin.yml
when:
- _munin_installed.stat.exists
- _munin_installed.stat.isdir
- redis_instance_name is defined
tags:
- redis
- munin
- name: Is log2mail installed
ansible.builtin.stat:
path: /etc/log2mail/config
register: _log2mail_installed
tags:
- redis
- log2mail
- name: configure log2mail for default mode
ansible.builtin.include: default-log2mail.yml
when:
- _log2mail_installed.stat.exists
- _log2mail_installed.stat.isdir
- redis_instance_name is undefined
tags:
- redis
- log2mail
- name: configure log2mail for instance mode
ansible.builtin.include: instance-log2mail.yml
when:
- _log2mail_installed.stat.exists
- _log2mail_installed.stat.isdir
- redis_instance_name is defined
tags:
- redis
- log2mail
- name: is NRPE present ?
ansible.builtin.stat:
path: /etc/nagios/nrpe.d/evolix.cfg
check_mode: no
register: nrpe_evolix_config
tags:
- redis
- nrpe
- ansible.builtin.include: nrpe.yml
when: nrpe_evolix_config.stat.exists
tags:
- redis
- nrpe
- name: Force restart redis
ansible.builtin.command:
cmd: /bin/true
notify: restart redis
when: redis_restart_force | bool