apache / apache/cloudstack

[KVM] CloudStack infrastructure metadata is preserved in libvirt XML after unmanaged VM operation (introduced in PR #11061)

Abierto
#12,126 2 comentarios 0 reacciones 1 asignado Reclamado por @pavanaravapalli Ver en GitHub
component:kvm component:libvirt no-issue-activity
Lenguaje dominante
Java
Estrellas
3.1k
Forks
1.4k
Merge medio
6 d 19 h
PR fusionados (30 d)
32

Descripción

### 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: https://github.com/apache/cloudstack/pull/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**

1. Install CloudStack main branch.
2. Deploy a VM on a KVM hypervisor.
3. Trigger an "unmanage VM" operation in CloudStack.
4. On the KVM host, inspect the libvirt XML for that VM: /etc/libvirt/qemu/.xml
5. 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.

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.