X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fapex%2Fapex-deploy.sh;h=dc70488e764bc7b8cbf91e33a07b6e77031700c7;hb=6d968c18341cdd4dd9023bd973425ddfac7460f9;hp=24ed8484005ab4cc97b560ccaeeb159fbd98a080;hpb=308d62f20d0084d57a67c2c95466dbdee92ac92c;p=releng.git diff --git a/jjb/apex/apex-deploy.sh b/jjb/apex/apex-deploy.sh index 24ed84840..dc70488e7 100755 --- a/jjb/apex/apex-deploy.sh +++ b/jjb/apex/apex-deploy.sh @@ -3,7 +3,7 @@ set -o errexit set -o nounset set -o pipefail -APEX_PKGS="common undercloud opendaylight-sfc onos" +APEX_PKGS="common undercloud onos" IPV6_FLAG=False # log info to console @@ -15,7 +15,7 @@ if ! rpm -q wget > /dev/null; then sudo yum -y install wget fi -if [[ $BUILD_DIRECTORY == *verify* ]]; then +if [[ "$BUILD_DIRECTORY" == *verify* || "$BUILD_DIRECTORY" == *csit* ]]; then # Build is from a verify, use local build artifacts (not RPMs) cd $WORKSPACE/../${BUILD_DIRECTORY} WORKSPACE=$(pwd) @@ -54,26 +54,40 @@ else fi # source the file so we get OPNFV vars source opnfv.properties - RPM_INSTALL_PATH=$(echo $OPNFV_RPM_URL | sed 's/'"$(basename $OPNFV_RPM_URL)"'//') - RPM_LIST=$RPM_INSTALL_PATH/$(basename $OPNFV_RPM_URL) + RPM_INSTALL_PATH=$(echo "http://"$OPNFV_RPM_URL | sed 's/\/'"$(basename $OPNFV_RPM_URL)"'//') + RPM_LIST=${RPM_INSTALL_PATH}/$(basename $OPNFV_RPM_URL) fi fi if [ -z "$DEPLOY_SCENARIO" ]; then echo "Deploy scenario not set!" exit 1 +elif [[ "$DEPLOY_SCENARIO" == *gate* ]]; then + echo "Detecting Gating scenario..." + if [ -z "$GERRIT_EVENT_COMMENT_TEXT" ]; then + echo "ERROR: Gate job triggered without comment!" + exit 1 + else + DEPLOY_SCENARIO=$(echo ${GERRIT_EVENT_COMMENT_TEXT} | grep start-gate-scenario | grep -Eo 'os-.*$') + if [ -z "$DEPLOY_SCENARIO" ]; then + echo "ERROR: Unable to detect scenario in Gerrit Comment!" + echo "Format of comment to trigger gate should be 'start-gate-scenario: '" + exit 1 + else + echo "Gate scenario detected: ${DEPLOY_SCENARIO}" + fi + fi fi -# use local build for verify -if [[ "$BUILD_DIRECTORY" == *verify* ]]; then +# use local build for verify and csit promote +if [[ "$BUILD_DIRECTORY" == *verify* || "$BUILD_DIRECTORY" == *csit* ]]; then if [ ! -e "${WORKSPACE}/build/lib" ]; then ln -s ${WORKSPACE}/lib ${WORKSPACE}/build/lib fi DEPLOY_SETTINGS_DIR="${WORKSPACE}/config/deploy" NETWORK_SETTINGS_DIR="${WORKSPACE}/config/network" DEPLOY_CMD="$(pwd)/deploy.sh" - UTIL_CMD="$(pwd)/util.sh" - RESOURCES="${WORKSPACE}/build/images/" + RESOURCES="${WORKSPACE}/.build/" CONFIG="${WORKSPACE}/build" LIB="${WORKSPACE}/lib" # Make sure python34 deps are installed @@ -130,7 +144,6 @@ else DEPLOY_CMD=opnfv-deploy DEPLOY_SETTINGS_DIR="/etc/opnfv-apex/" - UTIL_CMD=opnfv-util NETWORK_SETTINGS_DIR="/etc/opnfv-apex/" RESOURCES="/var/opt/opnfv/images" CONFIG="/var/opt/opnfv" @@ -139,13 +152,17 @@ fi # set env vars to deploy cmd DEPLOY_CMD="CONFIG=${CONFIG} RESOURCES=${RESOURCES} LIB=${LIB} ${DEPLOY_CMD}" -UTIL_CMD="CONFIG=${CONFIG} RESOURCES=${RESOURCES} LIB=${LIB} ${UTIL_CMD}" if [ "$OPNFV_CLEAN" == 'yes' ]; then - if [[ "$BUILD_DIRECTORY" == *verify* ]]; then - sudo CONFIG=${CONFIG} LIB=${LIB} ./clean.sh + if sudo test -e '/root/inventory/pod_settings.yaml'; then + clean_opts='-i /root/inventory/pod_settings.yaml' else - sudo CONFIG=${CONFIG} LIB=${LIB} opnfv-clean + clean_opts='' + fi + if [[ "$BUILD_DIRECTORY" == *verify* || "$BUILD_DIRECTORY" == *csit* ]]; then + sudo CONFIG=${CONFIG} LIB=${LIB} ./clean.sh ${clean_opts} + else + sudo CONFIG=${CONFIG} LIB=${LIB} opnfv-clean ${clean_opts} fi fi @@ -166,14 +183,21 @@ if [[ "$JOB_NAME" == *virtual* ]]; then # settings for virtual deployment if [ "$IPV6_FLAG" == "True" ]; then NETWORK_FILE="${NETWORK_SETTINGS_DIR}/network_settings_v6.yaml" + elif echo ${DEPLOY_SCENARIO} | grep fdio; then + NETWORK_FILE="${NETWORK_SETTINGS_DIR}/network_settings_vpp.yaml" else NETWORK_FILE="${NETWORK_SETTINGS_DIR}/network_settings.yaml" fi DEPLOY_CMD="${DEPLOY_CMD} -v" + if [[ "$JOB_NAME" == *csit* ]]; then + DEPLOY_CMD="${DEPLOY_CMD} -e csit-environment.yaml --virtual-computes 2" + fi else # settings for bare metal deployment if [ "$IPV6_FLAG" == "True" ]; then NETWORK_FILE="/root/network/network_settings_v6.yaml" + elif [[ "$JOB_NAME" == *master* ]]; then + NETWORK_FILE="/root/network/network_settings-master.yaml" else NETWORK_FILE="/root/network/network_settings.yaml" fi @@ -193,12 +217,18 @@ if ! sudo test -e "$NETWORK_FILE"; then exit 1 fi -# mock detached state for deploy -sudo $UTIL_CMD mock-detached on # start deployment sudo ${DEPLOY_CMD} -d ${DEPLOY_FILE} -n ${NETWORK_FILE} --debug -# turn of mock detached state -sudo $UTIL_CMD mock-detached off + +if [[ "$JOB_NAME" == *csit* ]]; then + echo "CSIT job: setting host route for floating ip routing" + # csit route to allow docker container to reach floating ips + UNDERCLOUD=$(sudo virsh domifaddr undercloud | grep -Eo "[0-9\.]+{3}[0-9]+") + if sudo route | grep 192.168.37.128 > /dev/null; then + sudo route del -net 192.168.37.128 netmask 255.255.255.128 + fi + sudo route add -net 192.168.37.128 netmask 255.255.255.128 gw ${UNDERCLOUD} +fi echo echo "--------------------------------------------------------"