Committed by
Gerrit Code Review
Fixed to add gateway node from ICMP handler also
And made the gateway store or group update synchronized Change-Id: I10fc391e9059772e5da8322997a994db26a096b3
Showing
4 changed files
with
18 additions
and
5 deletions
... | @@ -309,13 +309,15 @@ public class OpenstackFloatingIpManager implements OpenstackFloatingIpService { | ... | @@ -309,13 +309,15 @@ public class OpenstackFloatingIpManager implements OpenstackFloatingIpService { |
309 | case COMPLETE: | 309 | case COMPLETE: |
310 | if (node.type() == GATEWAY) { | 310 | if (node.type() == GATEWAY) { |
311 | log.info("GATEWAY node {} detected", node.hostname()); | 311 | log.info("GATEWAY node {} detected", node.hostname()); |
312 | + eventExecutor.execute(() -> { | ||
312 | GatewayNode gnode = GatewayNode.builder() | 313 | GatewayNode gnode = GatewayNode.builder() |
313 | .gatewayDeviceId(node.intBridge()) | 314 | .gatewayDeviceId(node.intBridge()) |
314 | .dataIpAddress(node.dataIp().getIp4Address()) | 315 | .dataIpAddress(node.dataIp().getIp4Address()) |
315 | .uplinkIntf(node.externalPortName().get()) | 316 | .uplinkIntf(node.externalPortName().get()) |
316 | .build(); | 317 | .build(); |
317 | gatewayService.addGatewayNode(gnode); | 318 | gatewayService.addGatewayNode(gnode); |
318 | - eventExecutor.execute(OpenstackFloatingIpManager.this::reloadFloatingIpRules); | 319 | + reloadFloatingIpRules(); |
320 | + }); | ||
319 | } | 321 | } |
320 | break; | 322 | break; |
321 | case INIT: | 323 | case INIT: | ... | ... |
... | @@ -49,6 +49,7 @@ import org.onosproject.openstacknode.OpenstackNode; | ... | @@ -49,6 +49,7 @@ import org.onosproject.openstacknode.OpenstackNode; |
49 | import org.onosproject.openstacknode.OpenstackNodeEvent; | 49 | import org.onosproject.openstacknode.OpenstackNodeEvent; |
50 | import org.onosproject.openstacknode.OpenstackNodeListener; | 50 | import org.onosproject.openstacknode.OpenstackNodeListener; |
51 | import org.onosproject.openstacknode.OpenstackNodeService; | 51 | import org.onosproject.openstacknode.OpenstackNodeService; |
52 | +import org.onosproject.scalablegateway.api.GatewayNode; | ||
52 | import org.onosproject.scalablegateway.api.ScalableGatewayService; | 53 | import org.onosproject.scalablegateway.api.ScalableGatewayService; |
53 | import org.slf4j.Logger; | 54 | import org.slf4j.Logger; |
54 | 55 | ||
... | @@ -322,7 +323,15 @@ public class OpenstackIcmpHandler { | ... | @@ -322,7 +323,15 @@ public class OpenstackIcmpHandler { |
322 | case COMPLETE: | 323 | case COMPLETE: |
323 | if (node.type() == GATEWAY) { | 324 | if (node.type() == GATEWAY) { |
324 | log.info("GATEWAY node {} detected", node.hostname()); | 325 | log.info("GATEWAY node {} detected", node.hostname()); |
325 | - eventExecutor.execute(() -> requestPacket(appId)); | 326 | + eventExecutor.execute(() -> { |
327 | + GatewayNode gnode = GatewayNode.builder() | ||
328 | + .gatewayDeviceId(node.intBridge()) | ||
329 | + .dataIpAddress(node.dataIp().getIp4Address()) | ||
330 | + .uplinkIntf(node.externalPortName().get()) | ||
331 | + .build(); | ||
332 | + gatewayService.addGatewayNode(gnode); | ||
333 | + requestPacket(appId); | ||
334 | + }); | ||
326 | } | 335 | } |
327 | break; | 336 | break; |
328 | case INIT: | 337 | case INIT: | ... | ... |
... | @@ -481,6 +481,7 @@ public class OpenstackRoutingManager extends AbstractVmHandler implements Openst | ... | @@ -481,6 +481,7 @@ public class OpenstackRoutingManager extends AbstractVmHandler implements Openst |
481 | switch (event.type()) { | 481 | switch (event.type()) { |
482 | case COMPLETE: | 482 | case COMPLETE: |
483 | log.info("COMPLETE node {} detected", node.hostname()); | 483 | log.info("COMPLETE node {} detected", node.hostname()); |
484 | + eventExecutor.execute(() -> { | ||
484 | if (node.type() == GATEWAY) { | 485 | if (node.type() == GATEWAY) { |
485 | GatewayNode gnode = GatewayNode.builder() | 486 | GatewayNode gnode = GatewayNode.builder() |
486 | .gatewayDeviceId(node.intBridge()) | 487 | .gatewayDeviceId(node.intBridge()) |
... | @@ -489,7 +490,8 @@ public class OpenstackRoutingManager extends AbstractVmHandler implements Openst | ... | @@ -489,7 +490,8 @@ public class OpenstackRoutingManager extends AbstractVmHandler implements Openst |
489 | .build(); | 490 | .build(); |
490 | gatewayService.addGatewayNode(gnode); | 491 | gatewayService.addGatewayNode(gnode); |
491 | } | 492 | } |
492 | - eventExecutor.execute(OpenstackRoutingManager.this::reloadRoutingRules); | 493 | + reloadRoutingRules(); |
494 | + }); | ||
493 | break; | 495 | break; |
494 | case INIT: | 496 | case INIT: |
495 | case DEVICE_CREATED: | 497 | case DEVICE_CREATED: | ... | ... |
... | @@ -208,7 +208,7 @@ public class ScalableGatewayManager implements ScalableGatewayService { | ... | @@ -208,7 +208,7 @@ public class ScalableGatewayManager implements ScalableGatewayService { |
208 | } | 208 | } |
209 | 209 | ||
210 | @Override | 210 | @Override |
211 | - public boolean addGatewayNode(GatewayNode gatewayNode) { | 211 | + public synchronized boolean addGatewayNode(GatewayNode gatewayNode) { |
212 | Versioned<GatewayNode> existingNode = gatewayNodeMap.putIfAbsent( | 212 | Versioned<GatewayNode> existingNode = gatewayNodeMap.putIfAbsent( |
213 | gatewayNode.getGatewayDeviceId(), gatewayNode); | 213 | gatewayNode.getGatewayDeviceId(), gatewayNode); |
214 | if (existingNode == null) { | 214 | if (existingNode == null) { |
... | @@ -221,7 +221,7 @@ public class ScalableGatewayManager implements ScalableGatewayService { | ... | @@ -221,7 +221,7 @@ public class ScalableGatewayManager implements ScalableGatewayService { |
221 | } | 221 | } |
222 | 222 | ||
223 | @Override | 223 | @Override |
224 | - public boolean deleteGatewayNode(GatewayNode gatewayNode) { | 224 | + public synchronized boolean deleteGatewayNode(GatewayNode gatewayNode) { |
225 | boolean result = gatewayNodeMap.remove(gatewayNode.getGatewayDeviceId(), gatewayNode); | 225 | boolean result = gatewayNodeMap.remove(gatewayNode.getGatewayDeviceId(), gatewayNode); |
226 | if (result) { | 226 | if (result) { |
227 | updateGatewayGroup(gatewayNode, false); | 227 | updateGatewayGroup(gatewayNode, false); | ... | ... |
-
Please register or login to post a comment