From af05a96501a93fe62d963c84f0afd2832995d2a9 Mon Sep 17 00:00:00 2001 From: Ian Fijolek Date: Tue, 1 Nov 2022 15:03:08 -0700 Subject: [PATCH] Add playbook for recovering nomad cluster with peers.json --- nomad/recover-nomad.yaml | 45 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 nomad/recover-nomad.yaml diff --git a/nomad/recover-nomad.yaml b/nomad/recover-nomad.yaml new file mode 100644 index 0000000..d9b41e1 --- /dev/null +++ b/nomad/recover-nomad.yaml @@ -0,0 +1,45 @@ +--- +- name: Recovery Nomad + hosts: nomad_instances + + tasks: + - name: Stop Nomad + systemd: + name: nomad + state: stopped + become: true + + - name: Get node-id + slurp: + src: /var/nomad/server/node-id + register: nomad_node_id + become: true + + - name: Node Id + debug: + msg: "node_id: {{ nomad_node_id.content }}" + + - name: Address + debug: + msg: "address: {{ ansible_default_ipv4.address }}" + + - name: Save + copy: + dest: /var/nomad/server/raft/peers.json + content: | + [ + {% for host in ansible_play_hosts|reject('equalto', inventory_hostname) -%} + { + "id": "{{ hostvars[host].nomad_node_id.content }}", + "address": "{{ hostvars[host].ansible_default_ipv4.address }}:4647", + "non_voter": false + }{% if not loop.last %},{% endif %} + {% endfor -%} + ] + become: true + + - name: Restart Nomad + systemd: + name: nomad + state: restarted + become: true