X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fintegration%2Finclude-raw-integration-configure-clustering.sh;h=85e2eee41b1ec48f8f86a8509f9c9af965813d13;hb=3ec970f35a9a5bc6f7d4b783f58d00c91c7ce389;hp=949bb5e0148fd2cf9943e1995e19824c607d88db;hpb=b2b18042a298c488839bec7014548a148cb54eeb;p=releng%2Fbuilder.git diff --git a/jjb/integration/include-raw-integration-configure-clustering.sh b/jjb/integration/include-raw-integration-configure-clustering.sh index 949bb5e01..85e2eee41 100644 --- a/jjb/integration/include-raw-integration-configure-clustering.sh +++ b/jjb/integration/include-raw-integration-configure-clustering.sh @@ -3,54 +3,160 @@ echo "## Configure Cluster and Start ##" echo "#################################################" AKKACONF=/tmp/${BUNDLEFOLDER}/configuration/initial/akka.conf +MODULESCONF=/tmp/${BUNDLEFOLDER}/configuration/initial/modules.conf MODULESHARDSCONF=/tmp/${BUNDLEFOLDER}/configuration/initial/module-shards.conf -JOLOKIACONF=/tmp/${BUNDLEFOLDER}/deploy/jolokia.xml +BGPCONF=/tmp/${BUNDLEFOLDER}/system/org/opendaylight/bgpcep/bgp-controller-config/*/bgp-controller-config-*-config-example.xml +CONTROLLERMEM="2048m" +if [ ${CONTROLLERSCOPE} == 'all' ]; then + ACTUALFEATURES="odl-integration-compatible-with-all,${CONTROLLERFEATURES}" + CONTROLLERMEM="3072m" +else + ACTUALFEATURES="${CONTROLLERFEATURES}" +fi +# Some versions of jenkins job builder result in feature list containing spaces +# and ending in newline. Remove all that. +ACTUALFEATURES=`echo "${ACTUALFEATURES}" | tr -d '\n \r'` + +# Utility function for joining strings. +function join { + delim=' ' + final=$1; shift + + for str in $* ; do + final=${final}${delim}${str} + done + + echo ${final} +} + +# Create the string for nodes +for i in `seq 1 ${NUM_ODL_SYSTEM}` ; do + CONTROLLERIP=ODL_SYSTEM_${i}_IP + nodes[$i]=${!CONTROLLERIP} +done + +nodes_list=$(join ${nodes[@]}) + +echo ${nodes_list} + +# Run script plan in case it exists +if [ -f ${WORKSPACE}/test/csit/scriptplans/${TESTPLAN} ]; then + echo "scriptplan exists!!!" + echo "Changing the scriptplan path..." + cat ${WORKSPACE}/test/csit/scriptplans/${TESTPLAN} | sed "s:integration:${WORKSPACE}:" > scriptplan.txt + cat scriptplan.txt + for line in $( egrep -v '(^[[:space:]]*#|^[[:space:]]*$)' scriptplan.txt ); do + echo "Executing ${line}..." + source ${line} + done +fi + +# Create the configuration script to be run on controllers. cat > ${WORKSPACE}/configuration-script.sh <> \${CUSTOMPROP} + cat \${CUSTOMPROP} +fi -echo "Configuring rpc seed nodes in akka.conf" -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} +echo "Configure java home and max memory..." +MEMCONF=/tmp/${BUNDLEFOLDER}/bin/setenv +sed -ie 's%^# export JAVA_HOME%export JAVA_HOME="\${JAVA_HOME:-${JAVA_HOME}}"%g' \${MEMCONF} +sed -ie 's/JAVA_MAX_MEM="2048m"/JAVA_MAX_MEM="${CONTROLLERMEM}"/g' \${MEMCONF} +cat \${MEMCONF} -echo "Define unique name in akka.conf" -sed -ie "s/{{MEMBER_NAME}}/\$CONTROLLERID/g" ${AKKACONF} +echo "Set Java version" +sudo /usr/sbin/alternatives --install /usr/bin/java java ${JAVA_HOME}/bin/java 1 +sudo /usr/sbin/alternatives --set java ${JAVA_HOME}/bin/java +echo "JDK default version ..." +java -version -echo "Define replication type in module-shards.conf" -sed -ie "s/{{{REPLICAS_1}}}/[\"member-0\",\n\t\t\t\"member-1\",\n\t\t\t\"member-2\"]/g" ${MODULESHARDSCONF} -sed -ie "s/{{{REPLICAS_2}}}/[\"member-0\",\n\t\t\t\"member-1\",\n\t\t\t\"member-2\"]/g" ${MODULESHARDSCONF} -sed -ie "s/{{{REPLICAS_3}}}/[\"member-0\",\n\t\t\t\"member-1\",\n\t\t\t\"member-2\"]/g" ${MODULESHARDSCONF} -sed -ie "s/{{{REPLICAS_4}}}/[\"member-0\",\n\t\t\t\"member-1\",\n\t\t\t\"member-2\"]/g" ${MODULESHARDSCONF} +echo "Set JAVA_HOME" +export JAVA_HOME="${JAVA_HOME}" +# Did you know that in HERE documents, single quote is an ordinary character, but backticks are still executing? +JAVA_RESOLVED=\`readlink -e "\${JAVA_HOME}/bin/java"\` +echo "Java binary pointed at by JAVA_HOME: \${JAVA_RESOLVED}" + +# Copy shard file if exists +if [ -f /tmp/custom_shard_config.txt ]; then + echo "Custom shard config exists!!!" + echo "Copying the shard config..." + cp /tmp/custom_shard_config.txt /tmp/${BUNDLEFOLDER}/bin/ +fi + +echo "Configuring cluster" +/tmp/${BUNDLEFOLDER}/bin/configure_cluster.sh \$1 ${nodes_list} + +echo "Update bgp configuration in 41-bgp-example.xml" +sed -i -e "s/example-bgp-rib/example-bgp-rib-\$1/g" ${BGPCONF} +sed -i -e "s/example-ipv4-topology/example-ipv4-topology-\$1/g" ${BGPCONF} +sed -i -e "s/example-ipv6-topology/example-ipv6-topology-\$1/g" ${BGPCONF} +sed -i -e "s/example-linkstate-topology/example-linkstate-topology-\$1/g" ${BGPCONF} + +echo "Dump ${BGPCONF}" +cat ${BGPCONF} echo "Dump akka.conf" cat ${AKKACONF} +echo "Dump modules.conf" +cat ${MODULESCONF} + echo "Dump module-shards.conf" cat ${MODULESHARDSCONF} +EOF + +# Create the startup script to be run on controllers. +cat > ${WORKSPACE}/startup-script.sh <