this collection is to be used just like ansible galaxy or cloned into ./collections/ansible_collections/inett/pve
The namespace is inett.pve
VMs are part of the inventory in the form of normal hosts, but contained special groups, configured with variables.
pve_nodes
must contain Proxmox VE nodespve_vms
all vms to be deployed/removed must be inside this group
vms_setup
: basic setup for VMs
inett.pve.cluster_group
: gather facts about Proxmox VE nodes and group them by cluster nameinett.pve.vm_prepare_facts
: assigns VMs to target nodes, set and merge some factsinett.pve.vms
: set up VMs and group them by target stateinett.pve.vm_disks
: resize and create SCSI disksinett.pve.vm_cloudinit
: ensure state of cloud-init driveinett.pve.vms_finish
: wait for VMs (timeout ifpve_vm_wait
is an integer, connection (Linux) ifpve_vm_wait
is set to "connect") and finish setup
vm_storage
and efivars_storage
are automatically merged by the
role inett.pve.vm_prepare_facts
from the target node to the VM.
pve_vmid
(Integer, required): ID of VMpve_vm_state
(running|stopped|absent, required): target state for VMpve_vm_memory
(Integer, 1024): size of VM RAM in bytespve_vm_cpu
(dict):cores
(Integer (4)): number of coresvcpus
(Integer (4)): number of virtual cpuslimit
(Integer (4)): CPU limit
pve_vm_storage
(String): default storage for VM resourcespve_vm_scsi
(dict):- 0:
storage
(String,{{ pve_vm_storage }}
)
- 0:
pve_vm_setup_iso
(dict):storage
(String ('cephfs'))image_name
(String, required)media
(String ('cdrom'))
pve_vm_remove_install_media
(Boolean (true)): remove media inide1
after VM setuppve_target_cluster
(String): Name of the target cluster for VM related taskspve_target_node
(String): Inventory name of target Proxmox VE node (overridespve_target_cluster
)