Files
bunkerwebpoc/playbooks/99-destroy.yml
T
cedricandClaude Opus 5.5 de23e19910 lancelot : modèle 9100 avec agent QEMU, machine-id régénéré, pool et destroy par l'API
- modèle par défaut 9100 debian13-bwpoc (dérivé de 9001 + qemu-guest-agent),
  fabrication en SSH root seulement si pve_template_create: true
- régénération du machine-id par l'agent QEMU (sinon même IP DHCP pour tous les clones)
- pool bwpoc créé par l'API, 99-destroy par l'API
- correctif ansible-core 2.21 (copie de hostvars), clé SSH id_ed25519 ou id_rsa

Déploiement validé sur lancelot : 50-tests 26 OK, 0 KO.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-27 12:30:15 +01:00

50 lines
1.8 KiB
YAML

---
# Supprime les VM du PoC (le modèle est conservé, sauf -e destroy_template=true).
- name: Détruire les VM du PoC
hosts: proxmox
connection: local
gather_facts: false
vars:
ansible_become: false
ansible_python_interpreter: "{{ ansible_playbook_python }}"
module_defaults:
group/community.proxmox.proxmox:
api_host: "{{ ansible_host }}"
api_user: "{{ pve_api_user }}"
api_token_id: "{{ pve_api_token_id if pve_api_token_secret | length > 0 else omit }}"
api_token_secret: "{{ pve_api_token_secret if pve_api_token_secret | length > 0 else omit }}"
api_password: "{{ pve_api_password if pve_api_token_secret | length == 0 else omit }}"
validate_certs: "{{ pve_validate_certs }}"
vars_prompt:
- name: confirm
prompt: "Taper 'detruire' pour supprimer les VM {{ groups['poc_vms'] | unique | join(', ') }}"
private: false
tasks:
- name: Abandon sans confirmation
ansible.builtin.meta: end_play
when: confirm != 'detruire'
- name: Arrêter et supprimer les VM (API)
community.proxmox.proxmox_kvm:
node: "{{ pve_node }}"
vmid: "{{ hostvars[item].vm_id }}"
state: absent
force: true
timeout: 300
loop: "{{ groups['poc_vms'] | unique }}"
- name: Supprimer le modèle (seulement s'il a été créé par le PoC)
community.proxmox.proxmox_kvm:
node: "{{ pve_node }}"
vmid: "{{ pve_template_vmid }}"
state: absent
when:
- destroy_template | default(false) | bool
- pve_template_create | bool
- name: Oublier les IP DHCP mémorisées
ansible.builtin.file:
path: "{{ inventory_dir }}/host_vars/{{ item }}/dhcp.yml"
state: absent
loop: "{{ groups['poc_vms'] | unique }}"