From 93bc8df79e4c5deb12ef4dbb9c90bbd032af8b91 Mon Sep 17 00:00:00 2001 From: "pengchao.liu" Date: Thu, 11 Dec 2025 11:44:14 +0800 Subject: [PATCH] [sdnController]: attach dpdk vnic when vm stopped Resolves: ZSTAC-77713 Change-Id: I7867616b6c6b66626f6b716f79637a616864726f (cherry picked from commit 5cad79c36fc8892fbf138b70cb1212e0b93f8145) --- .../zstack/sdnController/SdnControllerApiInterceptor.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnControllerApiInterceptor.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnControllerApiInterceptor.java index 741a99cdb70..01b7171c202 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnControllerApiInterceptor.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnControllerApiInterceptor.java @@ -17,6 +17,7 @@ import org.zstack.header.network.sdncontroller.*; import org.zstack.header.vm.APIAttachL3NetworkToVmMsg; import org.zstack.header.vm.APIChangeVmNicNetworkMsg; +import org.zstack.header.vm.VmInstanceState; import org.zstack.header.vm.VmInstanceVO; import org.zstack.header.vm.VmNicVO; import org.zstack.network.l2.vxlan.vxlanNetwork.VxlanNetworkVO; @@ -125,7 +126,11 @@ private void validate(APIAttachL3NetworkToVmMsg msg) { VmInstanceVO vmVo = dbf.findByUuid(msg.getVmInstanceUuid(), VmInstanceVO.class); boolean found = false; for (SdnControllerHostRefVO ref : controllerVO.getHostRefVOS()) { - if (ref.getHostUuid().equals(vmVo.getHostUuid())) { + String currentHostUuid = vmVo.getHostUuid(); + if (VmInstanceState.Stopped.equals(vmVo.getState())) { + currentHostUuid = vmVo.getLastHostUuid(); + } + if (ref.getHostUuid().equals(currentHostUuid)) { found = true; break; }