104 lines
2.8 KiB
YAML
104 lines
2.8 KiB
YAML
---
|
|
- name: Fix ch4 Nomad configuration - convert from server to client
|
|
hosts: ch4
|
|
become: yes
|
|
vars:
|
|
ansible_host: 100.117.106.136
|
|
|
|
tasks:
|
|
- name: Backup current Nomad config
|
|
copy:
|
|
src: /etc/nomad.d/nomad.hcl
|
|
dest: /etc/nomad.d/nomad.hcl.backup
|
|
remote_src: yes
|
|
backup: yes
|
|
|
|
- name: Update Nomad config to client mode
|
|
blockinfile:
|
|
path: /etc/nomad.d/nomad.hcl
|
|
marker: "# {mark} ANSIBLE MANAGED CLIENT CONFIG"
|
|
block: |
|
|
server {
|
|
enabled = false
|
|
}
|
|
|
|
client {
|
|
enabled = true
|
|
network_interface = "tailscale0"
|
|
|
|
servers = [
|
|
"semaphore.tailnet-68f9.ts.net:4647",
|
|
"ash1d.tailnet-68f9.ts.net:4647",
|
|
"ash2e.tailnet-68f9.ts.net:4647",
|
|
"ch2.tailnet-68f9.ts.net:4647",
|
|
"ch3.tailnet-68f9.ts.net:4647",
|
|
"onecloud1.tailnet-68f9.ts.net:4647",
|
|
"de.tailnet-68f9.ts.net:4647"
|
|
]
|
|
|
|
meta {
|
|
consul = "true"
|
|
consul_version = "1.21.5"
|
|
consul_server = "true"
|
|
}
|
|
}
|
|
insertbefore: '^server \{'
|
|
replace: '^server \{.*?\}'
|
|
|
|
- name: Update client block
|
|
blockinfile:
|
|
path: /etc/nomad.d/nomad.hcl
|
|
marker: "# {mark} ANSIBLE MANAGED CLIENT BLOCK"
|
|
block: |
|
|
client {
|
|
enabled = true
|
|
network_interface = "tailscale0"
|
|
|
|
servers = [
|
|
"semaphore.tailnet-68f9.ts.net:4647",
|
|
"ash1d.tailnet-68f9.ts.net:4647",
|
|
"ash2e.tailnet-68f9.ts.net:4647",
|
|
"ch2.tailnet-68f9.ts.net:4647",
|
|
"ch3.tailnet-68f9.ts.net:4647",
|
|
"onecloud1.tailnet-68f9.ts.net:4647",
|
|
"de.tailnet-68f9.ts.net:4647"
|
|
]
|
|
|
|
meta {
|
|
consul = "true"
|
|
consul_version = "1.21.5"
|
|
consul_server = "true"
|
|
}
|
|
}
|
|
insertbefore: '^client \{'
|
|
replace: '^client \{.*?\}'
|
|
|
|
- name: Restart Nomad service
|
|
systemd:
|
|
name: nomad
|
|
state: restarted
|
|
enabled: yes
|
|
|
|
- name: Wait for Nomad to be ready
|
|
wait_for:
|
|
port: 4646
|
|
host: "{{ ansible_default_ipv4.address }}"
|
|
delay: 5
|
|
timeout: 30
|
|
|
|
- name: Verify Nomad client status
|
|
shell: |
|
|
NOMAD_ADDR=http://localhost:4646 nomad node status | grep -q "ready"
|
|
register: nomad_ready
|
|
failed_when: nomad_ready.rc != 0
|
|
retries: 3
|
|
delay: 10
|
|
|
|
- name: Display completion message
|
|
debug:
|
|
msg: |
|
|
✅ Successfully converted ch4 from Nomad server to client
|
|
✅ Nomad service restarted
|
|
✅ Configuration updated
|
|
|