Fix: remove stale security group rules when VM migration finished
Change-Id: I9303f6bb003ced8e100ebd905ddf6e63193fb4a6
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSecurityGroupHandler.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSecurityGroupHandler.java
index 4982272..2308015 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSecurityGroupHandler.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSecurityGroupHandler.java
@@ -102,6 +102,7 @@
import static org.onosproject.openstacknetworking.api.Constants.PRIORITY_CT_DROP_RULE;
import static org.onosproject.openstacknetworking.api.Constants.PRIORITY_CT_HOOK_RULE;
import static org.onosproject.openstacknetworking.api.Constants.PRIORITY_CT_RULE;
+import static org.onosproject.openstacknetworking.util.OpenstackNetworkingUtil.swapStaleLocation;
import static org.onosproject.openstacknetworking.util.RulePopulatorUtil.computeCtMaskFlag;
import static org.onosproject.openstacknetworking.util.RulePopulatorUtil.computeCtStateFlag;
import static org.onosproject.openstacknetworking.util.RulePopulatorUtil.niciraConnTrackTreatmentBuilder;
@@ -762,6 +763,12 @@
);
removedOsPortStore.remove(instPort.portId());
break;
+ case OPENSTACK_INSTANCE_MIGRATION_ENDED:
+ InstancePort revisedInstPort = swapStaleLocation(instPort);
+ Port port = osNetService.port(instPort.portId());
+ eventExecutor.execute(() ->
+ setSecurityGroupRules(revisedInstPort, port, false));
+ break;
default:
break;
}