Add playbook to recover consul using peers
This commit is contained in:
parent
567e2d88e4
commit
8ab6c2c3e0
45
recover-consul.yaml
Normal file
45
recover-consul.yaml
Normal file
@ -0,0 +1,45 @@
|
||||
---
|
||||
- name: Recovery Consul
|
||||
hosts: consul_instances
|
||||
|
||||
tasks:
|
||||
- name: Restart Consul
|
||||
systemd:
|
||||
name: consul
|
||||
state: stopped
|
||||
become: true
|
||||
|
||||
- name: Get node-id
|
||||
slurp:
|
||||
src: /opt/consul/node-id
|
||||
register: consul_node_id
|
||||
become: true
|
||||
|
||||
- name: Node Id
|
||||
debug:
|
||||
msg: "node_id: {{ consul_node_id.content }}"
|
||||
|
||||
- name: Address
|
||||
debug:
|
||||
msg: "address: {{ ansible_default_ipv4.address }}"
|
||||
|
||||
- name: Save
|
||||
copy:
|
||||
dest: "/opt/consul/raft/peers.json"
|
||||
content: |
|
||||
[
|
||||
{% for host in ansible_play_hosts|reject('equalto', inventory_hostname) -%}
|
||||
{
|
||||
"id": "{{ hostvars[host].consul_node_id.content }}",
|
||||
"address": "{{ hostvars[host].ansible_default_ipv4.address }}:8300",
|
||||
"non_voter": false
|
||||
}{% if not loop.last %},{% endif %}
|
||||
{% endfor -%}
|
||||
]
|
||||
become: true
|
||||
|
||||
- name: Restart Consul
|
||||
systemd:
|
||||
name: consul
|
||||
state: restarted
|
||||
become: true
|
Loading…
Reference in New Issue
Block a user