--- - name: Stop Nomad hosts: nomad_instances tasks: - name: Stop Nomad systemd: name: nomad state: stopped become: true - name: Stop Vault hosts: nomad_instances tasks: - name: Stop Vault systemd: name: vault state: stopped become: true - name: Recover Consul hosts: consul_instances tasks: - name: Stop 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 Info debug: msg: | node_id: {{ consul_node_id.content }} address: {{ ansible_default_ipv4.address }} - name: Save copy: dest: "/opt/consul/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].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 # - name: Start Vault # hosts: nomad_instances # # tasks: # - name: Start Vault # systemd: # name: vault # state: started # become: true # # - name: Start Nomad # hosts: nomad_instances # # tasks: # - name: Start Nomad # systemd: # name: nomad # state: started # become: true