-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Description
problem
When a KVM instance is marked as unmanaged, CloudStack leaves infrastructure metadata — zone, pod, cluster, and host details — inside the libvirt VM XML.
This behavior appears to have been introduced as part of the enhancement in PR: #11061.
As a result, operators must manually or programmatically remove these metadata entries.
versions
4.22.1, main
The steps to reproduce the bug
Steps to Reproduce
- Install CloudStack main branch.
- Deploy a VM on a KVM hypervisor.
- Trigger an "unmanage VM" operation in CloudStack.
- On the KVM host, inspect the libvirt XML for that VM: /etc/libvirt/qemu/.xml
- Observe that infrastructure metadata tags (zone, pod, cluster, host) remain intact.
Expected Behavior
- When a VM is marked unmanaged:
CloudStack-specific infrastructure metadata should be removed from the libvirt XML,
Actual Behavior
- Metadata remains in the VM’s libvirt XML after the unmanage operation.
- Users must manually remove or script the cleanup of zone/pod/cluster/host metadata.
- This may cause confusion or inconsistent state if unmanaged VMs are later moved, repurposed, or reused.
** Impact **
- Operational confusion: Unmanaged VMs still appear to reference CloudStack infrastructure.
- Automation issues: Tools/scripts that rely on metadata may misinterpret the VM’s state.
- Security & hygiene: Residual metadata may mislead audits or lifecycle operations.
- Maintenance overhead: Users must clean up metadata manually or build custom scripts.
What to do about it?
Proposed Fix
Automatically remove CloudStack metadata (zone, pod, cluster, host) during the unmanage VM workflow on KVM.
Alternatively, add a new configuration variable (e.g., kvm.libvirt.xml.metadata.clean=true|false) so operators can opt in or out of automatic cleanup.