Purge internal map variables by leveraging persistent store

Change-Id: If347de18803a6f84a220e1ffdee26b9e1c28634b
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingHandler.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingHandler.java
index 75cdea1..5519f37 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingHandler.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingHandler.java
@@ -611,6 +611,7 @@
             switch (event.type()) {
                 case OPENSTACK_INSTANCE_PORT_DETECTED:
                 case OPENSTACK_INSTANCE_PORT_UPDATED:
+                case OPENSTACK_INSTANCE_RESTARTED:
                     log.info("SwitchingHandler: Instance port detected MAC:{} IP:{}",
                                                         instPort.macAddress(),
                                                         instPort.ipAddress());
@@ -618,6 +619,13 @@
                     eventExecutor.execute(() -> instPortDetected(instPort));
 
                     break;
+                case OPENSTACK_INSTANCE_TERMINATED:
+                    log.info("SwitchingHandler: Instance port terminated MAC:{} IP:{}",
+                                                        instPort.macAddress(),
+                                                        instPort.ipAddress());
+                    eventExecutor.execute(() -> removeVportRules(instPort));
+
+                    break;
                 case OPENSTACK_INSTANCE_PORT_VANISHED:
                     log.info("SwitchingHandler: Instance port vanished MAC:{} IP:{}",
                                                         instPort.macAddress(),