Merge "New optimized cluster deploy job:"
[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 MODULESHARDSCONF=/tmp/${BUNDLEFOLDER}/configuration/initial/module-shards.conf
7 JOLOKIACONF=/tmp/${BUNDLEFOLDER}/deploy/jolokia.xml
8
9 cat > ${WORKSPACE}/configuration-script.sh <<EOF
10
11 CONTROLLERID="member-\$1"
12 CONTROLLERIP=\$2
13
14 echo "Configuring hostname in akka.conf"
15 sed -ie "s:{{HOST}}:\${CONTROLLERIP}:" ${AKKACONF}
16
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}
19
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}
22
23 echo "Define unique name in akka.conf"
24 sed -ie "s/{{MEMBER_NAME}}/\$CONTROLLERID/g" ${AKKACONF}
25
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}
31
32 echo "Dump akka.conf"
33 cat ${AKKACONF}
34
35 echo "Dump module-shards.conf"
36 cat ${MODULESHARDSCONF}
37
38 echo "Starting controller..."
39 /tmp/${BUNDLEFOLDER}/bin/start
40
41 EOF
42
43 CONTROLLERIPS=(${CONTROLLER0} ${CONTROLLER1} ${CONTROLLER2})
44 for i in "${!CONTROLLERIPS[@]}"
45 do
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]}"
53 done
54
55 # vim: ts=4 sw=4 sts=4 et ft=sh :
56