feat(provisioning): implement VM provisioning mixin for Proxmox
Add ProxmoxVMProvisionMixin with three methods: - create_vm_from_cloud_init(): clone template → dual-NIC config → Cloud-Init → start - destroy_vm(): stop → delete VM → cleanup snippets - get_vm_status(): poll guest-agent for IP with optional wait-for-IP polling Tests (9 cases): - _wait_for_task success/error/timeout handling - create_vm happy path + missing snippet storage error - get_vm_status with/without wait-for-IP, timeout handling - destroy_vm on running or already-stopped VM All tests pass (100% coverage on mixin code paths). Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Haiku 4.5
parent
ede2a97770
commit
7bdac4c496
@@ -49,6 +49,7 @@ from napalm_proxmox.sdn_mixin import ProxmoxSDNMixin
|
||||
from napalm_proxmox.lldp_mixin import ProxmoxLLDPMixin
|
||||
from napalm_proxmox.config_mixin import ProxmoxConfigMixin
|
||||
from napalm_proxmox.vm_mixin import ProxmoxVMMixin
|
||||
from napalm_proxmox.vm_provision_mixin import ProxmoxVMProvisionMixin
|
||||
from napalm_proxmox.routing_mixin import ProxmoxRoutingMixin
|
||||
from napalm_proxmox.system_mixin import ProxmoxSystemMixin
|
||||
|
||||
@@ -68,6 +69,7 @@ class ProxmoxDriver(
|
||||
ProxmoxLLDPMixin,
|
||||
ProxmoxConfigMixin,
|
||||
ProxmoxVMMixin,
|
||||
ProxmoxVMProvisionMixin,
|
||||
ProxmoxRoutingMixin,
|
||||
ProxmoxSystemMixin,
|
||||
HypervisorDriver,
|
||||
|
||||
Reference in New Issue
Block a user