diff --git a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/portforwarding/PortForwardingConfigProxy.java b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/portforwarding/PortForwardingConfigProxy.java index feff1ea1f01..2a1b8dd4920 100644 --- a/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/portforwarding/PortForwardingConfigProxy.java +++ b/plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/portforwarding/PortForwardingConfigProxy.java @@ -35,6 +35,9 @@ protected void attachNetworkServiceToNoHaVirtualRouter(String vrUuid, String typ @Override protected void detachNetworkServiceFromNoHaVirtualRouter(String vrUuid, String type, List serviceUuids) { + if (serviceUuids == null || serviceUuids.isEmpty()) { + return; + } SQL.New(VirtualRouterPortForwardingRuleRefVO.class).eq(VirtualRouterPortForwardingRuleRefVO_.virtualRouterVmUuid, vrUuid) .in(VirtualRouterPortForwardingRuleRefVO_.uuid, serviceUuids).delete(); } diff --git a/testlib/src/main/java/org/zstack/testlib/VirtualRouterOfferingSpec.groovy b/testlib/src/main/java/org/zstack/testlib/VirtualRouterOfferingSpec.groovy index 1279c3a47df..db49c2ab57c 100755 --- a/testlib/src/main/java/org/zstack/testlib/VirtualRouterOfferingSpec.groovy +++ b/testlib/src/main/java/org/zstack/testlib/VirtualRouterOfferingSpec.groovy @@ -141,6 +141,10 @@ class VirtualRouterOfferingSpec extends InstanceOfferingSpec { return new VirtualRouterCommands.SetSNATRsp() } + simulator(VirtualRouterConstant.VR_REMOVE_SNAT_PATH) { + return new VirtualRouterCommands.RemoveSNATRsp() + } + simulator(VirtualRouterCentralizedDnsBackend.SET_DNS_FORWARD_PATH) { return new VirtualRouterCommands.SetForwardDnsRsp() }