cp_nodes.yml 1.9 KB

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