Proxmox lancelot : compte API dédié, VLAN 200 LAB en DHCP

Clonage par l'API (community.proxmox) avec bwpoc@pve limité au pool
bwpoc ; modèle créé une fois en root avec l'agent QEMU, qui sert à lire
les IP DHCP écrites dans inventory/host_vars/<vm>/dhcp.yml.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
claude BotandClaude Opus 5.5 committed 2026-10-27 11:25:53 +01:00
1 parent 099584c95c
commit 5846487f07
15 files changed
+502 -348

No files matched your search

+17 -6
View File
@@ -1,13 +1,24 @@
---
# Clone et configure les VM du PoC à partir du modèle (exécuté sur le nœud Proxmox).
- name: Déposer la clé SSH publique pour cloud-init
ansible.builtin.copy:
content: "{{ lookup('ansible.builtin.file', poc_ssh_pubkey_file) }}\n"
dest: /root/bwpoc_authorized_keys
mode: "0600"
# Clone et configure les VM du PoC par l'API Proxmox (compte dédié, voir README).
# Exécuté sur le contrôleur Ansible : connection local dans le playbook.
- name: Contrôler la présence du jeton API
ansible.builtin.assert:
that: pve_api_token_secret | length > 0
fail_msg: "Exportez PVE_TOKEN_SECRET (secret du jeton {{ pve_api_user }}!{{ pve_api_token_id }})"
quiet: true
- name: Créer le répertoire des host_vars par VM
ansible.builtin.file:
path: "{{ inventory_dir }}/host_vars/{{ item }}"
state: directory
mode: "0755"
loop: "{{ groups['poc_vms'] | unique }}"
- name: Créer chaque VM
ansible.builtin.include_tasks: vm.yml
loop: "{{ groups['poc_vms'] | unique }}"
loop_control:
loop_var: vm_name
- name: Recharger l'inventaire avec les IP DHCP
ansible.builtin.meta: refresh_inventory