diff options
28 files changed, 383 insertions, 71 deletions
diff --git a/jjb/apex/apex-deploy.sh b/jjb/apex/apex-deploy.sh index c6cfb26d1..24ed84840 100755 --- a/jjb/apex/apex-deploy.sh +++ b/jjb/apex/apex-deploy.sh @@ -72,6 +72,7 @@ if [[ "$BUILD_DIRECTORY" == *verify* ]]; then 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/" CONFIG="${WORKSPACE}/build" LIB="${WORKSPACE}/lib" @@ -129,6 +130,7 @@ 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" @@ -137,6 +139,7 @@ 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 @@ -190,8 +193,12 @@ 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 echo echo "--------------------------------------------------------" diff --git a/jjb/armband/armband-ci-jobs.yml b/jjb/armband/armband-ci-jobs.yml index 9d7c198d0..03c1fb074 100644 --- a/jjb/armband/armband-ci-jobs.yml +++ b/jjb/armband/armband-ci-jobs.yml @@ -39,17 +39,17 @@ scenario: # HA scenarios - 'os-nosdn-nofeature-ha': - auto-trigger-name: 'daily-trigger-disabled' + auto-trigger-name: 'armband-{scenario}-{pod}-{stream}-trigger' - 'os-odl_l2-nofeature-ha': auto-trigger-name: 'armband-{scenario}-{pod}-{stream}-trigger' - 'os-odl_l3-nofeature-ha': - auto-trigger-name: 'daily-trigger-disabled' + auto-trigger-name: 'armband-{scenario}-{pod}-{stream}-trigger' - 'os-odl_l2-bgpvpn-ha': - auto-trigger-name: 'daily-trigger-disabled' + auto-trigger-name: 'armband-{scenario}-{pod}-{stream}-trigger' # NOHA scenarios - 'os-odl_l2-nofeature-noha': - auto-trigger-name: 'daily-trigger-disabled' + auto-trigger-name: 'armband-{scenario}-{pod}-{stream}-trigger' jobs: - 'armband-{scenario}-{pod}-daily-{stream}' @@ -190,11 +190,26 @@ #---------------------------------------------------------- # Enea Armband POD 1 Triggers running against master branch #---------------------------------------------------------- -# No triggers for master for now - trigger: name: 'armband-os-odl_l2-nofeature-ha-arm-pod1-master-trigger' triggers: - - timed: '' + - timed: '0 3 * * 1,4' +- trigger: + name: 'armband-os-nosdn-nofeature-ha-arm-pod1-master-trigger' + triggers: + - timed: '0 15 * * 1,4' +- trigger: + name: 'armband-os-odl_l3-nofeature-ha-arm-pod1-master-trigger' + triggers: + - timed: '0 3 * * 2,5' +- trigger: + name: 'armband-os-odl_l2-bgpvpn-ha-arm-pod1-master-trigger' + triggers: + - timed: '0 15 * * 2,5' +- trigger: + name: 'armband-os-odl_l2-nofeature-noha-arm-pod1-master-trigger' + triggers: + - timed: '0 3 * * 3,6' #--------------------------------------------------------------- # Enea Armband POD 1 Triggers running against brahmaputra branch #--------------------------------------------------------------- @@ -202,6 +217,22 @@ name: 'armband-os-odl_l2-nofeature-ha-arm-pod1-brahmaputra-trigger' triggers: - timed: '' +- trigger: + name: 'armband-os-nosdn-nofeature-ha-arm-pod1-brahmaputra-trigger' + triggers: + - timed: '' +- trigger: + name: 'armband-os-odl_l3-nofeature-ha-arm-pod1-brahmaputra-trigger' + triggers: + - timed: '' +- trigger: + name: 'armband-os-odl_l2-bgpvpn-ha-arm-pod1-brahmaputra-trigger' + triggers: + - timed: '' +- trigger: + name: 'armband-os-odl_l2-nofeature-noha-arm-pod1-brahmaputra-trigger' + triggers: + - timed: '' #---------------------------------------------------------- # Enea Armband POD 2 Triggers running against master branch #---------------------------------------------------------- @@ -210,6 +241,22 @@ name: 'armband-os-odl_l2-nofeature-ha-arm-pod2-master-trigger' triggers: - timed: '' +- trigger: + name: 'armband-os-nosdn-nofeature-ha-arm-pod2-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'armband-os-odl_l3-nofeature-ha-arm-pod2-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'armband-os-odl_l2-bgpvpn-ha-arm-pod2-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'armband-os-odl_l2-nofeature-noha-arm-pod2-master-trigger' + triggers: + - timed: '' #--------------------------------------------------------------- # Enea Armband POD 2 Triggers running against brahmaputra branch #--------------------------------------------------------------- @@ -217,3 +264,19 @@ name: 'armband-os-odl_l2-nofeature-ha-arm-pod2-brahmaputra-trigger' triggers: - timed: '' +- trigger: + name: 'armband-os-nosdn-nofeature-ha-arm-pod2-brahmaputra-trigger' + triggers: + - timed: '' +- trigger: + name: 'armband-os-odl_l3-nofeature-ha-arm-pod2-brahmaputra-trigger' + triggers: + - timed: '' +- trigger: + name: 'armband-os-odl_l2-bgpvpn-ha-arm-pod2-brahmaputra-trigger' + triggers: + - timed: '' +- trigger: + name: 'armband-os-odl_l2-nofeature-noha-arm-pod2-brahmaputra-trigger' + triggers: + - timed: '' diff --git a/jjb/armband/build.sh b/jjb/armband/build.sh index 81917f6de..26c46d2fc 100755 --- a/jjb/armband/build.sh +++ b/jjb/armband/build.sh @@ -1,6 +1,8 @@ #!/bin/bash +# SPDX-license-identifier: Apache-2.0 ############################################################################## # Copyright (c) 2016 Ericsson AB and others. +# Copyright (c) 2016 Enea AB. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Apache License, Version 2.0 # which accompanies this distribution, and is available at @@ -12,14 +14,49 @@ set -o pipefail cd $WORKSPACE +# remove the expired items from cache +test -f $WORKSPACE/ci/clean_cache.sh && $WORKSPACE/ci/clean_cache.sh $CACHE_DIRECTORY + +LATEST_ISO_PROPERTIES=$WORKSPACE/latest.iso.properties +if [[ "$JOB_NAME" =~ "daily" ]]; then + # check to see if we already have an artifact on artifacts.opnfv.org + # for this commit during daily builds + echo "Checking to see if we already built and stored Armband Fuel ISO for this commit" + + curl -s -o $LATEST_ISO_PROPERTIES http://$GS_URL/latest.properties 2>/dev/null + + # get metadata of latest ISO + LATEST_ISO_SHA1=$(grep OPNFV_GIT_SHA1 $LATEST_ISO_PROPERTIES | cut -d'=' -f2) + LATEST_ISO_URL=$(grep OPNFV_ARTIFACT_URL $LATEST_ISO_PROPERTIES | cut -d'=' -f2) +else + LATEST_ISO_SHA1=none +fi + # get current SHA1 CURRENT_SHA1=$(git rev-parse HEAD) +# set FORCE_BUILD to false for non-daily builds +FORCE_BUILD=${FORCE_BUILD:-false} + +if [[ "$CURRENT_SHA1" == "$LATEST_ISO_SHA1" && "$FORCE_BUILD" == "false" ]]; then + echo "***************************************************" + echo " An ISO has already been built for this commit" + echo " $LATEST_ISO_URL" + echo "***************************************************" +else + echo "This commit has not been built yet or forced build! Proceeding with the build." + /bin/rm -f $LATEST_ISO_PROPERTIES + echo +fi + # log info to console -echo "Starting the build of Armband. This could take some time..." +echo "Starting the build of Armband $INSTALLER_TYPE. This could take some time..." echo "-----------------------------------------------------------" echo +# create the cache directory if it doesn't exist +mkdir -p $CACHE_DIRECTORY + # set OPNFV_ARTIFACT_VERSION if [[ "$JOB_NAME" =~ "merge" ]]; then echo "Building Fuel ISO for a merged change" @@ -39,7 +76,7 @@ NOCACHE_ARG=${NOCACHE_ARG:-} # start the build cd $WORKSPACE/ci -./build.sh $BUILD_DIRECTORY +./build.sh -v $OPNFV_ARTIFACT_VERSION $NOCACHE_ARG -c file://$CACHE_DIRECTORY $BUILD_DIRECTORY # list the build artifacts ls -al $BUILD_DIRECTORY diff --git a/jjb/compass4nfv/compass-ci-jobs.yml b/jjb/compass4nfv/compass-ci-jobs.yml index 500984ada..eb30004d1 100644 --- a/jjb/compass4nfv/compass-ci-jobs.yml +++ b/jjb/compass4nfv/compass-ci-jobs.yml @@ -63,7 +63,7 @@ - 'os-onos-sfc-ha': disabled: false auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger' - - 'os-odl_l2-moon-noha': + - 'os-odl_l2-moon-ha': disabled: false auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger' - 'os-nosdn-kvm-ha': @@ -238,7 +238,7 @@ - trigger: name: 'compass-os-nosdn-nofeature-ha-huawei-pod2-master-trigger' triggers: - - timed: '0 3 * * *' + - timed: '0 19 * * *' - trigger: name: 'compass-os-odl_l2-nofeature-ha-huawei-pod2-master-trigger' triggers: @@ -246,11 +246,11 @@ - trigger: name: 'compass-os-odl_l3-nofeature-ha-huawei-pod2-master-trigger' triggers: - - timed: '0 19 * * *' + - timed: '0 15 * * *' - trigger: name: 'compass-os-onos-nofeature-ha-huawei-pod2-master-trigger' triggers: - - timed: '0 15 * * *' + - timed: '' - trigger: name: 'compass-os-ocl-nofeature-ha-huawei-pod2-master-trigger' triggers: @@ -258,9 +258,9 @@ - trigger: name: 'compass-os-onos-sfc-ha-huawei-pod2-master-trigger' triggers: - - timed: '0 7 * * *' + - timed: '' - trigger: - name: 'compass-os-odl_l2-moon-noha-huawei-pod2-master-trigger' + name: 'compass-os-odl_l2-moon-ha-huawei-pod2-master-trigger' triggers: - timed: '' - trigger: @@ -271,29 +271,29 @@ - trigger: name: 'compass-os-nosdn-nofeature-ha-baremetal-master-trigger' triggers: - - timed: '0 3 * * *' + - timed: '0 2 * * *' - trigger: name: 'compass-os-odl_l2-nofeature-ha-baremetal-master-trigger' triggers: - - timed: '0 23 * * *' + - timed: '0 22 * * *' - trigger: name: 'compass-os-odl_l3-nofeature-ha-baremetal-master-trigger' triggers: - - timed: '0 19 * * *' + - timed: '0 18 * * *' - trigger: name: 'compass-os-onos-nofeature-ha-baremetal-master-trigger' triggers: - - timed: '0 15 * * *' + - timed: '0 14 * * *' - trigger: name: 'compass-os-ocl-nofeature-ha-baremetal-master-trigger' triggers: - - timed: '0 11 * * *' + - timed: '0 10 * * *' - trigger: name: 'compass-os-onos-sfc-ha-baremetal-master-trigger' triggers: - - timed: '0 7 * * *' + - timed: '0 6 * * *' - trigger: - name: 'compass-os-odl_l2-moon-noha-baremetal-master-trigger' + name: 'compass-os-odl_l2-moon-ha-baremetal-master-trigger' triggers: - timed: '' - trigger: @@ -326,7 +326,7 @@ triggers: - timed: '' - trigger: - name: 'compass-os-odl_l2-moon-noha-baremetal-brahmaputra-trigger' + name: 'compass-os-odl_l2-moon-ha-baremetal-brahmaputra-trigger' triggers: - timed: '' - trigger: @@ -337,11 +337,11 @@ - trigger: name: 'compass-os-nosdn-nofeature-ha-virtual-master-trigger' triggers: - - timed: '0 3 * * *' + - timed: '0 21 * * *' - trigger: name: 'compass-os-odl_l2-nofeature-ha-virtual-master-trigger' triggers: - - timed: '0 23 * * *' + - timed: '0 20 * * *' - trigger: name: 'compass-os-odl_l3-nofeature-ha-virtual-master-trigger' triggers: @@ -349,19 +349,19 @@ - trigger: name: 'compass-os-onos-nofeature-ha-virtual-master-trigger' triggers: - - timed: '0 15 * * *' + - timed: '0 18 * * *' - trigger: name: 'compass-os-ocl-nofeature-ha-virtual-master-trigger' triggers: - - timed: '0 11 * * *' + - timed: '0 16 * * *' - trigger: name: 'compass-os-onos-sfc-ha-virtual-master-trigger' triggers: - - timed: '0 7 * * *' + - timed: '0 15 * * *' - trigger: - name: 'compass-os-odl_l2-moon-noha-virtual-master-trigger' + name: 'compass-os-odl_l2-moon-ha-virtual-master-trigger' triggers: - - timed: '' + - timed: '0 14 * * *' - trigger: name: 'compass-os-nosdn-kvm-ha-virtual-master-trigger' triggers: @@ -392,7 +392,7 @@ triggers: - timed: '' - trigger: - name: 'compass-os-odl_l2-moon-noha-virtual-brahmaputra-trigger' + name: 'compass-os-odl_l2-moon-ha-virtual-brahmaputra-trigger' triggers: - timed: '' - trigger: diff --git a/jjb/fuel/fuel-ci-jobs.yml b/jjb/fuel/fuel-ci-jobs.yml index aa5a72751..b9e201d46 100644 --- a/jjb/fuel/fuel-ci-jobs.yml +++ b/jjb/fuel/fuel-ci-jobs.yml @@ -32,6 +32,9 @@ - zte-pod1: slave-label: zte-pod1 <<: *master + - zte-pod3: + slave-label: zte-pod3 + <<: *master #-------------------------------- # scenarios #-------------------------------- @@ -272,7 +275,7 @@ - trigger: name: 'fuel-os-nosdn-ovs-ha-baremetal-daily-master-trigger' triggers: - - timed: '' + - timed: '0 20 * * *' # NOHA Scenarios - trigger: @@ -388,6 +391,7 @@ name: 'fuel-os-nosdn-ovs-noha-virtual-daily-master-trigger' triggers: - timed: '0 9 * * *' + #----------------------------------------------- # ZTE POD1 Triggers running against master branch #----------------------------------------------- @@ -464,3 +468,80 @@ name: 'fuel-os-nosdn-ovs-noha-zte-pod1-daily-master-trigger' triggers: - timed: '' + +#----------------------------------------------- +# ZTE POD3 Triggers running against master branch +#----------------------------------------------- +- trigger: + name: 'fuel-os-nosdn-nofeature-ha-zte-pod3-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-odl_l2-nofeature-ha-zte-pod3-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-odl_l3-nofeature-ha-zte-pod3-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-onos-sfc-ha-zte-pod3-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-onos-nofeature-ha-zte-pod3-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-odl_l2-bgpvpn-ha-zte-pod3-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-odl_l2-sfc-ha-zte-pod3-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-kvm-ha-zte-pod3-daily-master-trigger' + triggers: + - timed: '0 10 * * *' +- trigger: + name: 'fuel-os-nosdn-ovs-ha-zte-pod3-daily-master-trigger' + triggers: + - timed: '' +# NOHA Scenarios +- trigger: + name: 'fuel-os-nosdn-nofeature-noha-zte-pod3-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-odl_l2-nofeature-noha-zte-pod3-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-odl_l3-nofeature-noha-zte-pod3-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-onos-sfc-noha-zte-pod3-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-onos-nofeature-noha-zte-pod3-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-odl_l2-sfc-noha-zte-pod3-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-odl_l2-bgpvpn-noha-zte-pod3-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-kvm-noha-zte-pod3-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-ovs-noha-zte-pod3-daily-master-trigger' + triggers: + - timed: ''
\ No newline at end of file diff --git a/jjb/fuel/fuel-deploy.sh b/jjb/fuel/fuel-deploy.sh index c30041711..730f0d116 100755 --- a/jjb/fuel/fuel-deploy.sh +++ b/jjb/fuel/fuel-deploy.sh @@ -29,7 +29,7 @@ fi # set deployment parameters export TMPDIR=$HOME/tmpdir -BRIDGE=pxebr +BRIDGE=${BRIDGE:-pxebr} LAB_NAME=${NODE_NAME/-*} POD_NAME=${NODE_NAME/*-} diff --git a/jjb/fuel/fuel-download-artifact.sh b/jjb/fuel/fuel-download-artifact.sh index d78ddc5ba..5685444f8 100755 --- a/jjb/fuel/fuel-download-artifact.sh +++ b/jjb/fuel/fuel-download-artifact.sh @@ -10,6 +10,9 @@ set -o errexit set -o pipefail +# use proxy url to replace the nomral URL, for googleusercontent.com will be blocked randomly +[[ "$NODE_NAME" =~ (zte) ]] && GS_URL=$GS_BASE_PROXY + if [[ "$JOB_NAME" =~ "merge" ]]; then echo "Downloading http://$GS_URL/opnfv-gerrit-$GERRIT_CHANGE_NUMBER.properties" # get the properties file for the Fuel ISO built for a merged change @@ -47,6 +50,8 @@ if [[ ! "$JOB_NAME" =~ (verify|merge) ]]; then fi fi +[[ "$NODE_NAME" =~ (zte) ]] && OPNFV_ARTIFACT_URL=${GS_BASE_PROXY%%/*}/$OPNFV_ARTIFACT_URL + # log info to console echo "Downloading the $INSTALLER_TYPE artifact using URL http://$OPNFV_ARTIFACT_URL" echo "This could take some time..." diff --git a/jjb/functest/functest-ci-jobs.yml b/jjb/functest/functest-ci-jobs.yml index 2917e5b39..e88197de8 100644 --- a/jjb/functest/functest-ci-jobs.yml +++ b/jjb/functest/functest-ci-jobs.yml @@ -222,6 +222,7 @@ - 'rally_full' - 'vims' - 'multisite' + - 'parser' - parameter: name: functest-parameter parameters: diff --git a/jjb/joid/joid-ci-jobs.yml b/jjb/joid/joid-ci-jobs.yml index ae03eab4a..1c998c9c4 100644 --- a/jjb/joid/joid-ci-jobs.yml +++ b/jjb/joid/joid-ci-jobs.yml @@ -253,7 +253,7 @@ - trigger: name: 'joid-os-odl_l2-nofeature-ha-baremetal-master-trigger' triggers: - - timed: '0 10 * * *' + - timed: '0 7 * * *' - trigger: name: 'joid-os-odl_l2-nofeature-ha-virtual-master-trigger' triggers: @@ -289,7 +289,7 @@ - trigger: name: 'joid-os-onos-nofeature-ha-baremetal-master-trigger' triggers: - - timed: '0 18 * * *' + - timed: '0 12 * * *' - trigger: name: 'joid-os-onos-nofeature-ha-virtual-master-trigger' triggers: @@ -307,7 +307,7 @@ - trigger: name: 'joid-os-onos-sfc-ha-baremetal-master-trigger' triggers: - - timed: '0 22 * * *' + - timed: '0 17 * * *' - trigger: name: 'joid-os-onos-sfc-ha-virtual-master-trigger' triggers: @@ -359,7 +359,7 @@ - trigger: name: 'joid-os-nosdn-lxd-noha-baremetal-master-trigger' triggers: - - timed: '' + - timed: '0 22 * * *' - trigger: name: 'joid-os-nosdn-lxd-noha-virtual-master-trigger' triggers: @@ -395,7 +395,7 @@ - trigger: name: 'joid-os-nosdn-lxd-ha-baremetal-master-trigger' triggers: - - timed: '' + - timed: '0 10 * * *' - trigger: name: 'joid-os-nosdn-lxd-ha-virtual-master-trigger' triggers: diff --git a/jjb/joid/joid-deploy.sh b/jjb/joid/joid-deploy.sh index 4b8e3ffda..da3676e28 100644 --- a/jjb/joid/joid-deploy.sh +++ b/jjb/joid/joid-deploy.sh @@ -83,7 +83,7 @@ else sed -i -- "s/user: ubuntu/user: $MAAS_USER/" $MAASCONFIG sed -i -- "s/password: ubuntu/password: $MAAS_PASSWORD/" $MAASCONFIG echo "------ Redeploy MAAS ------" - ./02-maasdeploy.sh $POD_NAME + ./00-maasdeploy.sh $POD_NAME exit_on_error $? "MAAS Deploy FAILED" fi diff --git a/jjb/kvmfornfv/kvmfornfv-download-artifact.sh b/jjb/kvmfornfv/kvmfornfv-download-artifact.sh index 24a5e45fe..89b7e3164 100755 --- a/jjb/kvmfornfv/kvmfornfv-download-artifact.sh +++ b/jjb/kvmfornfv/kvmfornfv-download-artifact.sh @@ -7,19 +7,22 @@ else exit 1 fi -if [[ "$JOB_TYPE" == "verify" ]]; then - echo "Downloading artifacts for the change $GERRIT_CHANGE_NUMBER. This could take some time..." - GS_URL="gs://artifacts.opnfv.org/review/$GERRIT_CHANGE_NUMBER" -else - echo "Artifact download is not enabled for $JOB_TYPE jobs" - exit 1 -fi +# do stuff differently based on the job type +case "$JOB_TYPE" in + verify) + echo "Downloading artifacts for the change $GERRIT_CHANGE_NUMBER. This could take some time..." + GS_UPLOAD_LOCATION="gs://artifacts.opnfv.org/$PROJECT/review/$GERRIT_CHANGE_NUMBER" + ;; + *) + echo "Artifact download is not enabled for $JOB_TYPE jobs" + exit 1 +esac /bin/mkdir -p $WORKSPACE/build_output -gsutil cp -r $GS_URL/* $WORKSPACE/build_output > $WORKSPACE/gsutil.log 2>&1 +gsutil cp -r $GS_UPLOAD_LOCATION/* $WORKSPACE/build_output > $WORKSPACE/gsutil.log 2>&1 echo "--------------------------------------------------------" ls -al $WORKSPACE/build_output echo "--------------------------------------------------------" - +echo echo "Downloaded artifacts!" diff --git a/jjb/kvmfornfv/kvmfornfv-test.sh b/jjb/kvmfornfv/kvmfornfv-test.sh index 7a47f9a6e..868de13bd 100755 --- a/jjb/kvmfornfv/kvmfornfv-test.sh +++ b/jjb/kvmfornfv/kvmfornfv-test.sh @@ -1,3 +1,10 @@ #!/bin/bash - +########################################################## +##This script includes executing cyclictest scripts. +########################################################## +#The latest build packages are stored in build_output ls -al $WORKSPACE/build_output + +#start the test +cd $WORKSPACE +./ci/test_kvmfornfv.sh diff --git a/jjb/kvmfornfv/kvmfornfv-upload-artifact.sh b/jjb/kvmfornfv/kvmfornfv-upload-artifact.sh index 81394561a..190ab4b4d 100755 --- a/jjb/kvmfornfv/kvmfornfv-upload-artifact.sh +++ b/jjb/kvmfornfv/kvmfornfv-upload-artifact.sh @@ -7,20 +7,27 @@ else exit 1 fi -if [[ "$JOB_TYPE" == "verify" ]]; then - echo "Uploding artifacts for the change $GERRIT_CHANGE_NUMBER. This could take some time..." - GS_URL="gs://artifacts.opnfv.org/review/$GERRIT_CHANGE_NUMBER" -else - echo "Artifact upload is not enabled for $JOB_TYPE jobs" - exit 1 -fi +case "$JOB_TYPE" in + verify) + echo "Uploading artifacts for the change $GERRIT_CHANGE_NUMBER. This could take some time..." + GS_UPLOAD_LOCATION="gs://artifacts.opnfv.org/$PROJECT/review/$GERRIT_CHANGE_NUMBER" + ;; + daily) + echo "Uploding daily artifacts This could take some time..." + OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d_%H-%M-%S") + GS_UPLOAD_LOCATION="gs://$GS_URL/$OPNFV_ARTIFACT_VERSION" + ;; + *) + echo "Artifact upload is not enabled for $JOB_TYPE jobs" + exit 1 +esac -gsutil cp -r $WORKSPACE/build_output $GS_URL > $WORKSPACE/gsutil.log 2>&1 +gsutil cp -r $WORKSPACE/build_output $GS_UPLOAD_LOCATION > $WORKSPACE/gsutil.log 2>&1 gsutil -m setmeta -r \ -h "Cache-Control:private, max-age=0, no-transform" \ - $GS_URL > /dev/null 2>&1 + $GS_UPLOAD_LOCATION > /dev/null 2>&1 -gsutil ls $GS_URL > /dev/null 2>&1 +gsutil ls $GS_UPLOAD_LOCATION > /dev/null 2>&1 if [[ $? -ne 0 ]]; then echo "Problem while uploading artifacts!" echo "Check log $WORKSPACE/gsutil.log on $NODE_NAME" diff --git a/jjb/kvmfornfv/kvmfornfv.yml b/jjb/kvmfornfv/kvmfornfv.yml index 77110bb74..5fcb27042 100644 --- a/jjb/kvmfornfv/kvmfornfv.yml +++ b/jjb/kvmfornfv/kvmfornfv.yml @@ -12,7 +12,6 @@ branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: true - ##################################### # patch verification phases ##################################### @@ -28,6 +27,7 @@ - 'kvmfornfv-verify-{stream}' - 'kvmfornfv-verify-{phase}-{stream}' - 'kvmfornfv-merge-{stream}' + - 'kvmfornfv-daily-{stream}' ##################################### # job templates ##################################### @@ -128,6 +128,8 @@ - gerrit-parameter: branch: '{branch}' - '{slave-label}-defaults' + - 'kvmfornfv-defaults': + gs-pathname: '{gs-pathname}' builders: - description-setter: @@ -168,6 +170,39 @@ builders: - shell: !include-raw: ./kvmfornfv-build.sh + +- job-template: + name: 'kvmfornfv-daily-{stream}' + + project-type: multijob + + disabled: '{obj:disabled}' + + concurrent: false + + parameters: + - project-parameter: + project: '{project}' + - gerrit-parameter: + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' + - 'kvmfornfv-defaults': + gs-pathname: '{gs-pathname}' + + scm: + - gerrit-trigger-scm: + credentials-id: '{ssh-credentials}' + refspec: '' + choosing-strategy: 'default' + + triggers: + - timed: '@midnight' + + builders: + - shell: + !include-raw-escape: ./kvmfornfv-build.sh + - shell: + !include-raw-escape: ./kvmfornfv-upload-artifact.sh ##################################### # builder macros ##################################### diff --git a/jjb/multisite/multisite.yml b/jjb/multisite/multisite.yml index ab99eefad..00b211ceb 100644 --- a/jjb/multisite/multisite.yml +++ b/jjb/multisite/multisite.yml @@ -82,6 +82,9 @@ name: KINGBIRD_LOG_FILE default: $WORKSPACE/kingbird.log - 'intel-virtual6-defaults' + - string: + name: DEPLOY_SCENARIO + default: 'os-nosdn-multisite-ha' scm: - gerrit-trigger-scm: diff --git a/jjb/opnfv/installer-params.yml b/jjb/opnfv/installer-params.yml index 60fee9263..833a1d449 100644 --- a/jjb/opnfv/installer-params.yml +++ b/jjb/opnfv/installer-params.yml @@ -49,6 +49,10 @@ name: EXTERNAL_NETWORK default: 'admin_floating_net' description: 'external network for test' + - string: + name: BRIDGE + default: 'pxebr' + description: 'pxe bridge for booting of Fuel master' - parameter: name: 'joid-defaults' diff --git a/jjb/opnfv/slave-params.yml b/jjb/opnfv/slave-params.yml index b5cf4cd9d..4d73ad807 100644 --- a/jjb/opnfv/slave-params.yml +++ b/jjb/opnfv/slave-params.yml @@ -355,6 +355,24 @@ default: '10.20.1.2' description: 'IP of the installer' - parameter: + name: 'zte-pod3-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - zte-pod3 + default-slaves: + - zte-pod3 + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + - string: + name: BRIDGE + default: 'br0' + description: 'pxe bridge for booting of Fuel master' +- parameter: name: 'juniper-pod1-defaults' parameters: - node: diff --git a/jjb/releng-macros.yaml b/jjb/releng-macros.yaml index c14ea6c47..8328aec03 100644 --- a/jjb/releng-macros.yaml +++ b/jjb/releng-macros.yaml @@ -13,7 +13,7 @@ description: "URL to Google Storage." - string: name: GS_BASE_PROXY - default: build.opnfv.org/artifacts/$PROJECT + default: build.opnfv.org/artifacts.opnfv.org/$PROJECT description: "URL to Google Storage proxy" - parameter: diff --git a/jjb/yardstick/yardstick-ci-jobs.yml b/jjb/yardstick/yardstick-ci-jobs.yml index 6b922889a..041eabd03 100644 --- a/jjb/yardstick/yardstick-ci-jobs.yml +++ b/jjb/yardstick/yardstick-ci-jobs.yml @@ -318,6 +318,14 @@ description: 'Arguments to use in order to choose the backend DB' - parameter: + name: 'yardstick-params-zte-pod3' + parameters: + - string: + name: YARDSTICK_DB_BACKEND + default: '-i 104.197.68.199:8086' + description: 'Arguments to use in order to choose the backend DB' + +- parameter: name: 'yardstick-params-orange-pod2' parameters: - string: diff --git a/jjb/yardstick/yardstick-daily.sh b/jjb/yardstick/yardstick-daily.sh index e8df9be58..7e9a65b82 100755 --- a/jjb/yardstick/yardstick-daily.sh +++ b/jjb/yardstick/yardstick-daily.sh @@ -23,6 +23,11 @@ elif [[ ${INSTALLER_TYPE} == 'joid' ]]; then # replace the default one by the customized one provided by jenkins config fi +# Set iptables rule to allow forwarding return traffic for container +if ! sudo iptables -C FORWARD -j RETURN 2> ${redirect} || ! sudo iptables -L FORWARD | awk 'NR==3' | grep RETURN 2> ${redirect}; then + sudo iptables -I FORWARD -j RETURN +fi + opts="--privileged=true --rm" envs="-e INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} \ -e NODE_NAME=${NODE_NAME} -e EXTERNAL_NETWORK=${EXTERNAL_NETWORK} \ diff --git a/prototypes/bifrost/.gitkeep b/prototypes/bifrost/.gitkeep new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/prototypes/bifrost/.gitkeep diff --git a/prototypes/puppet-infracloud/.gitkeep b/prototypes/puppet-infracloud/.gitkeep new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/prototypes/puppet-infracloud/.gitkeep diff --git a/utils/test/reporting/functest/reporting-status.py b/utils/test/reporting/functest/reporting-status.py index 622c375cc..7c943d8b3 100644 --- a/utils/test/reporting/functest/reporting-status.py +++ b/utils/test/reporting/functest/reporting-status.py @@ -99,8 +99,9 @@ for version in conf.versions: for test_case in testValid: test_case.checkRunnable(installer, s, test_case.getConstraints()) - logger.debug("testcase %s is %s" % + logger.debug("testcase %s (%s) is %s" % (test_case.getDisplayName(), + test_case.getName(), test_case.isRunnable)) time.sleep(1) if test_case.isRunnable: @@ -131,8 +132,10 @@ for version in conf.versions: for test_case in otherTestCases: test_case.checkRunnable(installer, s, test_case.getConstraints()) - logger.info("testcase %s is %s" % - (test_case.getName(), test_case.isRunnable)) + logger.debug("testcase %s (%s) is %s" % + (test_case.getDisplayName(), + test_case.getName(), + test_case.isRunnable)) time.sleep(1) if test_case.isRunnable: dbName = test_case.getDbName() diff --git a/utils/test/reporting/functest/reportingConf.py b/utils/test/reporting/functest/reportingConf.py index a58eeecc9..9c618a274 100644 --- a/utils/test/reporting/functest/reportingConf.py +++ b/utils/test/reporting/functest/reportingConf.py @@ -10,19 +10,18 @@ # # **************************************************** installers = ["apex", "compass", "fuel", "joid"] -# installers = ["apex"] # list of test cases declared in testcases.yaml but that must not be # taken into account for the scoring -blacklist = ["odl", "ovno", "security_scan", "copper", "moon"] +blacklist = ["ovno", "security_scan"] # versions = ["brahmaputra", "master"] versions = ["master"] -PERIOD = 10 -MAX_SCENARIO_CRITERIA = 18 +PERIOD = 50 +MAX_SCENARIO_CRITERIA = 50 # get the last 5 test results to determinate the success criteria NB_TESTS = 5 # REPORTING_PATH = "/usr/share/nginx/html/reporting/functest" REPORTING_PATH = "." URL_BASE = 'http://testresults.opnfv.org/test/api/v1/results' TEST_CONF = "https://git.opnfv.org/cgit/functest/plain/ci/testcases.yaml" -LOG_LEVEL = "ERROR" +LOG_LEVEL = "DEBUG" LOG_FILE = REPORTING_PATH + "/reporting.log" diff --git a/utils/test/reporting/functest/testCase.py b/utils/test/reporting/functest/testCase.py index e19853a09..e97303533 100644 --- a/utils/test/reporting/functest/testCase.py +++ b/utils/test/reporting/functest/testCase.py @@ -35,7 +35,11 @@ class TestCase(object): 'promise': 'Promise', 'moon': 'moon', 'copper': 'copper', - 'security_scan': 'security' + 'security_scan': 'security', + 'multisite': 'multisite', + 'domino': 'domino', + 'odl-sfc': 'SFC', + 'onos_sfc': 'SFC' } try: self.displayName = display_name_matrix[self.name] @@ -123,7 +127,11 @@ class TestCase(object): 'promise': 'promise', 'moon': 'moon', 'copper': 'copper', - 'security_scan': 'security' + 'security_scan': 'security', + 'multisite': 'multisite', + 'domino': 'domino-multinode', + 'odl-sfc': 'odl-sfc', + 'onos_sfc': 'onos_sfc' } try: return test_match_matrix[self.name] diff --git a/utils/test/result_collection_api/update/README.md b/utils/test/result_collection_api/update/README.md index d3aef7efe..738f30ab7 100644 --- a/utils/test/result_collection_api/update/README.md +++ b/utils/test/result_collection_api/update/README.md @@ -96,6 +96,7 @@ host=10.63.243.17 user=zte port=8000 image=opnfv/testapi +mode=build update_path=/tmp/testapi mongodb_url=mongodb://172.17.0.1:27017 swagger_url=http://10.63.243.17:8000"``` diff --git a/utils/test/result_collection_api/update/templates/rm_images.sh b/utils/test/result_collection_api/update/templates/rm_images.sh new file mode 100755 index 000000000..6722573b4 --- /dev/null +++ b/utils/test/result_collection_api/update/templates/rm_images.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +number=`docker images | awk 'NR != 1' | grep testapi | wc -l` +if [ $number -gt 0 ]; then + images=`docker images -a | awk 'NR != 1' | grep testapi | awk '{print $1}'` + echo "begin to rm images $images" + docker images | awk 'NR != 1' | grep testapi | awk '{print $3}' | xargs docker rmi -f &>/dev/null +fi diff --git a/utils/test/result_collection_api/update/update.yml b/utils/test/result_collection_api/update/update.yml index 08839564a..e6663d905 100644 --- a/utils/test/result_collection_api/update/update.yml +++ b/utils/test/result_collection_api/update/update.yml @@ -8,6 +8,7 @@ port: "8000" update_path: "/tmp/testapi" image: "opnfv/testapi" + mode: "pull" mongodb_url: "mongodb://172.17.0.1:27017" swagger_url: "http://{{ host }}:{{ port }}" tasks: @@ -19,6 +20,11 @@ copy: src: templates/ dest: "{{ update_path }}" + - name: transfer Dockerfile + copy: + src: ../docker/Dockerfile + dest: "{{ update_path }}" + when: mode == "build" - name: backup mongodb database command: "python {{ update_path }}/backup_mongodb.py -u {{ mongodb_url }} -o {{ update_path }}" - name: stop and remove old versions @@ -26,10 +32,13 @@ register: rm_result - debug: msg="{{ rm_result.stderr }}" - name: delete old docker images - command: docker rmi "{{ image }}" + command: bash "{{ update_path }}/rm_images.sh" ignore_errors: true - name: update mongodb command: "python {{ update_path }}/update_mongodb.py -u {{ mongodb_url }}" + - name: docker build image + command: "docker build -t {{ image }} {{ update_path }}" + when: mode == "build" - name: docker start testapi server command: docker run -dti -p "{{ port }}:8000" -e "mongodb_url={{ mongodb_url }}" |