44 lines
1.2 KiB
YAML
44 lines
1.2 KiB
YAML
---
|
|
# showcase/decommission/webapp-db.yml — Graceful MariaDB shutdown
|
|
#
|
|
# Best-effort: failures do not block instance deletion.
|
|
|
|
- name: Stop MariaDB gracefully
|
|
ansible.builtin.uri:
|
|
url: "{{ incus_api }}/1.0/instances/{{ ffsdn_instance_name }}/exec"
|
|
method: POST
|
|
client_cert: "{{ incus_cert }}"
|
|
client_key: "{{ incus_key }}"
|
|
validate_certs: false
|
|
body_format: json
|
|
body:
|
|
command:
|
|
- "/bin/bash"
|
|
- "-c"
|
|
- |
|
|
echo "Stopping MariaDB gracefully..."
|
|
systemctl stop mariadb 2>/dev/null || true
|
|
echo "MariaDB stopped"
|
|
record-output: true
|
|
interactive: false
|
|
wait-for-websocket: false
|
|
status_code: [202]
|
|
return_content: true
|
|
register: db_stop_exec
|
|
ignore_errors: true
|
|
|
|
- name: Wait for MariaDB stop (up to 30s)
|
|
ansible.builtin.uri:
|
|
url: "{{ incus_api }}{{ db_stop_exec.json.operation }}/wait?timeout=30"
|
|
method: GET
|
|
client_cert: "{{ incus_cert }}"
|
|
client_key: "{{ incus_key }}"
|
|
validate_certs: false
|
|
return_content: true
|
|
ignore_errors: true
|
|
when: db_stop_exec is not failed
|
|
|
|
- name: Report MariaDB decommission
|
|
ansible.builtin.debug:
|
|
msg: "MariaDB on {{ ffsdn_instance_name }} stopped gracefully"
|