cp_nodes.yml 2.4 KB

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