main.yml 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. ---
  2. - name: Set redis_list_servers variable
  3. block:
  4. - name: Try group web_servers
  5. set_fact:
  6. redis_list_servers: "{{ groups['web_servers'] | list }}"
  7. rescue:
  8. - name: Try group test_servers
  9. set_fact:
  10. redis_list_servers: "{{ groups['test_servers'] | list }}"
  11. # include os specific tasks
  12. - include_tasks: "setup/{{ ansible_os_family }}.yml"
  13. - name: Ensure Redis configuration dir exists.
  14. file:
  15. path: "{{ redis_conf_path | dirname }}"
  16. state: directory
  17. mode: 0755
  18. #- name: Get the IP adress
  19. # set_fact:
  20. # curip: "{{ ansible_all_ipv4_addresses | select('search', private_network) }}"
  21. - name: Ensure Redis is configured
  22. template:
  23. src: "{{ redis_daemon }}.conf.j2"
  24. dest: "{{ redis_conf_path }}"
  25. mode: "{{ redis_conf_mode }}"
  26. notify: restart {{ redis_daemon }}
  27. - name: Checking overcommit memory
  28. shell: 'cat /proc/sys/vm/overcommit_memory'
  29. register: overcommit_memory
  30. changed_when: false
  31. failed_when: false
  32. - name: Overcommit memory
  33. sysctl:
  34. name: vm.overcommit_memory
  35. value: '1'
  36. state: present
  37. when: '"1" not in overcommit_memory.stdout'
  38. - name: Increase max connections
  39. sysctl:
  40. name: net.core.somaxconn
  41. value: '511'
  42. state: present
  43. - name: Disable THP
  44. shell: echo never > /sys/kernel/mm/transparent_hugepage/enabled
  45. - name: Allow HAProxy to start
  46. sysctl:
  47. name: net.ipv4.ip_nonlocal_bind
  48. value: '1'
  49. sysctl_set: yes
  50. state: present
  51. reload: yes
  52. - name: Ensure Redis is running and enabled on boot.
  53. service: "name={{ redis_daemon }} state=started enabled=yes"
  54. - name: Ensure Redis Sentinel is configured
  55. template:
  56. src: redis_sentinel.conf.j2
  57. dest: "{{ redis_sentinel_conf_path }}"
  58. mode: "{{ redis_sentinel_conf_mode }}"
  59. notify: restart {{ redis_sentinel_daemon }}
  60. when: need_sentinel
  61. - name: Ensure Redis Sentinel is running and enabled on boot.
  62. service: "name={{ redis_sentinel_daemon }} state=started enabled=yes"
  63. when: need_sentinel