Fixed to add gateway node from ICMP handler also

And made the gateway store or group update synchronized

Change-Id: I10fc391e9059772e5da8322997a994db26a096b3
diff --git a/apps/openstacknetworking/routing/src/main/java/org/onosproject/openstacknetworking/routing/OpenstackFloatingIpManager.java b/apps/openstacknetworking/routing/src/main/java/org/onosproject/openstacknetworking/routing/OpenstackFloatingIpManager.java
index ba60fe8..236d04d 100644
--- a/apps/openstacknetworking/routing/src/main/java/org/onosproject/openstacknetworking/routing/OpenstackFloatingIpManager.java
+++ b/apps/openstacknetworking/routing/src/main/java/org/onosproject/openstacknetworking/routing/OpenstackFloatingIpManager.java
@@ -309,13 +309,15 @@
                 case COMPLETE:
                     if (node.type() == GATEWAY) {
                         log.info("GATEWAY node {} detected", node.hostname());
-                        GatewayNode gnode = GatewayNode.builder()
-                                .gatewayDeviceId(node.intBridge())
-                                .dataIpAddress(node.dataIp().getIp4Address())
-                                .uplinkIntf(node.externalPortName().get())
-                                .build();
-                        gatewayService.addGatewayNode(gnode);
-                        eventExecutor.execute(OpenstackFloatingIpManager.this::reloadFloatingIpRules);
+                        eventExecutor.execute(() -> {
+                            GatewayNode gnode = GatewayNode.builder()
+                                    .gatewayDeviceId(node.intBridge())
+                                    .dataIpAddress(node.dataIp().getIp4Address())
+                                    .uplinkIntf(node.externalPortName().get())
+                                    .build();
+                            gatewayService.addGatewayNode(gnode);
+                            reloadFloatingIpRules();
+                        });
                     }
                     break;
                 case INIT: