cp_nodes.yml 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. ---
  2. - hosts: all
  3. become: yes
  4. become_user: root
  5. become_method: sudo
  6. gather_facts: yes
  7. vars:
  8. redis_ports:
  9. - 19901
  10. - 19902
  11. - 19903
  12. - 19904
  13. - 19905
  14. - 19906
  15. - 19907
  16. - 19908
  17. - 19909
  18. - 19910
  19. - 19911
  20. - 19912
  21. pre_tasks:
  22. - name: Update Apt Cache
  23. apt: update_cache=yes cache_valid_time=86400
  24. when: ansible_os_family == "Debian"
  25. - name: Ubuntu Packages
  26. apt: >
  27. pkg={{item}}
  28. state=present
  29. with_items:
  30. - build-essential
  31. - autoconf
  32. - automake
  33. - libbsd-dev
  34. - libltdl-dev
  35. - libltdl7
  36. - libtool
  37. tasks:
  38. - name: create redis user
  39. user:
  40. name: redis
  41. uid: 4001
  42. shell: /bin/bash
  43. state: present
  44. - name: copy the redis raft library
  45. copy:
  46. src: redisraft.so
  47. dest: /usr/lib/redisraft.so
  48. owner: redis
  49. group: redis
  50. mode: '0700'
  51. - name: create raft directories
  52. file:
  53. path: /redis/persistant/cpredis
  54. owner: redis
  55. group: redis
  56. mode: '0755'
  57. state: directory
  58. - name: checkout redis git repo
  59. git:
  60. repo: 'https://github.com/antirez/redis'
  61. dest: /home/redis/redis
  62. version: 6.0
  63. - name: Build the default target
  64. make:
  65. chdir: /home/redis/redis
  66. - name: Run 'install' target as root
  67. make:
  68. chdir: /home/redis/redis
  69. target: install
  70. become: yes
  71. - name: Redis Systemd
  72. template:
  73. src: systemd_redis.j2
  74. dest: /lib/systemd/system/redis-{{item}}.service
  75. owner: root
  76. group: root
  77. mode: 0644
  78. with_items: "{{ redis_ports }}"
  79. - name: Enable Redis Services
  80. systemd:
  81. name: redis-{{item}}
  82. enabled: yes
  83. state: started
  84. with_items: "{{ redis_ports }}"