apache / apache/cloudstack

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

未關閉
#12,126 2 則留言 0 個 reaction 已指派 1 人 已被 @pavanaravapalli 認領 在 GitHub 檢視
component:kvm component:libvirt no-issue-activity
主要語言
Java
星號
3.1k
分支
1.4k
平均合併
7 天 14 小時
30 天內合併 PR
31

描述

### 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.

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。