--- - name: Recover Nomad hosts: nomad_servers any_errors_fatal: true tasks: - name: Stop Nomad systemd: name: nomad state: stopped become: true - name: Remount all shares command: mount -a become: true - name: Get node-id slurp: src: /var/nomad/server/node-id register: nomad_node_id become: true - name: Node Info debug: msg: | node_id: {{ nomad_node_id.content | b64decode }} address: {{ ansible_default_ipv4.address }} - name: Save copy: dest: /var/nomad/server/raft/peers.json # I used to have reject('equalto', inventory_hostname) in the loop, but I'm not sure if I should content: | [ {% for host in ansible_play_hosts -%} { "id": "{{ hostvars[host].nomad_node_id.content | b64decode }}", "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