Support to inject custom controller info through openstacknode
Change-Id: I3a545477b99f515b9e35ee0e7d5aaa03d979eaf7
diff --git a/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/DefaultOpenstackNodeHandler.java b/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/DefaultOpenstackNodeHandler.java
index dc879d8..06b65a3 100644
--- a/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/DefaultOpenstackNodeHandler.java
+++ b/apps/openstacknode/app/src/main/java/org/onosproject/openstacknode/impl/DefaultOpenstackNodeHandler.java
@@ -256,13 +256,19 @@
return;
}
- Set<IpAddress> controllerIps = clusterService.getNodes().stream()
+ List<ControllerInfo> controllers;
+
+ if (osNode.controllers() != null && osNode.controllers().size() > 0) {
+ controllers = (List<ControllerInfo>) osNode.controllers();
+ } else {
+ Set<IpAddress> controllerIps = clusterService.getNodes().stream()
.map(ControllerNode::ip)
.collect(Collectors.toSet());
- List<ControllerInfo> controllers = controllerIps.stream()
- .map(ip -> new ControllerInfo(ip, DEFAULT_OFPORT, DEFAULT_OF_PROTO))
- .collect(Collectors.toList());
+ controllers = controllerIps.stream()
+ .map(ip -> new ControllerInfo(ip, DEFAULT_OFPORT, DEFAULT_OF_PROTO))
+ .collect(Collectors.toList());
+ }
String dpid = deviceId.toString().substring(DPID_BEGIN);