4 echo "Usage: configure_geo_cluster.sh <member_index{1..6}> <primary_node> <secondary_node>"
11 CONF_DIR=/opt/opendaylight/current/configuration/initial
12 AKKACONF=${CONF_DIR}/akka.conf
13 MODULESCONF=${CONF_DIR}/modules.conf
14 MODULESHARDSCONF=${CONF_DIR}/module-shards.conf
16 CLUSTER_MASTER=$PRIMARY_NODE
31 CLUSTER_MASTER=$SECONDARY_NODE
35 CLUSTER_MASTER=$SECONDARY_NODE
39 CLUSTER_MASTER=$SECONDARY_NODE
42 echo "Usage: configure_geo_cluster.sh <primary_node{1..6}> <secondary_node>"
47 cat > $MODULESCONF << 'endModules'
52 namespace = "urn:opendaylight:inventory"
53 shard-strategy = "module"
57 namespace = "urn:TBD:params:xml:ns:yang:network-topology"
58 shard-strategy = "module"
62 namespace = "http://netconfcentral.org/ns/toaster"
63 shard-strategy = "module"
68 cat > $MODULESHARDSCONF << 'moduleShards'
75 replicas = ["member-1",
89 replicas = ["member-1",
103 replicas = ["member-1",
117 replicas = ["member-1",
129 cat > $AKKACONF << 'akkaFile'
136 canonical.hostname = CLUSTER_MASTER
137 canonical.port = 3026PORT_NUMBER
140 bind-hostname = MY_IP
143 hostname = CLUSTER_MASTER
144 port = 3026PORT_NUMBER
146 # when under load we might trip a false positive on the failure detector
147 # transport-failure-detector {
148 # heartbeat-interval = 4 s
149 # acceptable-heartbeat-pause = 16s
154 # Remove ".tcp" when using artery.
155 seed-nodes = ["akka.tcp://opendaylight-cluster-data@PRIMARY_NODE:30264",
156 "akka.tcp://opendaylight-cluster-data@PRIMARY_NODE:30265",
157 "akka.tcp://opendaylight-cluster-data@PRIMARY_NODE:30266",
158 "akka.tcp://opendaylight-cluster-data@SECONDARY_NODE:30264",
159 "akka.tcp://opendaylight-cluster-data@SECONDARY_NODE:30265",
160 "akka.tcp://opendaylight-cluster-data@SECONDARY_NODE:30266"]
162 roles = ["member-MEMBER_INDEX"]
167 # By default the snapshots/journal directories live in KARAF_HOME. You can choose to put it somewhere else by
168 # modifying the following two properties. The directory location specified may be a relative or absolute path.
169 # The relative path is always relative to KARAF_HOME.
171 # snapshot-store.local.dir = "target/snapshots"
172 # journal.leveldb.dir = "target/journal"
176 # Set native = off to use a Java-only implementation of leveldb.
177 # Note that the Java-only version is not currently considered by Akka to be production quality.
186 sed -i "s/CLUSTER_MASTER/${CLUSTER_MASTER}/" $AKKACONF
187 sed -i "s/PORT_NUMBER/${PORT_NUMBER}/" $AKKACONF
188 sed -i "s/MY_IP/${MY_IP}/" $AKKACONF
189 sed -i "s/PRIMARY_NODE/${PRIMARY_NODE}/" $AKKACONF
190 sed -i "s/SECONDARY_NODE/${SECONDARY_NODE}/" $AKKACONF
191 sed -i "s/MEMBER_INDEX/${MEMBER_INDEX}/" $AKKACONF