- 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>
31 lines
1.3 KiB
YAML
31 lines
1.3 KiB
YAML
---
|
|
# 1) Modèle Debian 13 cloud-init : une seule fois, en SSH root sur le nœud
|
|
# (l'import d'une image disque par chemin absolu est réservé à root@pam).
|
|
- name: Modèle cloud-init et pool sur le nœud Proxmox
|
|
hosts: proxmox
|
|
gather_facts: false
|
|
roles:
|
|
- role: proxmox_template
|
|
when: pve_template_create | bool
|
|
|
|
# 2) Clonage des VM par l'API, avec le compte dédié bwpoc@pve (jeton API).
|
|
# Authentification : jeton (PVE_TOKEN_SECRET) ou mot de passe (PROXMOX_CLAUDE / PROXMOX_PASSWORD).
|
|
# A sauter si vous fournissez vos propres VM (Debian 12/13 avec accès SSH).
|
|
- name: Clonage des VM par l'API Proxmox
|
|
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 }}"
|
|
roles:
|
|
- proxmox_vm
|