X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fintegration%2Finclude-raw-integration-get-slave-addresses.sh;h=22d35bcf6fb93819987ad78eff7813e813bd5bac;hb=bdf8b630e2cd60dbb3ba59a3009a4fbdb8c04e57;hp=c077df3e8f4cf957ba52ca9c74d9c2676830d2cf;hpb=6b812c1a38b56101b15babe2efc8b877b54cdca9;p=releng%2Fbuilder.git diff --git a/jjb/integration/include-raw-integration-get-slave-addresses.sh b/jjb/integration/include-raw-integration-get-slave-addresses.sh index c077df3e8..22d35bcf6 100644 --- a/jjb/integration/include-raw-integration-get-slave-addresses.sh +++ b/jjb/integration/include-raw-integration-get-slave-addresses.sh @@ -1,32 +1,81 @@ +#!/bin/bash # Get the Controller and Tools VM slave addresses ODL_SYSTEM=() TOOLS_SYSTEM=() +OPENSTACK_SYSTEM=() +[ "$NUM_OPENSTACK_SITES" ] || NUM_OPENSTACK_SITES=1 -IFS=',' read -ra ADDR <<< "${JCLOUDS_IPS}" +OPENSTACK_VENV="/tmp/v/openstack" +# shellcheck source=/tmp/v/openstack/bin/activate disable=SC1091 +source $OPENSTACK_VENV/bin/activate + +ADDR=($(openstack stack show -f json -c outputs "$STACK_NAME" | \ + jq -r '.outputs[] | select(.output_key | match("^vm_[0-9]+_ips$")) | .output_value | .[]')) for i in "${ADDR[@]}" do - REMHOST=`ssh ${i} hostname` - if [ `echo ${REMHOST} | grep java` ]; then - ODL_SYSTEM=( "${ODL_SYSTEM[@]}" "${i}" ) - else - TOOLS_SYSTEM=( "${TOOLS_SYSTEM[@]}" "${i}" ) - fi + REMHOST=$(ssh "${i}" hostname) + case ${REMHOST} in + *java*) + ODL_SYSTEM=( "${ODL_SYSTEM[@]}" "${i}" ) + ;; + *devstack*) + OPENSTACK_SYSTEM=( "${OPENSTACK_SYSTEM[@]}" "${i}" ) + ;; + *) + TOOLS_SYSTEM=( "${TOOLS_SYSTEM[@]}" "${i}" ) + ;; + esac done +echo "NUM_ODL_SYSTEM=${#ODL_SYSTEM[@]}" >> slave_addresses.txt +echo "NUM_TOOLS_SYSTEM=${#TOOLS_SYSTEM[@]}" >> slave_addresses.txt +#if HA Proxy is requested the last devstack node will be configured as haproxy +if [ "${ENABLE_HAPROXY_FOR_NEUTRON}" == "yes" ]; then + # HA Proxy is installed on one OPENSTACK_SYSTEM VM on each site + NUM_OPENSTACK_SYSTEM=$(( ${#OPENSTACK_SYSTEM[@]} - NUM_OPENSTACK_SITES )) +else + NUM_OPENSTACK_SYSTEM=${#OPENSTACK_SYSTEM[@]} +fi +echo "NUM_OPENSTACK_SYSTEM=${NUM_OPENSTACK_SYSTEM}" >> slave_addresses.txt + # Add alias for ODL_SYSTEM_1_IP as ODL_SYSTEM_IP echo "ODL_SYSTEM_IP=${ODL_SYSTEM[0]}" >> slave_addresses.txt -for i in `seq 0 $(( ${#ODL_SYSTEM[@]} - 1 ))` +for i in $(seq 0 $(( ${#ODL_SYSTEM[@]} - 1 ))) do echo "ODL_SYSTEM_$((i+1))_IP=${ODL_SYSTEM[${i}]}" >> slave_addresses.txt done # Add alias for TOOLS_SYSTEM_1_IP as TOOLS_SYSTEM_IP echo "TOOLS_SYSTEM_IP=${TOOLS_SYSTEM[0]}" >> slave_addresses.txt -for i in `seq 0 $(( ${#TOOLS_SYSTEM[@]} - 1 ))` +for i in $(seq 0 $(( ${#TOOLS_SYSTEM[@]} - 1 ))) do echo "TOOLS_SYSTEM_$((i+1))_IP=${TOOLS_SYSTEM[${i}]}" >> slave_addresses.txt done +openstack_index=0 +# Assuming number of openstack control nodes equals number of openstack sites +NUM_OPENSTACK_CONTROL_NODES=$(( NUM_OPENSTACK_SITES )) +echo "NUM_OPENSTACK_CONTROL_NODES=${NUM_OPENSTACK_CONTROL_NODES}" >> slave_addresses.txt +for i in $(seq 0 $((NUM_OPENSTACK_CONTROL_NODES - 1))) +do + echo "OPENSTACK_CONTROL_NODE_$((i+1))_IP=${OPENSTACK_SYSTEM[$((openstack_index++))]}" >> slave_addresses.txt +done + +# The rest of the openstack nodes until NUM_OPENSTACK_SYSTEM are computes +NUM_OPENSTACK_COMPUTE_NODES=$(( NUM_OPENSTACK_SYSTEM - NUM_OPENSTACK_CONTROL_NODES )) +echo "NUM_OPENSTACK_COMPUTE_NODES=${NUM_OPENSTACK_COMPUTE_NODES}" >> slave_addresses.txt +for i in $(seq 0 $((NUM_OPENSTACK_COMPUTE_NODES - 1))) +do + echo "OPENSTACK_COMPUTE_NODE_$((i+1))_IP=${OPENSTACK_SYSTEM[$((openstack_index++))]}" >> slave_addresses.txt +done + +# The remaining openstack nodes are haproxy nodes (for ODL cluster) +NUM_OPENSTACK_HAPROXY_NODES=$(( ${#OPENSTACK_SYSTEM[@]} - NUM_OPENSTACK_SYSTEM )) +echo "NUM_OPENSTACK_HAPROXY_NODES=${NUM_OPENSTACK_HAPROXY_NODES}" >> slave_addresses.txt +for i in $(seq 0 $((NUM_OPENSTACK_HAPROXY_NODES - 1))) +do + echo "OPENSTACK_HAPROXY_$((i+1))_IP=${OPENSTACK_SYSTEM[$((openstack_index++))]}" >> slave_addresses.txt +done # vim: sw=4 ts=4 sts=4 et ft=sh :