incus-contrib/ansible/playbooks/showcase/decommission/k3scluster-instance.yml

43 lines
1.5 KiB
YAML

---
# showcase/decommission/k3scluster-instance.yml — Per-instance decommission for k3scluster
#
# Called from k3scluster-decommission.yml in a loop over ffsdn_instances.
# The 'instance' loop var has: name, ip, component_name, image_alias, type
# Routes to k3s.yml for both control plane and worker nodes.
- name: Set instance facts from loop variable
ansible.builtin.set_fact:
ffsdn_instance_name: "{{ instance.name }}"
component_name: "{{ instance.component_name }}"
- name: "Check if {{ ffsdn_instance_name }} still exists"
ansible.builtin.uri:
url: "{{ incus_api }}/1.0/instances/{{ ffsdn_instance_name }}"
method: GET
client_cert: "{{ incus_cert }}"
client_key: "{{ incus_key }}"
validate_certs: false
return_content: true
status_code: [200, 404]
register: instance_check
- name: "Route to K3s decommission for {{ ffsdn_instance_name }}"
ansible.builtin.include_tasks: k3s.yml
when:
- instance_check.status == 200
- component_name in ['control', 'worker']
- instance_check.json.metadata.status | default('') == "Running"
ignore_errors: true
- name: Record decommission in ledger
ansible.builtin.lineinfile:
path: /tmp/awx-deploy-ledger.log
line: >-
{{ lookup('pipe', 'date -Iseconds') }}
SHOWCASE-DECOMMISSION instance={{ ffsdn_instance_name }}
blueprint=k3scluster component={{ component_name | default('unknown') }}
status=completed
create: true
mode: "0644"
when: instance_check.status == 200