Fix: do not install default rules in gateway node
1. do not proceed without selectedGatewayNode having valid value
Change-Id: Ib092ab69360f7d985c5e52d9001a8e5f446cf6dc
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackFlowRuleManager.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackFlowRuleManager.java
index 19e52fc..44a032e 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackFlowRuleManager.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackFlowRuleManager.java
@@ -268,10 +268,11 @@
@Override
public boolean isRelevant(OpenstackNodeEvent event) {
- // do not allow to proceed without leadership
- NodeId leader = leadershipService.getLeader(appId.name());
- return Objects.equals(localNodeId, leader) &&
- event.subject().type().equals(COMPUTE);
+ return event.subject().type().equals(COMPUTE);
+ }
+
+ private boolean isRelevantHelper() {
+ return Objects.equals(localNodeId, leadershipService.getLeader(appId.name()));
}
@Override
@@ -282,6 +283,11 @@
case OPENSTACK_NODE_COMPLETE:
deviceEventExecutor.execute(() -> {
log.info("COMPLETE node {} is detected", osNode.hostname());
+
+ if (!isRelevantHelper()) {
+ return;
+ }
+
initializePipeline(osNode.intgBridge());
});
break;