Add playbook to recover consul using peers

This commit is contained in:
IamTheFij 2022-09-16 16:46:37 -07:00
parent 1654fd7aef
commit e3ad6c4ff0
1 changed files with 45 additions and 0 deletions

45
nomad/recover-consul.yaml Normal file
View 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