85 lines
1.7 KiB
YAML
85 lines
1.7 KiB
YAML
---
|
|
- 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
|