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

+28
View File
@@ -6,6 +6,13 @@
changed_when: false
failed_when: false
- name: Créer le pool {{ pve_pool }} (délégation au compte dédié)
ansible.builtin.shell: |
pveum pool list --output-format json | grep -q '"poolid":"{{ pve_pool }}"' && exit 0
pveum pool add {{ pve_pool }} --comment "PoC BunkerWeb" && echo created
register: pool_add
changed_when: "'created' in pool_add.stdout"
- name: Créer le modèle
when: tpl_status.rc != 0
block:
@@ -14,6 +21,20 @@
url: "{{ pve_image_url }}"
dest: "{{ pve_image_path }}"
mode: "0644"
force: true # image vierge à chaque création du modèle
- name: Installer libguestfs-tools (personnalisation de l'image)
ansible.builtin.apt:
name: libguestfs-tools
state: present
update_cache: true
- name: Ajouter l'agent QEMU à l'image (indispensable pour lire l'IP DHCP)
ansible.builtin.command: >-
virt-customize -a {{ pve_image_path }}
--install qemu-guest-agent
--truncate /etc/machine-id
changed_when: true
- name: Créer la VM modèle
ansible.builtin.command: >-
@@ -43,3 +64,10 @@
- name: Convertir en modèle
ansible.builtin.command: qm template {{ pve_template_vmid }}
changed_when: true
- name: Placer le modèle dans le pool (le compte dédié peut le cloner)
ansible.builtin.shell: |
pvesh get /pools/{{ pve_pool }} --output-format json | grep -q '"vmid":{{ pve_template_vmid }}[,}]' && exit 0
pveum pool modify {{ pve_pool }} --vms {{ pve_template_vmid }} && echo added
register: pool_tpl
changed_when: "'added' in pool_tpl.stdout"