61d63208b58934f61ff7bc0feeb21ab8a0c27d82
[releng/builder.git] / jjb / integration / include-raw-integration-configure-clustering.sh
1 echo "#################################################"
2 echo "##         Configure Cluster and Start         ##"
3 echo "#################################################"
4
5 AKKACONF=/tmp/${BUNDLEFOLDER}/configuration/initial/akka.conf
6 MODULESCONF=/tmp/${BUNDLEFOLDER}/configuration/initial/modules.conf
7 MODULESHARDSCONF=/tmp/${BUNDLEFOLDER}/configuration/initial/module-shards.conf
8 JOLOKIACONF=/tmp/${BUNDLEFOLDER}/deploy/jolokia.xml
9
10 cat > ${WORKSPACE}/configuration-script.sh <<EOF
11
12 CONTROLLERID="member-\$1"
13 CONTROLLERIP=\$2
14
15 echo "Configuring hostname in akka.conf"
16 sed -ie "s:{{HOST}}:\${CONTROLLERIP}:" ${AKKACONF}
17
18 echo "Configuring data seed nodes in akka.conf"
19 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
21 echo "Configuring rpc seed nodes in akka.conf"
22 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
24 echo "Define unique name in akka.conf"
25 sed -ie "s/{{MEMBER_NAME}}/\$CONTROLLERID/g" ${AKKACONF}
26
27 echo "Define replication type in module-shards.conf"
28 sed -ie "s/{{{REPLICAS_1}}}/[\"member-1\",\n\t\t\t\"member-2\",\n\t\t\t\"member-3\"]/g" ${MODULESHARDSCONF}
29 sed -ie "s/{{{REPLICAS_2}}}/[\"member-1\",\n\t\t\t\"member-2\",\n\t\t\t\"member-3\"]/g" ${MODULESHARDSCONF}
30 sed -ie "s/{{{REPLICAS_3}}}/[\"member-1\",\n\t\t\t\"member-2\",\n\t\t\t\"member-3\"]/g" ${MODULESHARDSCONF}
31 sed -ie "s/{{{REPLICAS_4}}}/[\"member-1\",\n\t\t\t\"member-2\",\n\t\t\t\"member-3\"]/g" ${MODULESHARDSCONF}
32
33 echo "Dump akka.conf"
34 cat ${AKKACONF}
35
36 echo "Dump modules.conf"
37 cat ${MODULESCONF}
38
39 echo "Dump module-shards.conf"
40 cat ${MODULESHARDSCONF}
41
42 echo "Starting controller..."
43 /tmp/${BUNDLEFOLDER}/bin/start
44
45 EOF
46
47 CONTROLLERIPS=(${CONTROLLER0} ${CONTROLLER1} ${CONTROLLER2})
48 for i in "${!CONTROLLERIPS[@]}"
49 do
50     echo "Configuring member-${i+1} with IP address ${CONTROLLERIPS[$i]}"
51     ssh ${CONTROLLERIPS[$i]} "mkdir /tmp/${BUNDLEFOLDER}/configuration/initial"
52     scp  ${WORKSPACE}/test/tools/clustering/cluster-deployer/templates/multi-node-test/akka.conf.template ${CONTROLLERIPS[$i]}:${AKKACONF}
53     scp  ${WORKSPACE}/test/tools/clustering/cluster-deployer/templates/multi-node-test/modules.conf.template ${CONTROLLERIPS[$i]}:${MODULESCONF}
54     scp  ${WORKSPACE}/test/tools/clustering/cluster-deployer/templates/multi-node-test/module-shards.conf.template ${CONTROLLERIPS[$i]}:${MODULESHARDSCONF}
55     scp  ${WORKSPACE}/test/tools/clustering/cluster-deployer/templates/multi-node-test/jolokia.xml.template ${CONTROLLERIPS[$i]}:${JOLOKIACONF}
56     scp  ${WORKSPACE}/configuration-script.sh    ${CONTROLLERIPS[$i]}:/tmp/
57     ssh ${CONTROLLERIPS[$i]} "bash /tmp/configuration-script.sh ${i+1} ${CONTROLLERIPS[$i]}"
58 done
59
60 # vim: ts=4 sw=4 sts=4 et ft=sh :
61