1 echo "#################################################"
2 echo "## Configure Cluster and Start ##"
3 echo "#################################################"
5 AKKACONF=/tmp/${BUNDLEFOLDER}/configuration/initial/akka.conf
6 MODULESHARDSCONF=/tmp/${BUNDLEFOLDER}/configuration/initial/module-shards.conf
7 JOLOKIACONF=/tmp/${BUNDLEFOLDER}/deploy/jolokia.xml
9 cat > ${WORKSPACE}/configuration-script.sh <<EOF
11 CONTROLLERID="member-\$1"
14 echo "Configuring hostname in akka.conf"
15 sed -ie "s:{{HOST}}:\${CONTROLLERIP}:" ${AKKACONF}
17 echo "Configuring data seed nodes in akka.conf"
18 sed -ie "s/{{{DS_SEED_NODES}}}/[\"akka.tcp:\/\/opendaylight-cluster-data@$CONTROLLER0:2550\",\"akka.tcp:\/\/opendaylight-cluster-data@$CONTROLLER1:2550\",\"akka.tcp:\/\/opendaylight-cluster-data@$CONTROLLER2:2550\"]/g" ${AKKACONF}
20 echo "Configuring rpc seed nodes in akka.conf"
21 sed -ie "s/{{{RPC_SEED_NODES}}}/[\"akka.tcp:\/\/odl-cluster-rpc@$CONTROLLER0:2551\",\"akka.tcp:\/\/odl-cluster-rpc@$CONTROLLER1:2551\",\"akka.tcp:\/\/odl-cluster-rpc@$CONTROLLER2:2551\"]/g" ${AKKACONF}
23 echo "Define unique name in akka.conf"
24 sed -ie "s/{{MEMBER_NAME}}/\$CONTROLLERID/g" ${AKKACONF}
26 echo "Define replication type in module-shards.conf"
27 sed -ie "s/{{{REPLICAS_1}}}/[\"member-0\",\n\t\t\t\"member-1\",\n\t\t\t\"member-2\"]/g" ${MODULESHARDSCONF}
28 sed -ie "s/{{{REPLICAS_2}}}/[\"member-0\",\n\t\t\t\"member-1\",\n\t\t\t\"member-2\"]/g" ${MODULESHARDSCONF}
29 sed -ie "s/{{{REPLICAS_3}}}/[\"member-0\",\n\t\t\t\"member-1\",\n\t\t\t\"member-2\"]/g" ${MODULESHARDSCONF}
30 sed -ie "s/{{{REPLICAS_4}}}/[\"member-0\",\n\t\t\t\"member-1\",\n\t\t\t\"member-2\"]/g" ${MODULESHARDSCONF}
35 echo "Dump module-shards.conf"
36 cat ${MODULESHARDSCONF}
38 echo "Starting controller..."
39 /tmp/${BUNDLEFOLDER}/bin/start
43 CONTROLLERIPS=(${CONTROLLER0} ${CONTROLLER1} ${CONTROLLER2})
44 for i in "${!CONTROLLERIPS[@]}"
46 echo "Configuring member-$i with IP address ${CONTROLLERIPS[$i]}"
47 ssh ${CONTROLLERIPS[$i]} "mkdir /tmp/${BUNDLEFOLDER}/configuration/initial"
48 scp ${WORKSPACE}/test/tools/clustering/cluster-deployer/templates/multi-node-test/akka.conf.template ${CONTROLLERIPS[$i]}:${AKKACONF}
49 scp ${WORKSPACE}/test/tools/clustering/cluster-deployer/templates/multi-node-test/module-shards.conf.template ${CONTROLLERIPS[$i]}:${MODULESHARDSCONF}
50 scp ${WORKSPACE}/test/tools/clustering/cluster-deployer/templates/multi-node-test/jolokia.xml.template ${CONTROLLERIPS[$i]}:${JOLOKIACONF}
51 scp ${WORKSPACE}/configuration-script.sh ${CONTROLLERIPS[$i]}:/tmp/
52 ssh ${CONTROLLERIPS[$i]} "bash /tmp/configuration-script.sh $i ${CONTROLLERIPS[$i]}"
55 # vim: ts=4 sw=4 sts=4 et ft=sh :