Configurable clustername
- Configurable clustername for ZooKeeper, Hazelcast, RAMCloud
Change-Id: I2862c7667ece21733f95b25fad3840777314170d
diff --git a/src/main/java/net/onrc/onos/core/registry/ZookeeperRegistry.java b/src/main/java/net/onrc/onos/core/registry/ZookeeperRegistry.java
index 38ca110..7bc2a75 100644
--- a/src/main/java/net/onrc/onos/core/registry/ZookeeperRegistry.java
+++ b/src/main/java/net/onrc/onos/core/registry/ZookeeperRegistry.java
@@ -68,7 +68,12 @@
// configuration parameter
private String connectionString = "localhost:2181";
- private static final String NAMESPACE = "onos";
+ /**
+ * JVM Option to specify ZooKeeper namespace.
+ */
+ public static final String ZK_NAMESPACE_KEY = "zookeeper.namespace";
+ private static final String DEFAULT_NAMESPACE = "onos";
+ private String namespace = DEFAULT_NAMESPACE;
private static final String SWITCH_LATCHES_PATH = "/switches";
private static final String CLUSTER_LEADER_PATH = "/cluster/leader";
@@ -570,6 +575,12 @@
}
log.info("Setting Zookeeper connection string to {}", this.connectionString);
+ namespace = System.getProperty(ZK_NAMESPACE_KEY, DEFAULT_NAMESPACE).trim();
+ if (namespace.isEmpty()) {
+ namespace = DEFAULT_NAMESPACE;
+ }
+ log.info("Setting Zookeeper namespace to {}", namespace);
+
restApi = context.getServiceImpl(IRestApiService.class);
switches = new ConcurrentHashMap<String, SwitchLeadershipData>();
@@ -581,7 +592,7 @@
SESSION_TIMEOUT, CONNECTION_TIMEOUT, retryPolicy);
curatorFrameworkClient.start();
- curatorFrameworkClient = curatorFrameworkClient.usingNamespace(NAMESPACE);
+ curatorFrameworkClient = curatorFrameworkClient.usingNamespace(namespace);
distributedIdCounter = new DistributedAtomicLong(
curatorFrameworkClient,