KVM: after "Out of band VM power on" the guest NICs keep broadcast_uri NULL and live migration fails
維護者通常 1 天內回覆
還沒有人認領這個 Issue。
評估
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 新手友好度
- 54/100
- Issue 類型
- 缺陷
- 描述清晰度
- 基本清楚
- 活躍度
- 活躍
- 技術堆疊
- java
研究方向
Start by tracing the KVM agent's handling of an out-of-band VM power-on and compare it with the normal VM start path that restores guest NIC broadcast URIs. Check how the NIC and network broadcast_uri values are updated, then add or adapt coverage for this recovery path. Done means the NIC URI is restored after the event and the reported live migration succeeds without rebooting or stopping the VM.
由索引模型根據 Issue 內容生成。
描述
Problem
If a KVM host agent stops responding while its VMs keep running, the host is declared Down and its VMs are marked Stopped. At that point nics.broadcast_uri of their guest NICs is NULL. When the agent comes back, the VMs are set to Running again (event "Out of band VM power on"), but nics.broadcast_uri stays NULL while the network still has its VLAN (networks.broadcast_uri vlan://).
The VMs keep working on their current host. A live migration of such a router or VM to another host is refused. The destination does not create the per-VLAN bridge, and libvirt fails with:
Exception during migrate: org.libvirt.LibvirtException: Cannot get interface MTU on 'breth1-<vlan>': No such device
Management server log, for the router and the VM:
2026-10-28 16:01:36,967 ERROR [c.c.v.ClusteredVirtualMachineManagerImpl] (Work-Job-Executor-28:[ctx-8e0f9702, job-152/job-153, ctx-152e1c05]) (logid:26e1c1f1) Migration command failed for VM r-18-VM on source host id=2 to destination host 1: Exception during migrate: org.libvirt.LibvirtException: Cannot get interface MTU on 'breth1-1658': No such device
2026-10-28 16:01:38,925 ERROR [c.c.v.ClusteredVirtualMachineManagerImpl] (Work-Job-Executor-29:[ctx-33afcd90, job-154/job-155, ctx-f4ba8d18]) (logid:3191a0e1) Migration command failed for VM i-2-17-VM on source host id=2 to destination host 1: Exception during migrate: org.libvirt.LibvirtException: Cannot get interface MTU on 'breth1-1658': No such device
The VMs stay on the source host and keep their network. A router reboot or a VM stop/start fills broadcast_uri again, and migration then works. Until then, the VMs cannot be moved off the host, for example for host maintenance.
Versions
- CloudStack: 4.22.1.1 (management server and KVM agents).
- Hypervisor: KVM on Oracle Linux 9, libvirt 9.0.0, two hosts in one cluster.
- Network: advanced zone, Linux bridge (per-VLAN bridges breth1-), isolated network with a VLAN, virtual router. The router service offering has HA disabled and the VM is not HA-enabled, so nothing is restarted while the host is Down.
- Storage: NFS primary storage.
The steps to reproduce the bug
- Two KVM hosts (host 1, host 2) in one cluster. Isolated network N with a VLAN. Its router (service offering without HA) and a VM P with one NIC on N run on host 2, VM HA not enabled. Control: migrate the router and VM P to host 1 and back. Both work.
- On host 2: kill -STOP . Wait until host 2 is Down (about 5 minutes). The router and VM P are shown Stopped and nics.broadcast_uri of their NICs on N is NULL; the domains are still running on host 2.
- kill -CONT . Host 2 comes back Up, the events show "Out of band VM power on" for both, and they are Running. nics.broadcast_uri is still NULL.
- Migrate the router (migrateSystemVm) and VM P (migrateVirtualMachine) to host 1. Both are refused with the error above.
- Reboot the router and stop/start VM P. broadcast_uri is vlan:// again and the migration works.
What to do about it?
Expected Result: after "Out of band VM power on" the guest NICs carry the network's broadcast URI again, the same as after a normal start, so the VMs can be live migrated without a reboot or stop/start.
- 主要語言
- Java
- 星號
- 3.1k
- 分支
- 1.4k
- 平均合併
- 7 天 16 小時
- 30 天內合併 PR
- 15
環境準備
- 沒有 Dockerfile 或 Docker Compose 檔案
- 有 Pull Request 範本
- 閱讀貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
apache/cloudstack 的其他 Issue
-
resizeVolume of a running system VM's volume is accepted but the VM never sees the new size可能已有人在做 @bhouse-nexthop 於 4 天前認領。 未關閉
難度 2/5 1-3 小時 新手友好度 72/100
apache/cloudstack#14645 · 1 則留言 ·
維護者通常 1 天內回覆
-
VR reports a load balancer change as applied when haproxy.cfg cannot be replaced可能已有人在做 @bhouse-nexthop 於 4 天前認領。 未關閉
難度 2/5 1-3 小時 新手友好度 78/100
apache/cloudstack#14633 · 1 則留言 ·
維護者通常 1 天內回覆
-
restartNetwork reports a ResourceUnavailableException as an unexpected error (530), unlike restartVPC (534)可能已有人在做 @bhouse-nexthop 於 4 天前認領。 未關閉
難度 2/5 1-3 小時 新手友好度 78/100
apache/cloudstack#14631 · 1 則留言 ·
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 68/100
apache/cloudstack#14625 · 1 則留言 ·
維護者通常 1 天內回覆
-
Remote access VPN users are disconnected on every LB, ACL, port forward or firewall change (xl2tpd restarted on every iptables pass)可能已有人在做 @willbennett-devops 於 13 天前認領。 未關閉
難度 2/5 1-3 小時 新手友好度 72/100
apache/cloudstack#14545 · 1 則留言 ·
維護者通常 1 天內回覆
查看 apache/cloudstack 的全部 Issue
相似的 Issue
-
難度 2/5 1-3 小時 新手友好度 72/100
aws/serverless-java-container#1729 ·
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 75/100
維護者通常 1 天內回覆
-
[BUG] DynamoDB: PutResourcePolicy rejects ExpectedRevisionId=NO_POLICY on a table with no policy未關閉
難度 2/5 1-3 小時 新手友好度 75/100
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 75/100
ls1intum/thesis-management#1473 ·
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 72/100
openhab/openhab-addons#22312 ·
維護者通常 1 天內回覆