Fix: guarantee to referring to the correct openstack node state

Change-Id: I73265ba744ea5ec8e5e0e3e8f36735ae1d1ac952
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingArpHandler.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingArpHandler.java
index 4e69759..fa72289 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingArpHandler.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingArpHandler.java
@@ -607,6 +607,12 @@
 
         @Override
         public boolean isRelevant(OpenstackNodeEvent event) {
+
+            // add subnet gateway to local storage in all cluster nodes
+            // TODO: need to persistent the gateway collection into eventually
+            // consistent map sooner or later
+            addAllSubnetGateways();
+
             // do not allow to proceed without leadership
             NodeId leader = leadershipService.getLeader(appId.name());
             return Objects.equals(localNodeId, leader) && event.subject().type() == COMPUTE;
@@ -619,7 +625,6 @@
                 case OPENSTACK_NODE_COMPLETE:
                     setDefaultArpRule(osNode, true);
                     setAllArpRules(osNode, true);
-                    addAllSubnetGateways();
                     break;
                 case OPENSTACK_NODE_INCOMPLETE:
                     setDefaultArpRule(osNode, false);