diff options
Diffstat (limited to 'jjb')
88 files changed, 1568 insertions, 1374 deletions
diff --git a/jjb/3rd_party_ci/odl-netvirt.yaml b/jjb/3rd_party_ci/odl-netvirt.yaml index b810a2998..15d28486f 100644 --- a/jjb/3rd_party_ci/odl-netvirt.yaml +++ b/jjb/3rd_party_ci/odl-netvirt.yaml @@ -63,7 +63,7 @@ - 'odl-netvirt-verify-virtual-install-netvirt-.*' - 'functest-netvirt-virtual-suite-.*' - 'odl-netvirt-verify-virtual-postprocess-.*' - block-level: 'NODE' + blocking-level: 'NODE' scm: - git: url: https://gerrit.opnfv.org/gerrit/apex @@ -224,7 +224,7 @@ - 'odl-netvirt-verify-virtual-install-netvirt-.*' - 'functest-netvirt-virtual-suite-.*' - 'odl-netvirt-verify-virtual-postprocess-.*' - block-level: 'NODE' + blocking-level: 'NODE' wrappers: - ssh-agent-wrapper diff --git a/jjb/apex/apex-build.sh b/jjb/apex/apex-build.sh index 09aa716be..618d18110 100755 --- a/jjb/apex/apex-build.sh +++ b/jjb/apex/apex-build.sh @@ -12,7 +12,7 @@ echo if echo $ARTIFACT_VERSION | grep "dev" 1> /dev/null; then GERRIT_PATCHSET_NUMBER=$(echo $GERRIT_REFSPEC | grep -Eo '[0-9]+$') export OPNFV_ARTIFACT_VERSION="dev${GERRIT_CHANGE_NUMBER}_${GERRIT_PATCHSET_NUMBER}" - if [ "$BRANCH" == 'master' ]; then + if [[ "$BRANCH" != 'stable/fraser' ]]; then # build rpm export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY --rpms" else @@ -23,14 +23,14 @@ elif echo $BUILD_TAG | grep "csit" 1> /dev/null; then export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY" elif [ "$ARTIFACT_VERSION" == "daily" ]; then export OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d") - if [ "$BRANCH" == 'master' ]; then + if [[ "$BRANCH" != 'stable/fraser' ]]; then export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY --rpms" else export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY --iso" fi else export OPNFV_ARTIFACT_VERSION=${ARTIFACT_VERSION} - if [ "$BRANCH" == 'master' ]; then + if [[ "$BRANCH" != 'stable/fraser' ]]; then export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY --rpms" else export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY --iso" @@ -59,7 +59,7 @@ echo "Cache Directory Contents:" echo "-------------------------" ls -al $CACHE_DIRECTORY -if [[ "$BUILD_ARGS" =~ '--iso' && "$BRANCH" != 'master' ]]; then +if [[ "$BUILD_ARGS" =~ '--iso' && "$BRANCH" == 'stable/fraser' ]]; then mkdir -p /tmp/apex-iso/ rm -f /tmp/apex-iso/*.iso cp -f $BUILD_DIRECTORY/../.build/release/OPNFV-CentOS-7-x86_64-$OPNFV_ARTIFACT_VERSION.iso /tmp/apex-iso/ @@ -67,7 +67,7 @@ fi if ! echo $ARTIFACT_VERSION | grep "dev" 1> /dev/null; then echo "Writing opnfv.properties file" - if [ "$BRANCH" != master ]; then + if [ "$BRANCH" == 'stable/fraser' ]; then # save information regarding artifact into file ( echo "OPNFV_ARTIFACT_VERSION=$OPNFV_ARTIFACT_VERSION" diff --git a/jjb/apex/apex-deploy.sh b/jjb/apex/apex-deploy.sh index 441bf9059..4876b8504 100755 --- a/jjb/apex/apex-deploy.sh +++ b/jjb/apex/apex-deploy.sh @@ -29,7 +29,7 @@ if [[ "$ARTIFACT_VERSION" =~ dev ]]; then # we want to use that built in mechanism to avoid re-downloading every job # so we use a dedicated folder to hold the upstream cache UPSTREAM_CACHE=$HOME/upstream_cache - if [ "$BRANCH" == 'master' ]; then + if [[ "$BRANCH" != 'stable/fraser' ]]; then mkdir -p ${UPSTREAM_CACHE} RESOURCES=$UPSTREAM_CACHE else @@ -55,7 +55,7 @@ else # set to use different directory here because upon RPM removal this # directory will be wiped in daily UPSTREAM_CACHE=$HOME/upstream_cache - if [ "$BRANCH" == 'master' ]; then + if [[ "$BRANCH" != 'stable/fraser' ]]; then mkdir -p ${UPSTREAM_CACHE} RESOURCES=$UPSTREAM_CACHE else @@ -141,8 +141,8 @@ if [[ "$JOB_NAME" =~ "virtual" ]]; then fi if [[ "$PROMOTE" == "True" || "$CSIT_ENV_FLAG" == "True" ]]; then - if [[ "$DEPLOY_SCENARIO" =~ "queens" ]]; then - CSIT_ENV="csit-queens-environment.yaml" + if [[ "$OS_VERSION" != "master" ]]; then + CSIT_ENV="csit-${OS_VERSION}-environment.yaml" else CSIT_ENV="csit-environment.yaml" fi @@ -161,11 +161,6 @@ else DEPLOY_CMD="${DEPLOY_CMD} -i ${INVENTORY_FILE}" fi -if [[ "$BRANCH" == "master" ]]; then - echo "Upstream deployment detected" - DEPLOY_CMD="${DEPLOY_CMD} --upstream" -fi - if [ "$IPV6_FLAG" == "True" ]; then NETWORK_FILE="${NETWORK_SETTINGS_DIR}/network_settings_v6.yaml" elif [[ "$PROMOTE" == "True" ]]; then diff --git a/jjb/apex/apex-download-artifact.sh b/jjb/apex/apex-download-artifact.sh index e1e51b3b6..bc3311d68 100755 --- a/jjb/apex/apex-download-artifact.sh +++ b/jjb/apex/apex-download-artifact.sh @@ -18,8 +18,8 @@ else fi if [[ "$ARTIFACT_VERSION" =~ dev ]]; then - if [ "$BRANCH" == 'master' ]; then - echo "Skipping download of artifacts for master branch" + if [[ "$BRANCH" != 'stable/fraser' ]]; then + echo "Skipping download of artifacts for master/gambia branch" else # dev build GERRIT_PATCHSET_NUMBER=$(echo $GERRIT_REFSPEC | grep -Eo '[0-9]+$') @@ -47,7 +47,7 @@ else RPM_LIST=$(basename $OPNFV_RPM_URL) # find version of RPM VERSION_EXTENSION=$(echo $(basename $RPM_LIST) | grep -Eo '[0-9]+\.[0-9]+-([0-9]{8}|[a-z]+-[0-9]\.[0-9]+)') - if [ "$BRANCH" != 'master' ]; then + if [ "$BRANCH" == 'stable/fraser' ]; then # build RPM List which already includes base Apex RPM RPM_LIST+=" opnfv-apex-undercloud-${VERSION_EXTENSION}.noarch.rpm" RPM_LIST+=" python34-opnfv-apex-${VERSION_EXTENSION}.noarch.rpm" diff --git a/jjb/apex/apex-iso-verify.sh b/jjb/apex/apex-iso-verify.sh index f34937619..c29d7cb32 100755 --- a/jjb/apex/apex-iso-verify.sh +++ b/jjb/apex/apex-iso-verify.sh @@ -8,8 +8,8 @@ echo "Starting the Apex iso verify." echo "--------------------------------------------------------" echo -if [ "$BRANCH" == 'master' ]; then - echo "Skipping Apex iso verify for master branch" +if [ "$BRANCH" != 'stable/fraser' ]; then + echo "Skipping Apex iso verify for ${BRANCH} branch" exit 0 fi diff --git a/jjb/apex/apex-project-jobs.yaml b/jjb/apex/apex-project-jobs.yaml index 700ff60e8..42567ea1b 100644 --- a/jjb/apex/apex-project-jobs.yaml +++ b/jjb/apex/apex-project-jobs.yaml @@ -9,6 +9,11 @@ gs-pathname: '' concurrent-builds: 3 disabled: false + - gambia: &gambia + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + concurrent-builds: 3 + disabled: false - fraser: &fraser branch: 'stable/{stream}' gs-pathname: '/{stream}' @@ -68,7 +73,7 @@ option: 'project' - build-blocker: use-build-blocker: true - block-level: 'NODE' + blocking-level: 'NODE' blocking-jobs: - 'apex-verify-iso-{stream}' diff --git a/jjb/apex/apex-upload-artifact.sh b/jjb/apex/apex-upload-artifact.sh index 5c777a824..07198b188 100755 --- a/jjb/apex/apex-upload-artifact.sh +++ b/jjb/apex/apex-upload-artifact.sh @@ -114,8 +114,8 @@ fi if [ "$ARTIFACT_TYPE" == 'snapshot' ]; then uploadsnap elif [ "$ARTIFACT_TYPE" == 'iso' ]; then - if [[ "$ARTIFACT_VERSION" =~ dev || "$BRANCH" == 'master' ]]; then - echo "Skipping ISO artifact upload for ${ARTIFACT_TYPE} due to dev/master build" + if [[ "$ARTIFACT_VERSION" =~ dev || "$BRANCH" != 'stable/fraser' ]]; then + echo "Skipping ISO artifact upload for ${ARTIFACT_TYPE} due to dev/${BRANCH} build" exit 0 fi if [[ -n "$SIGN_ARTIFACT" && "$SIGN_ARTIFACT" == "true" ]]; then @@ -124,8 +124,8 @@ elif [ "$ARTIFACT_TYPE" == 'iso' ]; then uploadiso elif [ "$ARTIFACT_TYPE" == 'rpm' ]; then if [[ "$ARTIFACT_VERSION" =~ dev ]]; then - if [ "$BRANCH" == 'master' ]; then - echo "will not upload artifacts, master uses upstream" + if [[ "$BRANCH" != 'stable/fraser' ]]; then + echo "will not upload artifacts, ${BRANCH} uses upstream" ARTIFACT_TYPE=none else echo "dev build detected, will upload image tarball" @@ -138,7 +138,7 @@ elif [ "$ARTIFACT_TYPE" == 'rpm' ]; then RPM_LIST=$RPM_INSTALL_PATH/$(basename $OPNFV_RPM_URL) SRPM_INSTALL_PATH=$BUILD_DIRECTORY SRPM_LIST=$SRPM_INSTALL_PATH/$(basename $OPNFV_SRPM_URL) - if [ "$BRANCH" != 'master' ]; then + if [[ "$BRANCH" == 'stable/fraser' ]]; then VERSION_EXTENSION=$(echo $(basename $OPNFV_RPM_URL) | sed 's/opnfv-apex-//') RPM_LIST+=" ${RPM_INSTALL_PATH}/opnfv-apex-undercloud-${VERSION_EXTENSION}" RPM_LIST+=" ${RPM_INSTALL_PATH}/python34-opnfv-apex-${VERSION_EXTENSION}" diff --git a/jjb/apex/apex-verify-jobs.yaml b/jjb/apex/apex-verify-jobs.yaml index f0f99fc78..854aefc7f 100644 --- a/jjb/apex/apex-verify-jobs.yaml +++ b/jjb/apex/apex-verify-jobs.yaml @@ -12,6 +12,11 @@ gs-pathname: '' verify-scenario: 'os-nosdn-nofeature-noha' disabled: false + - gambia: &gambia + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + verify-scenario: 'os-nosdn-nofeature-ha' + disabled: false - fraser: &fraser branch: 'stable/{stream}' gs-pathname: '/{stream}' @@ -196,7 +201,7 @@ option: 'project' - build-blocker: use-build-blocker: true - block-level: 'NODE' + blocking-level: 'NODE' blocking-jobs: - 'apex-.*-promote.*' builders: @@ -311,7 +316,7 @@ - logrotate-default - build-blocker: use-build-blocker: true - block-level: 'NODE' + blocking-level: 'NODE' blocking-jobs: - 'apex-verify.*' - 'apex-virtual.*' diff --git a/jjb/apex/apex.yaml b/jjb/apex/apex.yaml index fd0e8269c..5a8f241b1 100644 --- a/jjb/apex/apex.yaml +++ b/jjb/apex/apex.yaml @@ -30,6 +30,16 @@ scenario_stream: 'master' disable_daily: false disable_promote: false + - gambia: &gambia + branch: 'stable/gambia' + gs-pathname: '/gambia' + build-slave: 'apex-build-master' + virtual-slave: 'apex-virtual-master' + baremetal-slave: 'apex-baremetal-master' + verify-scenario: 'os-nosdn-nofeature-ha' + scenario_stream: 'gambia' + disable_daily: false + disable_promote: false - fraser: &fraser branch: 'stable/fraser' gs-pathname: '/fraser' @@ -68,6 +78,30 @@ - 'os-odl-bgpvpn-ha': <<: *fraser - 'os-nosdn-nofeature-noha': + <<: *gambia + - 'os-nosdn-nofeature-ha': + <<: *gambia + - 'os-nosdn-nofeature-ha-ipv6': + <<: *gambia + - 'os-odl-nofeature-noha': + <<: *gambia + - 'os-odl-nofeature-ha': + <<: *gambia + - 'k8s-nosdn-nofeature-noha': + <<: *gambia + - 'os-odl-bgpvpn-ha': + <<: *gambia + - 'os-odl-bgpvpn-noha': + <<: *gambia + - 'os-odl-sfc-ha': + <<: *gambia + - 'os-odl-sfc-noha': + <<: *gambia + - 'os-nosdn-calipso-noha': + <<: *gambia + - 'os-ovn-nofeature-ha': + <<: *gambia + - 'os-nosdn-nofeature-noha': <<: *danube - 'os-nosdn-nofeature-ha': <<: *danube @@ -129,15 +163,15 @@ <<: *master - 'os-odl-nofeature-ha': <<: *master - - 'os-nosdn-queens-noha': + - 'os-nosdn-rocky-noha': <<: *master - - 'os-nosdn-queens-ha': + - 'os-nosdn-rocky-ha': <<: *master - - 'os-nosdn-queens-ha-ipv6': + - 'os-nosdn-rocky-ha-ipv6': <<: *master - - 'os-odl-queens-noha': + - 'os-odl-rocky-noha': <<: *master - - 'os-odl-queens-ha': + - 'os-odl-rocky-ha': <<: *master - 'k8s-nosdn-nofeature-noha': <<: *master @@ -153,13 +187,17 @@ <<: *master - 'os-odl-sfc-noha': <<: *master - - 'os-odl-sfc_queens-ha': + - 'os-odl-sfc_rocky-ha': <<: *master - - 'os-odl-sfc_queens-noha': + - 'os-odl-sfc_rocky-noha': <<: *master - 'os-nosdn-calipso-noha': <<: *master - - 'os-nosdn-calipso_queens-noha': + - 'os-nosdn-calipso_rocky-noha': + <<: *master + - 'os-ovn-nofeature-ha': + <<: *master + - 'os-ovn-rocky-ha': <<: *master - 'os-nosdn-nofeature-noha': <<: *euphrates @@ -201,15 +239,15 @@ - 'virtual' os_version: - - 'pike': - os_scenario: 'pike' - odl_branch: 'stable/carbon' - 'queens': - os_scenario: 'queens' + os_scenario: 'nofeature' + odl_branch: 'stable/oxygen' + - 'rocky': + os_scenario: 'rocky' odl_branch: 'stable/oxygen' - 'master': os_scenario: 'nofeature' - odl_branch: 'stable/oxygen' + odl_branch: 'stable/fluorine' topology: - 'noha' @@ -269,7 +307,7 @@ - logrotate-default - build-blocker: use-build-blocker: false - block-level: 'NODE' + blocking-level: 'NODE' blocking-jobs: - 'apex-deploy.*' - throttle: @@ -346,7 +384,7 @@ - logrotate-default - build-blocker: use-build-blocker: true - block-level: 'NODE' + blocking-level: 'NODE' blocking-jobs: - 'apex-deploy.*' - 'functest.*' @@ -402,13 +440,14 @@ - logrotate-default - build-blocker: use-build-blocker: true - block-level: 'NODE' + blocking-level: 'NODE' blocking-jobs: - 'apex-runner.*' - 'apex-run.*' - 'apex-virtual-.*' - 'apex-verify-gate-.*' - 'odl-netvirt.*' + - 'apex-.*-promote.*' - throttle: max-per-node: 1 max-total: 10 @@ -506,7 +545,7 @@ - logrotate-default - build-blocker: use-build-blocker: true - block-level: 'NODE' + blocking-level: 'NODE' blocking-jobs: - 'apex-verify.*' - 'apex-runner.*' @@ -618,7 +657,7 @@ - logrotate-default - build-blocker: use-build-blocker: true - block-level: 'NODE' + blocking-level: 'NODE' blocking-jobs: - 'apex-verify.*' - 'apex-runner.*' @@ -733,7 +772,7 @@ - logrotate-default - build-blocker: use-build-blocker: true - block-level: 'NODE' + blocking-level: 'NODE' blocking-jobs: - 'apex-daily.*' @@ -860,7 +899,7 @@ properties: - build-blocker: use-build-blocker: true - block-level: 'NODE' + blocking-level: 'NODE' blocking-jobs: - 'apex-verify.*' - 'apex-runner.*' @@ -873,7 +912,7 @@ option: 'project' triggers: - - timed: '0 12 * * 0' + - '{stream}-{os_version}' builders: - multijob: @@ -988,7 +1027,7 @@ properties: - build-blocker: use-build-blocker: true - block-level: 'NODE' + blocking-level: 'NODE' blocking-jobs: - 'apex-verify.*' - 'apex-deploy.*' @@ -1094,7 +1133,7 @@ - logrotate-default - build-blocker: use-build-blocker: true - block-level: 'NODE' + blocking-level: 'NODE' blocking-jobs: - 'apex-verify.*' - 'apex-runner.*' @@ -1163,7 +1202,7 @@ - logrotate-default - build-blocker: use-build-blocker: true - block-level: 'NODE' + blocking-level: 'NODE' blocking-jobs: - 'apex-verify.*' - 'apex-runner.*' @@ -1274,6 +1313,111 @@ abort-all-job: true git-revision: false +# gambia Builder +- builder: + name: apex-builder-gambia + builders: + - multijob: + name: Baremetal Deploy and Test Phase + condition: SUCCESSFUL + projects: + - name: 'apex-os-nosdn-nofeature-noha-baremetal-gambia' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + - name: 'apex-os-nosdn-nofeature-ha-baremetal-gambia' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + - name: 'apex-os-nosdn-nofeature-ha-ipv6-baremetal-gambia' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + - name: 'apex-os-odl-nofeature-noha-baremetal-gambia' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + - name: 'apex-os-odl-nofeature-ha-baremetal-gambia' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + - name: 'apex-k8s-nosdn-nofeature-noha-baremetal-gambia' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + - name: 'apex-os-odl-bgpvpn-ha-baremetal-gambia' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + - name: 'apex-os-odl-bgpvpn-noha-baremetal-gambia' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + - name: 'apex-os-odl-sfc-ha-baremetal-gambia' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + - name: 'apex-os-odl-sfc-noha-baremetal-gambia' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + - name: 'apex-os-nosdn-calipso-noha-baremetal-gambia' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + - name: 'apex-os-ovn-nofeature-ha-baremetal-gambia' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + # danube Builder - builder: name: apex-builder-danube @@ -1539,7 +1683,7 @@ kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-os-nosdn-queens-noha-baremetal-master' + - name: 'apex-os-nosdn-rocky-noha-baremetal-master' node-parameters: false current-parameters: false predefined-parameters: | @@ -1547,7 +1691,7 @@ kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-os-nosdn-queens-ha-baremetal-master' + - name: 'apex-os-nosdn-rocky-ha-baremetal-master' node-parameters: false current-parameters: false predefined-parameters: | @@ -1555,7 +1699,7 @@ kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-os-nosdn-queens-ha-ipv6-baremetal-master' + - name: 'apex-os-nosdn-rocky-ha-ipv6-baremetal-master' node-parameters: false current-parameters: false predefined-parameters: | @@ -1563,7 +1707,7 @@ kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-os-odl-queens-noha-baremetal-master' + - name: 'apex-os-odl-rocky-noha-baremetal-master' node-parameters: false current-parameters: false predefined-parameters: | @@ -1571,7 +1715,7 @@ kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-os-odl-queens-ha-baremetal-master' + - name: 'apex-os-odl-rocky-ha-baremetal-master' node-parameters: false current-parameters: false predefined-parameters: | @@ -1635,7 +1779,7 @@ kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-os-odl-sfc_queens-ha-baremetal-master' + - name: 'apex-os-odl-sfc_rocky-ha-baremetal-master' node-parameters: false current-parameters: false predefined-parameters: | @@ -1643,7 +1787,7 @@ kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-os-odl-sfc_queens-noha-baremetal-master' + - name: 'apex-os-odl-sfc_rocky-noha-baremetal-master' node-parameters: false current-parameters: false predefined-parameters: | @@ -1659,7 +1803,23 @@ kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-os-nosdn-calipso_queens-noha-baremetal-master' + - name: 'apex-os-nosdn-calipso_rocky-noha-baremetal-master' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + - name: 'apex-os-ovn-nofeature-ha-baremetal-master' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + - name: 'apex-os-ovn-rocky-ha-baremetal-master' node-parameters: false current-parameters: false predefined-parameters: | @@ -1838,6 +1998,7 @@ ####################### # trigger macros +# timed is in format: 'min hour daymonth month dayweek' ######################## - trigger: name: 'apex-master' @@ -1845,6 +2006,11 @@ - timed: '0 0 1-31/2 * *' - trigger: + name: 'apex-gambia' + triggers: + - timed: '0 4 2-30/2 * *' + +- trigger: name: 'apex-fraser' triggers: - timed: '0 0 2-30/2 * *' @@ -1858,3 +2024,78 @@ name: 'apex-danube' triggers: - timed: '0 3 1 1 7' + +- trigger: + name: 'master-master' + triggers: + - timed: '0 12 * * *' + +- trigger: + name: 'master-rocky' + triggers: + - timed: '0 12 * * *' + +- trigger: + name: 'master-queens' + triggers: + - timed: '' + +- trigger: + name: 'gambia-master' + triggers: + - timed: '' + +- trigger: + name: 'gambia-rocky' + triggers: + - timed: '' + +- trigger: + name: 'gambia-queens' + triggers: + - timed: '0 12 * * *' + +- trigger: + name: 'fraser-master' + triggers: + - timed: '' + +- trigger: + name: 'fraser-rocky' + triggers: + - timed: '' + +- trigger: + name: 'fraser-queens' + triggers: + - timed: '' + +- trigger: + name: 'euphrates-master' + triggers: + - timed: '' + +- trigger: + name: 'euphrates-rocky' + triggers: + - timed: '' + +- trigger: + name: 'euphrates-queens' + triggers: + - timed: '' + +- trigger: + name: 'danube-master' + triggers: + - timed: '' + +- trigger: + name: 'danube-rocky' + triggers: + - timed: '' + +- trigger: + name: 'danube-queens' + triggers: + - timed: '' diff --git a/jjb/apex/apex.yaml.j2 b/jjb/apex/apex.yaml.j2 index 31e3bd8f3..908acb62c 100644 --- a/jjb/apex/apex.yaml.j2 +++ b/jjb/apex/apex.yaml.j2 @@ -30,6 +30,16 @@ scenario_stream: 'master' disable_daily: false disable_promote: false + - gambia: &gambia + branch: 'stable/gambia' + gs-pathname: '/gambia' + build-slave: 'apex-build-master' + virtual-slave: 'apex-virtual-master' + baremetal-slave: 'apex-baremetal-master' + verify-scenario: 'os-nosdn-nofeature-ha' + scenario_stream: 'gambia' + disable_daily: false + disable_promote: false - fraser: &fraser branch: 'stable/fraser' gs-pathname: '/fraser' @@ -75,15 +85,15 @@ - 'virtual' os_version: - - 'pike': - os_scenario: 'pike' - odl_branch: 'stable/carbon' - 'queens': - os_scenario: 'queens' + os_scenario: 'nofeature' + odl_branch: 'stable/oxygen' + - 'rocky': + os_scenario: 'rocky' odl_branch: 'stable/oxygen' - 'master': os_scenario: 'nofeature' - odl_branch: 'stable/oxygen' + odl_branch: 'stable/fluorine' topology: - 'noha' @@ -143,7 +153,7 @@ - logrotate-default - build-blocker: use-build-blocker: false - block-level: 'NODE' + blocking-level: 'NODE' blocking-jobs: - 'apex-deploy.*' - throttle: @@ -220,7 +230,7 @@ - logrotate-default - build-blocker: use-build-blocker: true - block-level: 'NODE' + blocking-level: 'NODE' blocking-jobs: - 'apex-deploy.*' - 'functest.*' @@ -276,13 +286,14 @@ - logrotate-default - build-blocker: use-build-blocker: true - block-level: 'NODE' + blocking-level: 'NODE' blocking-jobs: - 'apex-runner.*' - 'apex-run.*' - 'apex-virtual-.*' - 'apex-verify-gate-.*' - 'odl-netvirt.*' + - 'apex-.*-promote.*' - throttle: max-per-node: 1 max-total: 10 @@ -380,7 +391,7 @@ - logrotate-default - build-blocker: use-build-blocker: true - block-level: 'NODE' + blocking-level: 'NODE' blocking-jobs: - 'apex-verify.*' - 'apex-runner.*' @@ -492,7 +503,7 @@ - logrotate-default - build-blocker: use-build-blocker: true - block-level: 'NODE' + blocking-level: 'NODE' blocking-jobs: - 'apex-verify.*' - 'apex-runner.*' @@ -607,7 +618,7 @@ - logrotate-default - build-blocker: use-build-blocker: true - block-level: 'NODE' + blocking-level: 'NODE' blocking-jobs: - 'apex-daily.*' @@ -734,7 +745,7 @@ properties: - build-blocker: use-build-blocker: true - block-level: 'NODE' + blocking-level: 'NODE' blocking-jobs: - 'apex-verify.*' - 'apex-runner.*' @@ -747,7 +758,7 @@ option: 'project' triggers: - - timed: '0 12 * * 0' + - '{stream}-{os_version}' builders: - multijob: @@ -862,7 +873,7 @@ properties: - build-blocker: use-build-blocker: true - block-level: 'NODE' + blocking-level: 'NODE' blocking-jobs: - 'apex-verify.*' - 'apex-deploy.*' @@ -968,7 +979,7 @@ - logrotate-default - build-blocker: use-build-blocker: true - block-level: 'NODE' + blocking-level: 'NODE' blocking-jobs: - 'apex-verify.*' - 'apex-runner.*' @@ -1037,7 +1048,7 @@ - logrotate-default - build-blocker: use-build-blocker: true - block-level: 'NODE' + blocking-level: 'NODE' blocking-jobs: - 'apex-verify.*' - 'apex-runner.*' @@ -1169,6 +1180,7 @@ ####################### # trigger macros +# timed is in format: 'min hour daymonth month dayweek' ######################## - trigger: name: 'apex-master' @@ -1176,6 +1188,11 @@ - timed: '0 0 1-31/2 * *' - trigger: + name: 'apex-gambia' + triggers: + - timed: '0 4 2-30/2 * *' + +- trigger: name: 'apex-fraser' triggers: - timed: '0 0 2-30/2 * *' @@ -1189,3 +1206,78 @@ name: 'apex-danube' triggers: - timed: '0 3 1 1 7' + +- trigger: + name: 'master-master' + triggers: + - timed: '0 12 * * *' + +- trigger: + name: 'master-rocky' + triggers: + - timed: '0 12 * * *' + +- trigger: + name: 'master-queens' + triggers: + - timed: '' + +- trigger: + name: 'gambia-master' + triggers: + - timed: '' + +- trigger: + name: 'gambia-rocky' + triggers: + - timed: '' + +- trigger: + name: 'gambia-queens' + triggers: + - timed: '0 12 * * *' + +- trigger: + name: 'fraser-master' + triggers: + - timed: '' + +- trigger: + name: 'fraser-rocky' + triggers: + - timed: '' + +- trigger: + name: 'fraser-queens' + triggers: + - timed: '' + +- trigger: + name: 'euphrates-master' + triggers: + - timed: '' + +- trigger: + name: 'euphrates-rocky' + triggers: + - timed: '' + +- trigger: + name: 'euphrates-queens' + triggers: + - timed: '' + +- trigger: + name: 'danube-master' + triggers: + - timed: '' + +- trigger: + name: 'danube-rocky' + triggers: + - timed: '' + +- trigger: + name: 'danube-queens' + triggers: + - timed: '' diff --git a/jjb/apex/scenarios.yaml.hidden b/jjb/apex/scenarios.yaml.hidden index 1e1ba3fc3..a221699f1 100644 --- a/jjb/apex/scenarios.yaml.hidden +++ b/jjb/apex/scenarios.yaml.hidden @@ -4,11 +4,11 @@ master: - 'os-nosdn-nofeature-ha-ipv6' - 'os-odl-nofeature-noha' - 'os-odl-nofeature-ha' - - 'os-nosdn-queens-noha' - - 'os-nosdn-queens-ha' - - 'os-nosdn-queens-ha-ipv6' - - 'os-odl-queens-noha' - - 'os-odl-queens-ha' + - 'os-nosdn-rocky-noha' + - 'os-nosdn-rocky-ha' + - 'os-nosdn-rocky-ha-ipv6' + - 'os-odl-rocky-noha' + - 'os-odl-rocky-ha' - 'k8s-nosdn-nofeature-noha' - 'os-odl-bgpvpn-ha' - 'os-odl-bgpvpn-noha' @@ -16,10 +16,25 @@ master: - 'os-odl-bgpvpn_queens-noha' - 'os-odl-sfc-ha' - 'os-odl-sfc-noha' - - 'os-odl-sfc_queens-ha' - - 'os-odl-sfc_queens-noha' + - 'os-odl-sfc_rocky-ha' + - 'os-odl-sfc_rocky-noha' - 'os-nosdn-calipso-noha' - - 'os-nosdn-calipso_queens-noha' + - 'os-nosdn-calipso_rocky-noha' + - 'os-ovn-nofeature-ha' + - 'os-ovn-rocky-ha' +gambia: + - 'os-nosdn-nofeature-noha' + - 'os-nosdn-nofeature-ha' + - 'os-nosdn-nofeature-ha-ipv6' + - 'os-odl-nofeature-noha' + - 'os-odl-nofeature-ha' + - 'k8s-nosdn-nofeature-noha' + - 'os-odl-bgpvpn-ha' + - 'os-odl-bgpvpn-noha' + - 'os-odl-sfc-ha' + - 'os-odl-sfc-noha' + - 'os-nosdn-calipso-noha' + - 'os-ovn-nofeature-ha' fraser: - 'os-nosdn-nofeature-ha' - 'os-odl-bgpvpn-ha' diff --git a/jjb/armband/armband-ci-jobs.yaml b/jjb/armband/armband-ci-jobs.yaml index 959115ac2..2ab1a6d53 100644 --- a/jjb/armband/armband-ci-jobs.yaml +++ b/jjb/armband/armband-ci-jobs.yaml @@ -15,6 +15,11 @@ fraser: &fraser stream: fraser branch: 'stable/{stream}' + disabled: false + gs-pathname: '/{stream}' + gambia: &gambia + stream: gambia + branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false # ------------------------------- @@ -33,16 +38,23 @@ # ------------------------------- # CI POD's # ------------------------------- - # fraser - # ------------------------------- + # yamllint disable rule:key-duplicates pod: - # yamllint disable rule:key-duplicates + # ------------------------------- + # fraser + # ------------------------------- - armband-baremetal: <<: *baremetal <<: *fraser + # ------------------------------- + # gambia + # ------------------------------- + - armband-baremetal: + <<: *baremetal + <<: *gambia - armband-virtual: <<: *virtual - <<: *fraser + <<: *gambia # ------------------------------- # master # ------------------------------- @@ -74,6 +86,11 @@ auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger' exclude: + # Dovetail (and only it) should run against Fraser HA baremetal scenarios + - scenario: os-nosdn-nofeature-noha + stream: fraser + - scenario: os-ovn-nofeature-ha + stream: fraser - scenario: os-nosdn-vpp-ha stream: fraser @@ -103,7 +120,7 @@ blocking-jobs: - '{installer}-os-.*?-{pod}-daily-.*' - 'armband-verify-.*' - block-level: 'NODE' + blocking-level: 'NODE' wrappers: - build-name: @@ -132,28 +149,42 @@ DEPLOY_SCENARIO={scenario} same-node: true block: true - - trigger-builds: - - project: 'functest-{installer}-{pod}-daily-{stream}' - current-parameters: false - predefined-parameters: - DEPLOY_SCENARIO={scenario} - same-node: true - block: true - block-thresholds: - build-step-failure-threshold: 'never' - failure-threshold: 'never' - unstable-threshold: 'FAILURE' - - trigger-builds: - - project: 'yardstick-{installer}-{pod}-daily-{stream}' - current-parameters: false - predefined-parameters: - DEPLOY_SCENARIO={scenario} - block: true - same-node: true - block-thresholds: - build-step-failure-threshold: 'never' - failure-threshold: 'never' - unstable-threshold: 'FAILURE' + - conditional-step: + condition-kind: not + condition-operand: + condition-kind: regex-match + regex: 'fraser' + label: '{stream}' + steps: + - trigger-builds: + - project: 'functest-{installer}-{pod}-daily-{stream}' + current-parameters: false + predefined-parameters: + DEPLOY_SCENARIO={scenario} + same-node: true + block: true + block-thresholds: + build-step-failure-threshold: 'never' + failure-threshold: 'never' + unstable-threshold: 'FAILURE' + - conditional-step: + condition-kind: not + condition-operand: + condition-kind: regex-match + regex: 'fraser' + label: '{stream}' + steps: + - trigger-builds: + - project: 'yardstick-{installer}-{pod}-daily-{stream}' + current-parameters: false + predefined-parameters: + DEPLOY_SCENARIO={scenario} + block: true + same-node: true + block-thresholds: + build-step-failure-threshold: 'never' + failure-threshold: 'never' + unstable-threshold: 'FAILURE' # 1.here the stream means the SUT stream, dovetail stream is defined in its own job # 2.testsuite proposed_tests here is for new test cases planning to add into OVP # 3.run proposed_tests on Monday, Wednesday and Friday against ha scenario @@ -167,11 +198,9 @@ - condition-kind: regex-match regex: '.*-ha' label: '{scenario}' - - condition-kind: day-of-week - day-selector: select-days - days: - SAT: true - use-build-time: true + - condition-kind: regex-match + regex: 'fraser' + label: '{stream}' steps: - trigger-builds: - project: 'dovetail-{installer}-{pod}-proposed_tests-{stream}' @@ -190,11 +219,9 @@ - condition-kind: regex-match regex: '.*-ha' label: '{scenario}' - - condition-kind: day-of-week - day-selector: select-days - days: - SUN: true - use-build-time: true + - condition-kind: regex-match + regex: 'fraser' + label: '{stream}' steps: - trigger-builds: - project: 'dovetail-{installer}-{pod}-default-{stream}' @@ -208,24 +235,17 @@ failure-threshold: 'never' unstable-threshold: 'FAILURE' # Armband uses Fuel's log collection project job, no need to duplicate - - conditional-step: - condition-kind: not - condition-operand: - condition-kind: regex-match - regex: 'danube' - label: '{stream}' - steps: - - trigger-builds: - - project: 'fuel-collect-logs-{deploy-type}-daily-{stream}' - current-parameters: false - predefined-parameters: - DEPLOY_SCENARIO={scenario} - block: true - same-node: true - block-thresholds: - build-step-failure-threshold: 'never' - failure-threshold: 'never' - unstable-threshold: 'FAILURE' + - trigger-builds: + - project: 'fuel-collect-logs-{deploy-type}-daily-{stream}' + current-parameters: false + predefined-parameters: + DEPLOY_SCENARIO={scenario} + block: true + same-node: true + block-thresholds: + build-step-failure-threshold: 'never' + failure-threshold: 'never' + unstable-threshold: 'FAILURE' - job-template: name: '{installer}-deploy-{pod}-daily-{stream}' @@ -244,7 +264,7 @@ blocking-jobs: - '{installer}-deploy-{pod}-daily-{stream}' - '{installer}-deploy-generic-daily-.*' - block-level: 'NODE' + blocking-level: 'NODE' parameters: - project-parameter: @@ -290,7 +310,7 @@ - trigger: name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-master-trigger' triggers: - - timed: '10 1 * * 2,4,6,7' + - timed: '0 1 * * 2,7' - trigger: name: 'fuel-os-nosdn-nofeature-noha-armband-baremetal-master-trigger' triggers: @@ -298,42 +318,61 @@ - trigger: name: 'fuel-os-odl-nofeature-ha-armband-baremetal-master-trigger' triggers: - - timed: '0 1 * * 2,4,6,7' + - timed: '0 1 * * 4,6' - trigger: name: 'fuel-os-ovn-nofeature-ha-armband-baremetal-master-trigger' triggers: - - timed: '10 1 * * 1,3,5' + - timed: '0 1 * * 1' - trigger: name: 'fuel-os-nosdn-ovs-ha-armband-baremetal-master-trigger' triggers: - - timed: '0 1 * * 1,3,5' + - timed: '0 1 * * 3,5' - trigger: name: 'fuel-os-nosdn-vpp-ha-armband-baremetal-master-trigger' triggers: - timed: '' # --------------------------------------------------------------------- -# Enea Armband CI Baremetal Triggers running against fraser branch +# Enea Armband CI Baremetal Triggers running against gambia branch # --------------------------------------------------------------------- - trigger: - name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-fraser-trigger' + name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-gambia-trigger' triggers: - - timed: '' + - timed: '10 1 * * 1,3' - trigger: - name: 'fuel-os-nosdn-nofeature-noha-armband-baremetal-fraser-trigger' + name: 'fuel-os-nosdn-nofeature-noha-armband-baremetal-gambia-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-odl-nofeature-ha-armband-baremetal-fraser-trigger' + name: 'fuel-os-odl-nofeature-ha-armband-baremetal-gambia-trigger' triggers: - - timed: '' + - timed: '10 1 * * 5,7' +- trigger: + name: 'fuel-os-ovn-nofeature-ha-armband-baremetal-gambia-trigger' + triggers: + - timed: '10 1 * * 2' - trigger: - name: 'fuel-os-ovn-nofeature-ha-armband-baremetal-fraser-trigger' + name: 'fuel-os-nosdn-ovs-ha-armband-baremetal-gambia-trigger' + triggers: + - timed: '10 1 * * 4,6' +- trigger: + name: 'fuel-os-nosdn-vpp-ha-armband-baremetal-gambia-trigger' triggers: - timed: '' +# ------------------------------------------------------------------- +# Enea Armband CI Baremetal Triggers running against fraser branch (for Dovetail) +# ------------------------------------------------------------------- +- trigger: + name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-fraser-trigger' + triggers: + - timed: '5 13 * * 6,7' +- trigger: + name: 'fuel-os-odl-nofeature-ha-armband-baremetal-fraser-trigger' + triggers: + - timed: '0 13 * * 6' - trigger: name: 'fuel-os-nosdn-ovs-ha-armband-baremetal-fraser-trigger' triggers: - - timed: '' + - timed: '0 13 * * 7' # -------------------------------------------------------------- # Enea Armband CI Virtual Triggers running against master branch # -------------------------------------------------------------- @@ -362,25 +401,29 @@ triggers: - timed: '' # ------------------------------------------------------------------- -# Enea Armband CI Virtual Triggers running against fraser branch +# Enea Armband CI Virtual Triggers running against gambia branch # ------------------------------------------------------------------- - trigger: - name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-fraser-trigger' + name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-gambia-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-nofeature-noha-armband-virtual-gambia-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-nosdn-nofeature-noha-armband-virtual-fraser-trigger' + name: 'fuel-os-odl-nofeature-ha-armband-virtual-gambia-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-odl-nofeature-ha-armband-virtual-fraser-trigger' + name: 'fuel-os-ovn-nofeature-ha-armband-virtual-gambia-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-ovn-nofeature-ha-armband-virtual-fraser-trigger' + name: 'fuel-os-nosdn-ovs-ha-armband-virtual-gambia-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-nosdn-ovs-ha-armband-virtual-fraser-trigger' + name: 'fuel-os-nosdn-vpp-ha-armband-virtual-gambia-trigger' triggers: - timed: '' diff --git a/jjb/armband/armband-verify-jobs.yaml b/jjb/armband/armband-verify-jobs.yaml index 6add90704..57d80aeac 100644 --- a/jjb/armband/armband-verify-jobs.yaml +++ b/jjb/armband/armband-verify-jobs.yaml @@ -4,7 +4,6 @@ project: 'armband' - installer: 'fuel' ##################################### # branch definitions ##################################### @@ -13,30 +12,22 @@ branch: '{stream}' gs-pathname: '' disabled: false - - fraser: + - gambia: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false ##################################### - # patch verification phases - ##################################### - phase: - - 'deploy-virtual': - slave-label: 'armband-virtual' - ##################################### # jobs ##################################### jobs: - 'armband-verify-{stream}' - - 'armband-verify-{phase}-{stream}' + ##################################### # job templates ##################################### - job-template: name: 'armband-verify-{stream}' - project-type: multijob - disabled: '{obj:disabled}' concurrent: true @@ -45,14 +36,8 @@ - logrotate-default - throttle: enabled: true - max-total: 4 + max-total: 2 option: 'project' - - build-blocker: - use-build-blocker: true - blocking-jobs: - - 'fuel-os-.*?-virtual-daily-.*' - - 'armband-verify-.*' - block-level: 'NODE' scm: - git-scm-gerrit @@ -97,100 +82,19 @@ - project-parameter: project: '{project}' branch: '{branch}' - - 'armband-virtual-defaults': - installer: '{installer}' - - '{installer}-defaults': - gs-pathname: '{gs-pathname}' - - string: - name: DEPLOY_SCENARIO - default: 'os-nosdn-nofeature-ha' + - 'opnfv-build-ubuntu-arm-defaults' builders: - description-setter: description: "Built on $NODE_NAME" - - multijob: - name: deploy-virtual - condition: SUCCESSFUL - projects: - - name: 'armband-verify-deploy-virtual-{stream}' - current-parameters: false - predefined-parameters: | - BRANCH=$BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE - node-parameters: true - kill-phase-on: FAILURE - abort-all-job: true - - - multijob: - name: smoke-test - condition: SUCCESSFUL - projects: - # Use Functest job definition from jjb/functest/functest-daily-jobs - - name: 'functest-fuel-armband-virtual-suite-{stream}' - current-parameters: false - predefined-parameters: | - FUNCTEST_MODE=tier - FUNCTEST_TIER=healthcheck - # Should be in sync with fuel-deploy.sh default scenario - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - BRANCH=$BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE - node-parameters: true - kill-phase-on: NEVER - abort-all-job: true - -- job-template: - name: 'armband-verify-{phase}-{stream}' - - disabled: '{obj:disabled}' - - concurrent: true - - properties: - - logrotate-default - - throttle: - enabled: true - max-total: 2 - max-per-node: 1 - option: 'project' - - build-blocker: - use-build-blocker: true - blocking-jobs: - - 'armband-verify-deploy-.*' - block-level: 'NODE' - - scm: - - git-scm-gerrit + - 'armband-verify-builder-macro' - wrappers: - - ssh-agent-wrapper - - timeout: - timeout: 360 - fail: true - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{slave-label}-defaults' - - 'armband-virtual-defaults': - installer: '{installer}' - - '{installer}-defaults': - gs-pathname: '{gs-pathname}' - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - '{project}-verify-{phase}-macro' ##################################### # builder macros ##################################### - builder: - name: 'armband-verify-deploy-virtual-macro' + name: 'armband-verify-builder-macro' builders: - - shell: - !include-raw: ../fuel/fuel-deploy.sh + - shell: | + #!/bin/bash + make fuel-patches-import diff --git a/jjb/auto/auto.yaml b/jjb/auto/auto.yaml index 62f6ec29d..58838d6f4 100644 --- a/jjb/auto/auto.yaml +++ b/jjb/auto/auto.yaml @@ -65,7 +65,7 @@ use-build-blocker: true blocking-jobs: - '{installer}-os-.*?-{pod}-auto-daily-.*' - block-level: 'NODE' + blocking-level: 'NODE' wrappers: - build-name: diff --git a/jjb/barometer/barometer.yaml b/jjb/barometer/barometer.yaml index 8afe98695..972848f3d 100644 --- a/jjb/barometer/barometer.yaml +++ b/jjb/barometer/barometer.yaml @@ -18,7 +18,7 @@ branch: '{stream}' gs-pathname: '' disabled: false - - fraser: &fraser + - gambia: &gambia branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false diff --git a/jjb/ci_gate_security/opnfv-ci-gate-security.yaml b/jjb/ci_gate_security/opnfv-ci-gate-security.yaml index 2e500befb..365afdd30 100644 --- a/jjb/ci_gate_security/opnfv-ci-gate-security.yaml +++ b/jjb/ci_gate_security/opnfv-ci-gate-security.yaml @@ -126,6 +126,8 @@ name: SLAVE_LABEL default: 'opnfv-build' description: 'Slave label on Jenkins' + all-nodes: false + node-eligibility: 'ignore-offline' - project-parameter: project: $GERRIT_PROJECT branch: '{branch}' diff --git a/jjb/clover/clover-project.yaml b/jjb/clover/clover-project.yaml index 31eed8f14..4abbc0865 100644 --- a/jjb/clover/clover-project.yaml +++ b/jjb/clover/clover-project.yaml @@ -18,7 +18,11 @@ branch: '{stream}' gs-pathname: '' disabled: false - - fraser: &fraser + - gambia: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + - fraser: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false @@ -122,7 +126,7 @@ blocking-jobs: - 'clover-daily-deploy-.*?' - 'container4nfv-daily-deploy-.*?' - block-level: 'NODE' + blocking-level: 'NODE' wrappers: - timeout: diff --git a/jjb/compass4nfv/compass-ci-jobs.yaml b/jjb/compass4nfv/compass-ci-jobs.yaml index e5775b2d5..9dc80748d 100644 --- a/jjb/compass4nfv/compass-ci-jobs.yaml +++ b/jjb/compass4nfv/compass-ci-jobs.yaml @@ -13,14 +13,14 @@ gs-pathname: '' ppa-pathname: '/{stream}' disabled: false - openstack-version: pike - fraser: &fraser - stream: fraser + openstack-version: queens + gambia: &gambia + stream: gambia branch: 'stable/{stream}' disabled: false gs-pathname: '/{stream}' ppa-pathname: '/{stream}' - openstack-version: pike + openstack-version: queens danube: &danube stream: danube branch: 'stable/{stream}' @@ -45,11 +45,11 @@ - baremetal: slave-label: compass-baremetal-branch os-version: 'xenial' - <<: *fraser + <<: *gambia - virtual: slave-label: compass-virtual-branch os-version: 'xenial' - <<: *fraser + <<: *gambia # ------------------------------- # master # ------------------------------- @@ -162,7 +162,7 @@ - 'compass-os-.*?-baremetal-daily-.*?' - 'compass-k8-.*?-baremetal-daily-.*?' - 'compass-verify-[^-]*-[^-]*' - block-level: 'NODE' + blocking-level: 'NODE' wrappers: - fix-workspace-permissions @@ -351,7 +351,7 @@ blocking-jobs: - 'compass-deploy-{pod}-daily-.*?' - 'compass-verify-deploy-.*?' - block-level: 'NODE' + blocking-level: 'NODE' wrappers: - build-name: @@ -389,7 +389,7 @@ !include-raw-escape: ./compass-deploy.sh - conditional-step: condition-kind: regex-match - regex: (danube|fraser) + regex: (danube|gambia) label: '{stream}' steps: - shell: @@ -767,98 +767,98 @@ - timed: '' # ------------------- -# ha-baremetal-fraser +# ha-baremetal-gambia # ------------------- - trigger: - name: 'compass-os-nosdn-nofeature-ha-baremetal-fraser-trigger' + name: 'compass-os-nosdn-nofeature-ha-baremetal-gambia-trigger' triggers: - timed: '0 1 1-29/2 * *' - trigger: - name: 'compass-os-nosdn-openo-ha-baremetal-fraser-trigger' + name: 'compass-os-nosdn-openo-ha-baremetal-gambia-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-odl_l3-nofeature-ha-baremetal-fraser-trigger' + name: 'compass-os-odl_l3-nofeature-ha-baremetal-gambia-trigger' triggers: - timed: '0 21 2-30/2 * *' - trigger: - name: 'compass-os-onos-nofeature-ha-baremetal-fraser-trigger' + name: 'compass-os-onos-nofeature-ha-baremetal-gambia-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-ocl-nofeature-ha-baremetal-fraser-trigger' + name: 'compass-os-ocl-nofeature-ha-baremetal-gambia-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-onos-sfc-ha-baremetal-fraser-trigger' + name: 'compass-os-onos-sfc-ha-baremetal-gambia-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-odl_l2-moon-ha-baremetal-fraser-trigger' + name: 'compass-os-odl_l2-moon-ha-baremetal-gambia-trigger' triggers: - timed: '' # '0 5 1-29/2 * *' - trigger: - name: 'compass-os-nosdn-kvm-ha-baremetal-fraser-trigger' + name: 'compass-os-nosdn-kvm-ha-baremetal-gambia-trigger' triggers: - timed: '0 13 2-30/2 * *' - trigger: - name: 'compass-os-nosdn-ovs_dpdk-ha-baremetal-fraser-trigger' + name: 'compass-os-nosdn-ovs_dpdk-ha-baremetal-gambia-trigger' triggers: - timed: '0 9 1-29/2 * *' - trigger: - name: 'compass-k8-nosdn-nofeature-ha-baremetal-fraser-trigger' + name: 'compass-k8-nosdn-nofeature-ha-baremetal-gambia-trigger' triggers: - timed: '0 5 1-29/2 * *' - trigger: - name: 'compass-os-odl-sfc-ha-baremetal-fraser-trigger' + name: 'compass-os-odl-sfc-ha-baremetal-gambia-trigger' triggers: - timed: '0 17 2-30/2 * *' - trigger: - name: 'compass-os-nosdn-bar-ha-baremetal-fraser-trigger' + name: 'compass-os-nosdn-bar-ha-baremetal-gambia-trigger' triggers: - timed: '0 21 1-29/2 * *' - trigger: - name: 'compass-k8-nosdn-stor4nfv-ha-baremetal-fraser-trigger' + name: 'compass-k8-nosdn-stor4nfv-ha-baremetal-gambia-trigger' triggers: - timed: '0 7 2-30/2 * *' - trigger: - name: 'compass-os-nosdn-stor4nfv-ha-baremetal-fraser-trigger' + name: 'compass-os-nosdn-stor4nfv-ha-baremetal-gambia-trigger' triggers: - timed: '' # --------------------- -# noha-baremetal-fraser +# noha-baremetal-gambia # --------------------- - trigger: - name: 'compass-os-nosdn-kvm-noha-baremetal-fraser-trigger' + name: 'compass-os-nosdn-kvm-noha-baremetal-gambia-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-nosdn-nofeature-noha-baremetal-fraser-trigger' + name: 'compass-os-nosdn-nofeature-noha-baremetal-gambia-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-odl_l3-nofeature-noha-baremetal-fraser-trigger' + name: 'compass-os-odl_l3-nofeature-noha-baremetal-gambia-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-odl_l2-moon-noha-baremetal-fraser-trigger' + name: 'compass-os-odl_l2-moon-noha-baremetal-gambia-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-odl-sfc-noha-baremetal-fraser-trigger' + name: 'compass-os-odl-sfc-noha-baremetal-gambia-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-nosdn-ovs_dpdk-noha-baremetal-fraser-trigger' + name: 'compass-os-nosdn-ovs_dpdk-noha-baremetal-gambia-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-nosdn-bar-noha-baremetal-fraser-trigger' + name: 'compass-os-nosdn-bar-noha-baremetal-gambia-trigger' triggers: - timed: '' - trigger: - name: 'compass-k8-nosdn-stor4nfv-noha-baremetal-fraser-trigger' + name: 'compass-k8-nosdn-stor4nfv-noha-baremetal-gambia-trigger' triggers: - timed: '' @@ -959,97 +959,97 @@ - timed: '0 10 2-30/2 * *' # ----------------- -# ha-virtual-fraser +# ha-virtual-gambia # ----------------- - trigger: - name: 'compass-os-nosdn-nofeature-ha-virtual-fraser-trigger' + name: 'compass-os-nosdn-nofeature-ha-virtual-gambia-trigger' triggers: - timed: '0 23 1-29/2 * *' - trigger: - name: 'compass-os-nosdn-openo-ha-virtual-fraser-trigger' + name: 'compass-os-nosdn-openo-ha-virtual-gambia-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-odl_l3-nofeature-ha-virtual-fraser-trigger' + name: 'compass-os-odl_l3-nofeature-ha-virtual-gambia-trigger' triggers: - timed: '0 22 2-30/2 * *' - trigger: - name: 'compass-os-onos-nofeature-ha-virtual-fraser-trigger' + name: 'compass-os-onos-nofeature-ha-virtual-gambia-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-ocl-nofeature-ha-virtual-fraser-trigger' + name: 'compass-os-ocl-nofeature-ha-virtual-gambia-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-onos-sfc-ha-virtual-fraser-trigger' + name: 'compass-os-onos-sfc-ha-virtual-gambia-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-odl_l2-moon-ha-virtual-fraser-trigger' + name: 'compass-os-odl_l2-moon-ha-virtual-gambia-trigger' triggers: - timed: '0 20 1-29/2 * *' - trigger: - name: 'compass-os-nosdn-kvm-ha-virtual-fraser-trigger' + name: 'compass-os-nosdn-kvm-ha-virtual-gambia-trigger' triggers: - timed: '0 16 2-30/2 * *' - trigger: - name: 'compass-os-nosdn-ovs_dpdk-ha-virtual-fraser-trigger' + name: 'compass-os-nosdn-ovs_dpdk-ha-virtual-gambia-trigger' triggers: - timed: '0 14 1-29/2 * *' - trigger: - name: 'compass-os-odl-sfc-ha-virtual-fraser-trigger' + name: 'compass-os-odl-sfc-ha-virtual-gambia-trigger' triggers: - timed: '0 18 2-30/2 * *' - trigger: - name: 'compass-k8-nosdn-nofeature-ha-virtual-fraser-trigger' + name: 'compass-k8-nosdn-nofeature-ha-virtual-gambia-trigger' triggers: - timed: '5 1 2-30/2 * *' - trigger: - name: 'compass-os-nosdn-bar-ha-virtual-fraser-trigger' + name: 'compass-os-nosdn-bar-ha-virtual-gambia-trigger' triggers: - timed: '0 19 1-29/2 * *' - trigger: - name: 'compass-k8-nosdn-stor4nfv-ha-virtual-fraser-trigger' + name: 'compass-k8-nosdn-stor4nfv-ha-virtual-gambia-trigger' triggers: - timed: '0 15 1-29/2 * *' - trigger: - name: 'compass-os-nosdn-stor4nfv-ha-virtual-fraser-trigger' + name: 'compass-os-nosdn-stor4nfv-ha-virtual-gambia-trigger' triggers: - timed: '' # ------------------- -# noha-virtual-fraser +# noha-virtual-gambia # ------------------- - trigger: - name: 'compass-os-nosdn-kvm-noha-virtual-fraser-trigger' + name: 'compass-os-nosdn-kvm-noha-virtual-gambia-trigger' triggers: - timed: '0 15 1-29/2 * *' - trigger: - name: 'compass-os-nosdn-nofeature-noha-virtual-fraser-trigger' + name: 'compass-os-nosdn-nofeature-noha-virtual-gambia-trigger' triggers: - timed: '0 17 2-30/2 * *' - trigger: - name: 'compass-os-odl_l3-nofeature-noha-virtual-fraser-trigger' + name: 'compass-os-odl_l3-nofeature-noha-virtual-gambia-trigger' triggers: - timed: '0 23 1-29/2 * *' - trigger: - name: 'compass-os-odl_l2-moon-noha-virtual-fraser-trigger' + name: 'compass-os-odl_l2-moon-noha-virtual-gambia-trigger' triggers: - timed: '0 21 2-30/2 * *' - trigger: - name: 'compass-os-odl-sfc-noha-virtual-fraser-trigger' + name: 'compass-os-odl-sfc-noha-virtual-gambia-trigger' triggers: - timed: '0 19 1-29/2 * *' - trigger: - name: 'compass-os-nosdn-ovs_dpdk-noha-virtual-fraser-trigger' + name: 'compass-os-nosdn-ovs_dpdk-noha-virtual-gambia-trigger' triggers: - timed: '0 12 2-30/2 * *' - trigger: - name: 'compass-os-nosdn-bar-noha-virtual-fraser-trigger' + name: 'compass-os-nosdn-bar-noha-virtual-gambia-trigger' triggers: - timed: '0 12 1-29/2 * *' - trigger: - name: 'compass-k8-nosdn-stor4nfv-noha-virtual-fraser-trigger' + name: 'compass-k8-nosdn-stor4nfv-noha-virtual-gambia-trigger' triggers: - timed: '0 13 2-30/2 * *' diff --git a/jjb/compass4nfv/compass-dovetail-jobs.yaml b/jjb/compass4nfv/compass-dovetail-jobs.yaml index c09086348..ec62da3b7 100644 --- a/jjb/compass4nfv/compass-dovetail-jobs.yaml +++ b/jjb/compass4nfv/compass-dovetail-jobs.yaml @@ -51,7 +51,7 @@ blocking-jobs: - 'compass-os-.*?-{pod}-daily-.*?' - 'compass-os-.*?-{pod}-weekly-.*?' - block-level: 'NODE' + blocking-level: 'NODE' wrappers: - build-name: @@ -128,7 +128,7 @@ - 'compass-deploy-{pod}-daily-.*?' - 'compass-deploy-{pod}-weekly-.*' - 'compass-verify-deploy-.*?' - block-level: 'NODE' + blocking-level: 'NODE' wrappers: - build-name: diff --git a/jjb/compass4nfv/compass-project-jobs.yaml b/jjb/compass4nfv/compass-project-jobs.yaml index b85773405..17745a29e 100644 --- a/jjb/compass4nfv/compass-project-jobs.yaml +++ b/jjb/compass4nfv/compass-project-jobs.yaml @@ -20,7 +20,7 @@ gs-pathname: '/{stream}' ppa-pathname: '/{stream}' disabled: false - - fraser: + - gambia: branch: 'stable/{stream}' gs-pathname: '/{stream}' ppa-pathname: '/{stream}' diff --git a/jjb/compass4nfv/compass-verify-jobs.yaml b/jjb/compass4nfv/compass-verify-jobs.yaml index f0cda8273..daedff797 100644 --- a/jjb/compass4nfv/compass-verify-jobs.yaml +++ b/jjb/compass4nfv/compass-verify-jobs.yaml @@ -14,14 +14,14 @@ gs-pathname: '' ppa-pathname: '/{stream}' disabled: false - openstack-version: 'pike' + openstack-version: 'queens' branch-type: 'master' - - fraser: + - gambia: branch: 'stable/{stream}' gs-pathname: '/{stream}' ppa-pathname: '/{stream}' disabled: false - openstack-version: 'pike' + openstack-version: 'queens' branch-type: 'master' distro: @@ -71,7 +71,7 @@ - 'compass-verify-[^-]*-[^-]*' - 'compass-os-.*?-virtual-daily-.*?' - 'compass-k8-.*?-virtual-daily-.*?' - block-level: 'NODE' + blocking-level: 'NODE' wrappers: - ssh-agent-wrapper @@ -184,7 +184,7 @@ blocking-jobs: - 'compass-verify-[^-]*-[^-]*' - 'compass-os-.*?-virtual-daily-.*?' - block-level: 'NODE' + blocking-level: 'NODE' wrappers: - ssh-agent-wrapper @@ -279,7 +279,7 @@ - 'compass-os-.*?-virtual-daily-.*?' - 'compass-verify-deploy-.*' - 'functest-compass-virtual.*' - block-level: 'NODE' + blocking-level: 'NODE' wrappers: - ssh-agent-wrapper diff --git a/jjb/container4nfv/container4nfv-arm64.yaml b/jjb/container4nfv/container4nfv-arm64.yaml index 069a5d25e..5425ae034 100644 --- a/jjb/container4nfv/container4nfv-arm64.yaml +++ b/jjb/container4nfv/container4nfv-arm64.yaml @@ -33,7 +33,7 @@ wrappers: - timeout: - timeout: 210 + timeout: 300 fail: true scm: @@ -63,6 +63,8 @@ unstable-threshold: 'Failure' - project: functest-compass-arm-virtual-daily-master current-parameters: false + predefined-parameters: + DEPLOY_SCENARIO='k8-nosdn-nofeature-ha' same-node: true block: true block-thresholds: diff --git a/jjb/container4nfv/container4nfv-project.yaml b/jjb/container4nfv/container4nfv-project.yaml index 194a1a989..ae9b4369b 100644 --- a/jjb/container4nfv/container4nfv-project.yaml +++ b/jjb/container4nfv/container4nfv-project.yaml @@ -119,7 +119,7 @@ blocking-jobs: - 'clover-daily-deploy-.*?' - 'container4nfv-daily-deploy-.*?' - block-level: 'NODE' + blocking-level: 'NODE' wrappers: - timeout: diff --git a/jjb/cperf/cperf-ci-jobs.yaml b/jjb/cperf/cperf-ci-jobs.yaml index efcf51faa..61bdebd34 100644 --- a/jjb/cperf/cperf-ci-jobs.yaml +++ b/jjb/cperf/cperf-ci-jobs.yaml @@ -204,17 +204,6 @@ docker ps -a | grep opnfv/cperf | awk '{print $1}' | xargs docker rm -f >${redirect} fi - # Remove existing images if exist - if [[ ! -z $(docker images | grep opnfv/cperf) ]]; then - echo "Docker images to remove:" - docker images | head -1 && docker images | grep opnfv/cperf >${redirect} - image_tags=($(docker images | grep opnfv/cperf | awk '{print $2}')) - for tag in "${image_tags[@]}"; do - echo "Removing docker image opnfv/cperf:$tag..." - docker rmi opnfv/cperf:$tag >/dev/null - done - fi - - builder: name: cperf-upload-logs-csit builders: diff --git a/jjb/cperf/cperf-robot-netvirt-csit.sh b/jjb/cperf/cperf-robot-netvirt-csit.sh index 4fdcd102b..abd62a39d 100755 --- a/jjb/cperf/cperf-robot-netvirt-csit.sh +++ b/jjb/cperf/cperf-robot-netvirt-csit.sh @@ -144,19 +144,28 @@ SUITE_HOME='/home/opnfv/repos/odl_test/csit/suites' # Live migration will not work unless we use a shared storage backend like # Ceph which we do not currently use with CSIT images # - -suites="${SUITE_HOME}/openstack/connectivity/l2.robot \ - ${SUITE_HOME}/openstack/connectivity/l3.robot \ - ${SUITE_HOME}/openstack/connectivity/external_network.robot \ - ${SUITE_HOME}/openstack/connectivity/security_group.robot \ - ${SUITE_HOME}/openstack/securitygroup/neutron_security_group.robot \ - ${SUITE_HOME}/openstack/securitygroup/security_group_l3bcast.robot \ - ${SUITE_HOME}/netvirt/vpnservice/vpn_basic.robot \ - ${SUITE_HOME}/netvirt/vpnservice/vpn_basic_ipv6.robot \ - ${SUITE_HOME}/netvirt/elan/elan.robot \ - ${SUITE_HOME}/netvirt/vpnservice/arp_learning.robot \ - ${SUITE_HOME}/netvirt/l2l3_gatewaymac_arp.robot \ - ${SUITE_HOME}/integration/Create_JVM_Plots.robot" +# ${SUITE_HOME}/netvirt/vpnservice/vpn_basic_ipv6.robot +# This suite fails with an error indicating the connection was closed +# to the overcloud control node: +# https://build.opnfv.org/ci/job/cperf-apex-csit-master/104/consoleFull +# +# Minimize HA CSIT as it does not pass all suites +if [ "$NUM_CONTROL_NODES" -eq 3 ]; then + suites="${SUITE_HOME}/openstack/connectivity/l2.robot \ + ${SUITE_HOME}/openstack/connectivity/l3.robot" +else + suites="${SUITE_HOME}/openstack/connectivity/l2.robot \ + ${SUITE_HOME}/openstack/connectivity/l3.robot \ + ${SUITE_HOME}/openstack/connectivity/external_network.robot \ + ${SUITE_HOME}/openstack/connectivity/security_group.robot \ + ${SUITE_HOME}/openstack/securitygroup/neutron_security_group.robot \ + ${SUITE_HOME}/openstack/securitygroup/security_group_l3bcast.robot \ + ${SUITE_HOME}/netvirt/vpnservice/vpn_basic.robot \ + ${SUITE_HOME}/netvirt/elan/elan.robot \ + ${SUITE_HOME}/netvirt/vpnservice/arp_learning.robot \ + ${SUITE_HOME}/netvirt/l2l3_gatewaymac_arp.robot \ + ${SUITE_HOME}/integration/Create_JVM_Plots.robot" +fi echo "Robot command set: ${robot_cmd}" echo "Running robot..." diff --git a/jjb/daisy4nfv/daisy-daily-jobs.yaml b/jjb/daisy4nfv/daisy-daily-jobs.yaml index ba03bc3f2..4a7e6e908 100644 --- a/jjb/daisy4nfv/daisy-daily-jobs.yaml +++ b/jjb/daisy4nfv/daisy-daily-jobs.yaml @@ -105,7 +105,7 @@ - 'daisy-os-.*?-{pod}-daily-.*?' - 'daisy-daily-.*' - 'daisy-kolla-build-.*' - block-level: 'NODE' + blocking-level: 'NODE' wrappers: - build-name: @@ -191,7 +191,7 @@ - '{installer}-(build|deploy|test)-daily-(fraser|master)' - '{installer}-deploy-(baremetal|virtual|zte-pod3|zte-pod9)-daily-(fraser|master)' - '(functest|yardstick)-{installer}-(baremetal|virtual|zte-pod3|zte-pod9)-daily-(fraser|master)' - block-level: 'NODE' + blocking-level: 'NODE' parameters: - project-parameter: diff --git a/jjb/daisy4nfv/daisy-project-jobs.yaml b/jjb/daisy4nfv/daisy-project-jobs.yaml index ec5ba71f2..791454820 100644 --- a/jjb/daisy4nfv/daisy-project-jobs.yaml +++ b/jjb/daisy4nfv/daisy-project-jobs.yaml @@ -60,7 +60,7 @@ - '{installer}-kolla-build-.*' - 'daisy-deploy-.*' - 'daisy-daily-.*' - block-level: 'NODE' + blocking-level: 'NODE' scm: - git-scm @@ -129,7 +129,7 @@ - '{installer}-kolla-build-.*' - 'daisy4nfv-merge-build-.*' - 'daisy4nfv-verify-build-.*' - block-level: 'NODE' + blocking-level: 'NODE' scm: - git-scm @@ -221,7 +221,7 @@ - '{installer}-daily-(build|deploy|test)-(fraser|master)' - '{installer}-.*-(baremetal|virtual|zte-pod3|zte-pod9)-daily-(fraser|master)' - '(functest|yardstick)-{installer}-(baremetal|virtual|zte-pod3|zte-pod9)-daily-(fraser|master)' - block-level: 'NODE' + blocking-level: 'NODE' scm: - git-scm diff --git a/jjb/daisy4nfv/daisy4nfv-merge-jobs.yaml b/jjb/daisy4nfv/daisy4nfv-merge-jobs.yaml index 7e03fabaf..c261c23bc 100644 --- a/jjb/daisy4nfv/daisy4nfv-merge-jobs.yaml +++ b/jjb/daisy4nfv/daisy4nfv-merge-jobs.yaml @@ -61,7 +61,7 @@ use-build-blocker: true blocking-jobs: - '{alias}-merge-(master|fraser)' - block-level: 'NODE' + blocking-level: 'NODE' scm: - git-scm @@ -158,7 +158,7 @@ blocking-jobs: - '{alias}-merge-{phase}-.*' - '{installer}-daily-.*' - block-level: 'NODE' + blocking-level: 'NODE' scm: - git-scm diff --git a/jjb/daisy4nfv/daisy4nfv-verify-jobs.yaml b/jjb/daisy4nfv/daisy4nfv-verify-jobs.yaml index 033beeb6d..c8c1db096 100644 --- a/jjb/daisy4nfv/daisy4nfv-verify-jobs.yaml +++ b/jjb/daisy4nfv/daisy4nfv-verify-jobs.yaml @@ -55,7 +55,7 @@ use-build-blocker: true blocking-jobs: - '{alias}-merge-build-.*' - block-level: 'NODE' + blocking-level: 'NODE' scm: - git-scm-gerrit @@ -158,7 +158,7 @@ - '{alias}-merge-build-.*' - '{alias}-verify-build-.*' - '{installer}-daily-.*' - block-level: 'NODE' + blocking-level: 'NODE' scm: - git-scm-gerrit diff --git a/jjb/doctor/doctor.yaml b/jjb/doctor/doctor.yaml index 82a85d3b8..2d5fe0ef2 100644 --- a/jjb/doctor/doctor.yaml +++ b/jjb/doctor/doctor.yaml @@ -3,6 +3,11 @@ name: doctor project: '{name}' + project-name: '{name}' + project-pattern: '{project}' + + rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-doctor/47214/' + rtd-token: '13264f62c1a044e39e9aed22a0dc1853d5a0b196' stream: - master: @@ -46,6 +51,7 @@ - 'doctor-verify-fault_management-{installer}-{inspector}-{arch}-{stream}' - 'doctor-verify-maintenance-{installer}-{inspector}-{arch}-{stream}' - 'doctor-verify-all-{installer}-{inspector}-{arch}-{stream}' + - '{project-name}-rtd-jobs' - job-template: name: 'doctor-verify-{stream}' diff --git a/jjb/dovetail-webportal/dovetail-webportal-project-jobs.yaml b/jjb/dovetail-webportal/dovetail-webportal-project-jobs.yaml index f7d3213c4..a579af6d6 100644 --- a/jjb/dovetail-webportal/dovetail-webportal-project-jobs.yaml +++ b/jjb/dovetail-webportal/dovetail-webportal-project-jobs.yaml @@ -55,7 +55,7 @@ - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' builders: - - dovetail-webportal-hello-world + - dovetail-webportal-unit-tests - job-template: name: 'dovetail-webportal-merge-{stream}' @@ -86,16 +86,17 @@ branch-pattern: '**/{branch}' builders: - - dovetail-webportal-hello-world + - dovetail-webportal-unit-tests ################################ # builders for dovetail project ############################### - builder: - name: dovetail-webportal-hello-world + name: dovetail-webportal-unit-tests builders: - shell: | #!/bin/bash set -o errexit + set -o pipefail - echo "hello world" + tox diff --git a/jjb/dovetail/dovetail-ci-jobs.yaml b/jjb/dovetail/dovetail-ci-jobs.yaml index 8d47616d8..e3b87c7cb 100644 --- a/jjb/dovetail/dovetail-ci-jobs.yaml +++ b/jjb/dovetail/dovetail-ci-jobs.yaml @@ -23,9 +23,9 @@ fraser: &fraser stream: fraser branch: 'stable/{stream}' - dovetail-branch: master + dovetail-branch: 'stable/{stream}' gs-pathname: '/{stream}' - docker-tag: 'latest' + docker-tag: 'ovp-2.0.0' # ---------------------------------- # POD, PLATFORM, AND BRANCH MAPPING diff --git a/jjb/dovetail/dovetail-run.sh b/jjb/dovetail/dovetail-run.sh index 739da9eac..5fe3d36bb 100755 --- a/jjb/dovetail/dovetail-run.sh +++ b/jjb/dovetail/dovetail-run.sh @@ -16,7 +16,7 @@ set -e DEPLOY_TYPE=baremetal [[ $BUILD_TAG =~ "virtual" ]] && DEPLOY_TYPE=virt -DOVETAIL_HOME=${WORKSPACE}/cvp +DOVETAIL_HOME=${WORKSPACE}/ovp [ -d ${DOVETAIL_HOME} ] && sudo rm -rf ${DOVETAIL_HOME} mkdir -p ${DOVETAIL_HOME} @@ -27,13 +27,43 @@ mkdir -p ${DOVETAIL_CONFIG} DOVETAIL_IMAGES=${DOVETAIL_HOME}/images mkdir -p ${DOVETAIL_IMAGES} +OPENRC=${DOVETAIL_CONFIG}/env_config.sh +CACERT=${DOVETAIL_CONFIG}/os_cacert + ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" sshkey="" -# The path of openrc.sh is defined in fetch_os_creds.sh -OPENRC=${DOVETAIL_CONFIG}/env_config.sh -CACERT=${DOVETAIL_CONFIG}/os_cacert -if [[ ${INSTALLER_TYPE} == 'apex' ]]; then + +check_file_exists() { + if [[ -f $1 ]]; then + return 0 + else + return 1 + fi +} + +get_cred_file_with_scripts() { + echo "INFO: clone releng repo..." + releng_repo=${WORKSPACE}/releng + [ -d ${releng_repo} ] && sudo rm -rf ${releng_repo} + git clone https://gerrit.opnfv.org/gerrit/releng ${releng_repo} >/dev/null + + echo "INFO: clone pharos repo..." + pharos_repo=${WORKSPACE}/pharos + [ -d ${pharos_repo} ] && sudo rm -rf ${pharos_repo} + git clone https://git.opnfv.org/pharos ${pharos_repo} >/dev/null + + echo "INFO: SUT branch is $SUT_BRANCH" + echo "INFO: dovetail branch is $BRANCH" + BRANCH_BACKUP=$BRANCH + export BRANCH=$SUT_BRANCH + cmd="${releng_repo}/utils/fetch_os_creds.sh -d ${OPENRC} -i ${INSTALLER_TYPE} -a ${INSTALLER_IP} -o ${CACERT} >${redirect}" + echo "INFO: cmd is ${cmd}" + ${cmd} + export BRANCH=$BRANCH_BACKUP +} + +get_apex_cred_file() { instack_mac=$(sudo virsh domiflist undercloud | grep default | \ grep -Eo "[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+") INSTALLER_IP=$(/usr/sbin/arp -e | grep ${instack_mac} | awk {'print $1'}) @@ -43,59 +73,79 @@ if [[ ${INSTALLER_TYPE} == 'apex' ]]; then sudo iptables -D FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable sudo iptables -D FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable fi -elif [[ ${INSTALLER_TYPE} == 'joid' ]]; then - # If production lab then creds may be retrieved dynamically - # creds are on the jumphost, always in the same folder - sudo cp $LAB_CONFIG/admin-openrc $OPENRC - # If dev lab, credentials may not be the default ones, just provide a path to put them into docker - # replace the default one by the customized one provided by jenkins config -fi + get_cred_file_with_scripts +} -# 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 +get_compass_cred_file() { + get_cred_file_with_scripts +} -releng_repo=${WORKSPACE}/releng -[ -d ${releng_repo} ] && sudo rm -rf ${releng_repo} -git clone https://gerrit.opnfv.org/gerrit/releng ${releng_repo} >/dev/null +get_fuel_cred_file() { + get_cred_file_with_scripts +} -pharos_repo=${WORKSPACE}/pharos -[ -d ${pharos_repo} ] && sudo rm -rf ${pharos_repo} -git clone https://git.opnfv.org/pharos ${pharos_repo} >/dev/null - -if [[ ${INSTALLER_TYPE} != 'joid' ]]; then - echo "SUT branch is $SUT_BRANCH" - echo "dovetail branch is $BRANCH" - BRANCH_BACKUP=$BRANCH - export BRANCH=$SUT_BRANCH - ${releng_repo}/utils/fetch_os_creds.sh -d ${OPENRC} -i ${INSTALLER_TYPE} -a ${INSTALLER_IP} -o ${CACERT} >${redirect} - export BRANCH=$BRANCH_BACKUP -fi +get_joid_cred_file() { + # If production lab then creds may be retrieved dynamically + # creds are on the jumphost, always in the same folder + sudo cp $LAB_CONFIG/admin-openrc $OPENRC +} -if [[ -f $OPENRC ]]; then - echo "INFO: openstack credentials path is $OPENRC" - if [[ ! "${SUT_BRANCH}" =~ "danube" && ${INSTALLER_TYPE} == "compass" ]]; then - if [[ -f ${CACERT} ]]; then - echo "INFO: ${INSTALLER_TYPE} openstack cacert file is ${CACERT}" +change_cred_file_cacert_path() { + check_file_exists ${CACERT} + if [[ $? == 0 ]]; then + echo "INFO: set ${INSTALLER_TYPE} openstack cacert file to be ${CACERT}" + if [[ ${INSTALLER_TYPE} == "compass" ]]; then echo "export OS_CACERT=${CACERT}" >> ${OPENRC} - else - echo "ERROR: Can't find ${INSTALLER_TYPE} openstack cacert file. Please check if it is existing." - sudo ls -al ${DOVETAIL_CONFIG} - exit 1 + elif [[ ${INSTALLER_TYPE} == "fuel" ]]; then + sed -i "s#/etc/ssl/certs/mcp_os_cacert#${CACERT}#g" ${OPENRC} fi + else + echo "ERROR: cannot find file $OPENRC. Please check if it is existing." + sudo ls -al ${DOVETAIL_CONFIG} + exit 1 fi - echo "export EXTERNAL_NETWORK=${EXTERNAL_NETWORK}" >> ${OPENRC} -else - echo "ERROR: cannot find file $OPENRC. Please check if it is existing." - sudo ls -al ${DOVETAIL_CONFIG} - exit 1 -fi +} -if [[ ! "${SUT_BRANCH}" =~ "danube" && ${INSTALLER_TYPE} == "fuel" ]]; then - sed -i "s#/etc/ssl/certs/mcp_os_cacert#${CACERT}#g" ${OPENRC} -fi -cat $OPENRC +change_cred_file_ext_net() { + check_file_exists ${OPENRC} + if [[ $? == 0 ]]; then + echo "export EXTERNAL_NETWORK=${EXTERNAL_NETWORK}" >> ${OPENRC} + else + echo "ERROR: cannot find file $OPENRC. Please check if it is existing." + sudo ls -al ${DOVETAIL_CONFIG} + exit 1 + fi +} + +get_cred_file() { + if [[ ${INSTALLER_TYPE} == 'apex' ]]; then + get_apex_cred_file + elif [[ ${INSTALLER_TYPE} == 'compass' ]]; then + get_compass_cred_file + elif [[ ${INSTALLER_TYPE} == 'fuel' ]]; then + get_fuel_cred_file + elif [[ ${INSTALLER_TYPE} == 'joid' ]]; then + get_joid_cred_file + fi + + check_file_exists ${OPENRC} + if [[ $? == 0 ]]; then + echo "INFO: original openstack credentials file is" + cat $OPENRC + echo "INFO: change cacert file path in credentials file" + change_cred_file_cacert_path + echo "INFO: set external network in credentials file" + change_cred_file_ext_net + echo "INFO: final openstack credentials file is" + cat $OPENRC + else + echo "ERROR: cannot find file $OPENRC. Please check if it is existing." + sudo ls -al ${DOVETAIL_CONFIG} + exit 1 + fi +} + +get_cred_file # These packages are used for parsing yaml files and decrypting ipmi user and password. sudo pip install shyaml @@ -218,6 +268,11 @@ process_info: - {testcase_name: yardstick.ha.neutron_l3_agent, attack_process: neutron-l3-agent, attack_host: cmp01} - {testcase_name: yardstick.ha.database, attack_process: mysqld, attack_host: dbs01} EOF + elif [ "$INSTALLER_TYPE" == "compass" ]; then + cat << EOF >> ${DOVETAIL_CONFIG}/pod.yaml +process_info: +- {testcase_name: yardstick.ha.rabbitmq, attack_process: rabbitmq} +EOF fi echo "file ${DOVETAIL_CONFIG}/pod.yaml:" diff --git a/jjb/fuel/fuel-daily-jobs.yaml b/jjb/fuel/fuel-daily-jobs.yaml index 07cdb7345..936187ccb 100644 --- a/jjb/fuel/fuel-daily-jobs.yaml +++ b/jjb/fuel/fuel-daily-jobs.yaml @@ -21,8 +21,8 @@ branch: 'stable/{stream}' disabled: false gs-pathname: '/{stream}' - danube: &danube - stream: danube + gambia: &gambia + stream: gambia branch: 'stable/{stream}' disabled: false gs-pathname: '/{stream}' @@ -40,9 +40,12 @@ <<: *master - baremetal: slave-label: fuel-baremetal - <<: *fraser + <<: *gambia - virtual: slave-label: fuel-virtual + <<: *gambia + - baremetal: + slave-label: fuel-baremetal <<: *fraser # ------------------------------- # None-CI PODs @@ -59,22 +62,10 @@ auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - 'os-odl-nofeature-ha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - - 'os-onos-sfc-ha': - auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - - 'os-onos-nofeature-ha': - auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - 'os-ovn-nofeature-ha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - - 'os-nosdn-kvm-ha': - auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - 'os-nosdn-ovs-ha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - - 'os-nosdn-kvm_ovs-ha': - auto-trigger-name: 'daily-trigger-disabled' - - 'os-nosdn-kvm_ovs_dpdk-ha': - auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - - 'os-nosdn-kvm_ovs_dpdk_bar-ha': - auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - 'os-nosdn-vpp-ha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' # NOHA scenarios @@ -82,47 +73,37 @@ auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - 'os-odl-nofeature-noha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - - 'os-onos-sfc-noha': - auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - - 'os-onos-nofeature-noha': + - 'os-odl-sfc-noha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - 'os-ovn-nofeature-noha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - 'os-odl-ovs-noha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - - 'os-nosdn-kvm-noha': - auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - 'os-nosdn-ovs-noha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - - 'os-nosdn-kvm_ovs_dpdk-noha': - auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - - 'os-nosdn-kvm_ovs_dpdk_bar-noha': - auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - 'os-nosdn-vpp-noha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - # danube scenario for Dovetail only - - 'os-odl_l2-bgpvpn-ha': - auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' exclude: - - scenario: os-odl_l2-bgpvpn-ha - stream: master - - scenario: os-odl_l2-bgpvpn-ha + # Dovetail (and only it) should run against Fraser HA baremetal scenarios + - scenario: os-nosdn-nofeature-noha + stream: fraser + - scenario: os-odl-nofeature-noha + stream: fraser + - scenario: os-odl-sfc-noha stream: fraser - - scenario: os-ovn-nofeature-noha - stream: danube - - scenario: os-ovn-nofeature-ha - stream: danube - scenario: os-odl-ovs-noha stream: fraser - - scenario: os-nosdn-vpp-ha + - scenario: os-ovn-nofeature-noha + stream: fraser + - scenario: os-nosdn-ovs-noha stream: fraser - scenario: os-nosdn-vpp-noha stream: fraser + - scenario: os-ovn-nofeature-ha + stream: fraser - scenario: os-nosdn-vpp-ha - stream: danube - - scenario: os-nosdn-vpp-noha - stream: danube + stream: fraser jobs: - 'fuel-{scenario}-{pod}-daily-{stream}' @@ -150,9 +131,8 @@ use-build-blocker: true blocking-jobs: - 'fuel-os-.*?-{pod}-daily-.*' - - 'fuel-os-.*?-{pod}-weekly-.*' - 'fuel-verify-.*' - block-level: 'NODE' + blocking-level: 'NODE' wrappers: - build-name: @@ -183,42 +163,33 @@ DEPLOY_SCENARIO={scenario} same-node: true block: true - - trigger-builds: - - project: 'functest-fuel-{pod}-daily-{stream}' - current-parameters: false - predefined-parameters: - DEPLOY_SCENARIO={scenario} - same-node: true - block: true - block-thresholds: - build-step-failure-threshold: 'never' - failure-threshold: 'never' - unstable-threshold: 'FAILURE' - - trigger-builds: - - project: 'yardstick-fuel-{pod}-daily-{stream}' - current-parameters: false - predefined-parameters: - DEPLOY_SCENARIO={scenario} - block: true - same-node: true - block-thresholds: - build-step-failure-threshold: 'never' - failure-threshold: 'never' - unstable-threshold: 'FAILURE' - # 1.here the stream means the SUT stream, dovetail stream is defined in its own job - # 2.testsuite default here is for the test cases already added into OVP - # 3.run default testsuite mandatory test cases against ha scenario - # 4.run default testsuite optional test cases against ha scenario - # 5.not used for release criteria or compliance, only to debug the dovetail tool bugs - conditional-step: - condition-kind: and - condition-operands: - - condition-kind: regex-match - regex: '.*-ha' - label: '{scenario}' + condition-kind: not + condition-operand: + condition-kind: regex-match + regex: 'fraser' + label: '{stream}' steps: - trigger-builds: - - project: 'dovetail-fuel-{pod}-default-mandatory-{stream}' + - project: 'functest-fuel-{pod}-daily-{stream}' + current-parameters: false + predefined-parameters: + DEPLOY_SCENARIO={scenario} + same-node: true + block: true + block-thresholds: + build-step-failure-threshold: 'never' + failure-threshold: 'never' + unstable-threshold: 'FAILURE' + - conditional-step: + condition-kind: not + condition-operand: + condition-kind: regex-match + regex: 'fraser' + label: '{stream}' + steps: + - trigger-builds: + - project: 'yardstick-fuel-{pod}-daily-{stream}' current-parameters: false predefined-parameters: DEPLOY_SCENARIO={scenario} @@ -228,15 +199,23 @@ build-step-failure-threshold: 'never' failure-threshold: 'never' unstable-threshold: 'FAILURE' + # 1.here the stream means the SUT stream, dovetail stream is defined in its own job + # 2.testsuite default here is for the test cases already added into OVP + # 3.run default testsuite mandatory test cases against ha scenario + # 4.run default testsuite optional test cases against ha scenario + # 5.not used for release criteria or compliance, only to debug the dovetail tool bugs - conditional-step: condition-kind: and condition-operands: - condition-kind: regex-match regex: '.*-ha' label: '{scenario}' + - condition-kind: regex-match + regex: 'fraser' + label: '{stream}' steps: - trigger-builds: - - project: 'dovetail-fuel-{pod}-default-optional-{stream}' + - project: 'dovetail-fuel-{pod}-default-mandatory-{stream}' current-parameters: false predefined-parameters: DEPLOY_SCENARIO={scenario} @@ -247,14 +226,17 @@ failure-threshold: 'never' unstable-threshold: 'FAILURE' - conditional-step: - condition-kind: not - condition-operand: - condition-kind: regex-match - regex: 'danube' - label: '{stream}' + condition-kind: and + condition-operands: + - condition-kind: regex-match + regex: '.*-ha' + label: '{scenario}' + - condition-kind: regex-match + regex: 'fraser' + label: '{stream}' steps: - trigger-builds: - - project: 'fuel-collect-logs-{pod}-daily-{stream}' + - project: 'dovetail-fuel-{pod}-default-optional-{stream}' current-parameters: false predefined-parameters: DEPLOY_SCENARIO={scenario} @@ -264,6 +246,17 @@ build-step-failure-threshold: 'never' failure-threshold: 'never' unstable-threshold: 'FAILURE' + - trigger-builds: + - project: 'fuel-collect-logs-{pod}-daily-{stream}' + current-parameters: false + predefined-parameters: + DEPLOY_SCENARIO={scenario} + block: true + same-node: true + block-thresholds: + build-step-failure-threshold: 'never' + failure-threshold: 'never' + unstable-threshold: 'FAILURE' publishers: - email-fuel-ptl @@ -287,10 +280,7 @@ use-build-blocker: true blocking-jobs: - 'fuel-deploy-{pod}-daily-.*' - - 'fuel-deploy-generic-daily-.*' - - 'fuel-deploy-{pod}-weekly-.*' - - 'fuel-deploy-generic-weekly-.*' - block-level: 'NODE' + blocking-level: 'NODE' parameters: - project-parameter: @@ -317,8 +307,6 @@ description: "Built on $NODE_NAME" - track-begin-timestamp - shell: - !include-raw-escape: ./fuel-download-artifact.sh - - shell: !include-raw-escape: ./fuel-deploy.sh publishers: @@ -384,30 +372,10 @@ triggers: - timed: '5 5 * * *' - trigger: - name: 'fuel-os-onos-sfc-ha-baremetal-daily-master-trigger' - triggers: - - timed: '' # '5 5 * * *' -- trigger: - name: 'fuel-os-onos-nofeature-ha-baremetal-daily-master-trigger' - triggers: - - timed: '' # '5 8 * * *' -- trigger: name: 'fuel-os-ovn-nofeature-ha-baremetal-daily-master-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-nosdn-kvm-ha-baremetal-daily-master-trigger' - triggers: - - timed: '' # '5 17 * * *' -- trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk-ha-baremetal-daily-master-trigger' - triggers: - - timed: '' # '30 12 * * *' -- trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-ha-baremetal-daily-master-trigger' - triggers: - - timed: '' # '30 8 * * *' -- trigger: name: 'fuel-os-nosdn-vpp-ha-baremetal-daily-master-trigger' triggers: - timed: '' @@ -422,11 +390,7 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-onos-sfc-noha-baremetal-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-onos-nofeature-noha-baremetal-daily-master-trigger' + name: 'fuel-os-odl-sfc-noha-baremetal-daily-master-trigger' triggers: - timed: '' - trigger: @@ -438,100 +402,64 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-nosdn-kvm-noha-baremetal-daily-master-trigger' - triggers: - - timed: '' -- trigger: name: 'fuel-os-nosdn-ovs-noha-baremetal-daily-master-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk-noha-baremetal-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-noha-baremetal-daily-master-trigger' - triggers: - - timed: '' -- trigger: name: 'fuel-os-nosdn-vpp-noha-baremetal-daily-master-trigger' triggers: - timed: '' # ---------------------------------------------- -# Triggers for job running on fuel-baremetal against fraser branch +# Triggers for job running on fuel-baremetal against gambia branch # ---------------------------------------------- # HA Scenarios - trigger: - name: 'fuel-os-nosdn-nofeature-ha-baremetal-daily-fraser-trigger' - triggers: - - timed: '0 20 * * 1,3,7' -- trigger: - name: 'fuel-os-odl-nofeature-ha-baremetal-daily-fraser-trigger' + name: 'fuel-os-nosdn-nofeature-ha-baremetal-daily-gambia-trigger' triggers: - - timed: '' # '0 2 * * *' + - timed: '0 20 * * *' - trigger: - name: 'fuel-os-onos-sfc-ha-baremetal-daily-fraser-trigger' + name: 'fuel-os-odl-nofeature-ha-baremetal-daily-gambia-trigger' triggers: - - timed: '' # '0 5 * * *' + - timed: '0 2 * * *' - trigger: - name: 'fuel-os-ovn-nofeature-ha-baremetal-daily-fraser-trigger' + name: 'fuel-os-ovn-nofeature-ha-baremetal-daily-gambia-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-onos-nofeature-ha-baremetal-daily-fraser-trigger' + name: 'fuel-os-nosdn-ovs-ha-baremetal-daily-gambia-trigger' triggers: - - timed: '' # '0 8 * * *' + - timed: '0 5 * * *' - trigger: - name: 'fuel-os-nosdn-kvm-ha-baremetal-daily-fraser-trigger' - triggers: - - timed: '' # '0 17 * * *' -- trigger: - name: 'fuel-os-nosdn-ovs-ha-baremetal-daily-fraser-trigger' - triggers: - - timed: '' # '0 20 * * *' -- trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk-ha-baremetal-daily-fraser-trigger' - triggers: - - timed: '' # '0 12 * * *' -- trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-ha-baremetal-daily-fraser-trigger' - triggers: - - timed: '' # '0 8 * * *' -# NOHA Scenarios -- trigger: - name: 'fuel-os-nosdn-nofeature-noha-baremetal-daily-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl-nofeature-noha-baremetal-daily-fraser-trigger' + name: 'fuel-os-nosdn-vpp-ha-baremetal-daily-gambia-trigger' triggers: - timed: '' +# NOHA Scenarios - trigger: - name: 'fuel-os-onos-sfc-noha-baremetal-daily-fraser-trigger' + name: 'fuel-os-nosdn-nofeature-noha-baremetal-daily-gambia-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-onos-nofeature-noha-baremetal-daily-fraser-trigger' + name: 'fuel-os-odl-nofeature-noha-baremetal-daily-gambia-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-ovn-nofeature-noha-baremetal-daily-fraser-trigger' + name: 'fuel-os-odl-sfc-noha-baremetal-daily-gambia-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-nosdn-kvm-noha-baremetal-daily-fraser-trigger' + name: 'fuel-os-ovn-nofeature-noha-baremetal-daily-gambia-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-nosdn-ovs-noha-baremetal-daily-fraser-trigger' + name: 'fuel-os-odl-ovs-noha-baremetal-daily-gambia-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk-noha-baremetal-daily-fraser-trigger' + name: 'fuel-os-nosdn-ovs-noha-baremetal-daily-gambia-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-noha-baremetal-daily-fraser-trigger' + name: 'fuel-os-nosdn-vpp-noha-baremetal-daily-gambia-trigger' triggers: - timed: '' # ---------------------------------------------- @@ -546,34 +474,14 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-onos-sfc-ha-virtual-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-onos-nofeature-ha-virtual-daily-master-trigger' - triggers: - - timed: '' -- trigger: name: 'fuel-os-ovn-nofeature-ha-virtual-daily-master-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-nosdn-kvm-ha-virtual-daily-master-trigger' - triggers: - - timed: '' -- trigger: name: 'fuel-os-nosdn-ovs-ha-virtual-daily-master-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk-ha-virtual-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-ha-virtual-daily-master-trigger' - triggers: - - timed: '' -- trigger: name: 'fuel-os-nosdn-vpp-ha-virtual-daily-master-trigger' triggers: - timed: '' @@ -587,13 +495,9 @@ triggers: - timed: '5 18 * * *' - trigger: - name: 'fuel-os-onos-sfc-noha-virtual-daily-master-trigger' - triggers: - - timed: '' # '35 20 * * *' -- trigger: - name: 'fuel-os-onos-nofeature-noha-virtual-daily-master-trigger' + name: 'fuel-os-odl-sfc-noha-virtual-daily-master-trigger' triggers: - - timed: '' # '5 23 * * *' + - timed: '5 4 * * *' - trigger: name: 'fuel-os-ovn-nofeature-noha-virtual-daily-master-trigger' triggers: @@ -603,101 +507,80 @@ triggers: - timed: '5 2 * * *' - trigger: - name: 'fuel-os-nosdn-kvm-noha-virtual-daily-master-trigger' - triggers: - - timed: '' # '35 6 * * *' -- trigger: name: 'fuel-os-nosdn-ovs-noha-virtual-daily-master-trigger' triggers: - timed: '5 9 * * *' - trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk-noha-virtual-daily-master-trigger' - triggers: - - timed: '' # '30 16 * * *' -- trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-noha-virtual-daily-master-trigger' - triggers: - - timed: '' # '30 20 * * *' -- trigger: name: 'fuel-os-nosdn-vpp-noha-virtual-daily-master-trigger' triggers: - timed: '' # ---------------------------------------------- -# Triggers for job running on fuel-virtual against fraser branch +# Triggers for job running on fuel-baremetal against fraser branch (for Dovetail) # ---------------------------------------------- - trigger: - name: 'fuel-os-nosdn-nofeature-ha-virtual-daily-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl-nofeature-ha-virtual-daily-fraser-trigger' + name: 'fuel-os-nosdn-nofeature-ha-baremetal-daily-fraser-trigger' triggers: - - timed: '' + - timed: '5 13 * * 6,7' - trigger: - name: 'fuel-os-onos-sfc-ha-virtual-daily-fraser-trigger' + name: 'fuel-os-odl-nofeature-ha-baremetal-daily-fraser-trigger' triggers: - - timed: '' + - timed: '0 13 * * 6' - trigger: - name: 'fuel-os-onos-nofeature-ha-virtual-daily-fraser-trigger' + name: 'fuel-os-nosdn-ovs-ha-baremetal-daily-fraser-trigger' triggers: - - timed: '' + - timed: '0 13 * * 7' +# ---------------------------------------------- +# Triggers for job running on fuel-virtual against gambia branch +# ---------------------------------------------- - trigger: - name: 'fuel-os-ovn-nofeature-ha-virtual-daily-fraser-trigger' + name: 'fuel-os-nosdn-nofeature-ha-virtual-daily-gambia-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-nosdn-kvm-ha-virtual-daily-fraser-trigger' + name: 'fuel-os-odl-nofeature-ha-virtual-daily-gambia-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-nosdn-ovs-ha-virtual-daily-fraser-trigger' + name: 'fuel-os-ovn-nofeature-ha-virtual-daily-gambia-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk-ha-virtual-daily-fraser-trigger' + name: 'fuel-os-nosdn-ovs-ha-virtual-daily-gambia-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-ha-virtual-daily-fraser-trigger' + name: 'fuel-os-nosdn-vpp-ha-virtual-daily-gambia-trigger' triggers: - timed: '' # NOHA Scenarios - trigger: - name: 'fuel-os-nosdn-nofeature-noha-virtual-daily-fraser-trigger' + name: 'fuel-os-nosdn-nofeature-noha-virtual-daily-gambia-trigger' triggers: - - timed: '' # '0 13 * * *' + - timed: '0 13 * * *' - trigger: - name: 'fuel-os-odl-nofeature-noha-virtual-daily-fraser-trigger' + name: 'fuel-os-odl-nofeature-noha-virtual-daily-gambia-trigger' triggers: - - timed: '' # '0 18 * * *' + - timed: '0 18 * * *' - trigger: - name: 'fuel-os-ovn-nofeature-noha-virtual-daily-fraser-trigger' + name: 'fuel-os-odl-sfc-noha-virtual-daily-gambia-trigger' triggers: - - timed: '5 23 * * *' + - timed: '0 4 * * *' - trigger: - name: 'fuel-os-onos-sfc-noha-virtual-daily-fraser-trigger' + name: 'fuel-os-ovn-nofeature-noha-virtual-daily-gambia-trigger' triggers: - - timed: '' # '30 20 * * *' + - timed: '0 23 * * *' - trigger: - name: 'fuel-os-onos-nofeature-noha-virtual-daily-fraser-trigger' + name: 'fuel-os-odl-ovs-noha-virtual-daily-gambia-trigger' triggers: - - timed: '' # '0 23 * * *' + - timed: '0 2 * * *' - trigger: - name: 'fuel-os-nosdn-kvm-noha-virtual-daily-fraser-trigger' + name: 'fuel-os-nosdn-ovs-noha-virtual-daily-gambia-trigger' triggers: - - timed: '' # '30 6 * * *' + - timed: '0 9 * * *' - trigger: - name: 'fuel-os-nosdn-ovs-noha-virtual-daily-fraser-trigger' + name: 'fuel-os-nosdn-vpp-noha-virtual-daily-gambia-trigger' triggers: - - timed: '' # '0 9 * * *' -- trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk-noha-virtual-daily-fraser-trigger' - triggers: - - timed: '' # '0 16 * * *' -- trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-noha-virtual-daily-fraser-trigger' - triggers: - - timed: '' # '0 20 * * *' + - timed: '' # ---------------------------------------------- # ZTE POD1 Triggers running against master branch # ---------------------------------------------- @@ -710,34 +593,14 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-onos-sfc-ha-zte-pod1-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-onos-nofeature-ha-zte-pod1-daily-master-trigger' - triggers: - - timed: '' -- trigger: name: 'fuel-os-ovn-nofeature-ha-zte-pod1-daily-master-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-nosdn-kvm-ha-zte-pod1-daily-master-trigger' - triggers: - - timed: '' -- trigger: name: 'fuel-os-nosdn-ovs-ha-zte-pod1-daily-master-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk-ha-zte-pod1-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-ha-zte-pod1-daily-master-trigger' - triggers: - - timed: '' -- trigger: name: 'fuel-os-nosdn-vpp-ha-zte-pod1-daily-master-trigger' triggers: - timed: '' @@ -751,11 +614,7 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-onos-sfc-noha-zte-pod1-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-onos-nofeature-noha-zte-pod1-daily-master-trigger' + name: 'fuel-os-odl-sfc-noha-zte-pod1-daily-master-trigger' triggers: - timed: '' - trigger: @@ -767,22 +626,10 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-nosdn-kvm-noha-zte-pod1-daily-master-trigger' - triggers: - - timed: '' -- trigger: name: 'fuel-os-nosdn-ovs-noha-zte-pod1-daily-master-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk-noha-zte-pod1-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-noha-zte-pod1-daily-master-trigger' - triggers: - - timed: '' -- trigger: name: 'fuel-os-nosdn-vpp-noha-zte-pod1-daily-master-trigger' triggers: - timed: '' diff --git a/jjb/fuel/fuel-deploy.sh b/jjb/fuel/fuel-deploy.sh index dace7fc7f..c0cdc3dc2 100755 --- a/jjb/fuel/fuel-deploy.sh +++ b/jjb/fuel/fuel-deploy.sh @@ -1,7 +1,7 @@ #!/bin/bash # SPDX-license-identifier: Apache-2.0 ############################################################################## -# Copyright (c) 2017 Ericsson AB, Mirantis Inc., Enea Software AB and others. +# Copyright (c) 2018 Ericsson AB, Mirantis Inc., Enea Software AB and others. # 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,83 +12,37 @@ set -o pipefail export TERM="vt220" -if [[ "$BRANCH" =~ 'danube' ]]; then - # source the file so we get OPNFV vars - # shellcheck disable=SC1091 - source latest.properties - - # echo the info about artifact that is used during the deployment - echo "Using ${OPNFV_ARTIFACT_URL/*\/} for deployment" - - # for Danube deployments (no artifact for current master or newer branches) - # checkout the commit that was used for building the downloaded artifact - # to make sure the ISO and deployment mechanism uses same versions - echo "Checking out ${OPNFV_GIT_SHA1}" - git checkout "${OPNFV_GIT_SHA1}" --quiet - - # releng wants us to use nothing else but opnfv.iso for now. We comply. - ISO_FILE_ARG="-i file://${WORKSPACE}/opnfv.iso" -fi - -# shellcheck disable=SC2153 -if [[ "${JOB_NAME}" =~ 'verify' ]]; then - # set simplest scenario for virtual deploys to run for verify - DEPLOY_SCENARIO="os-nosdn-nofeature-noha" -fi - # set deployment parameters export TMPDIR=${HOME}/tmpdir # shellcheck disable=SC2153 LAB_NAME=${NODE_NAME/-*} # shellcheck disable=SC2153 POD_NAME=${NODE_NAME/*-} -# Armband might override LAB_CONFIG_URL, all others use the default -LAB_CONFIG_URL=${LAB_CONFIG_URL:-'ssh://jenkins-ericsson@gerrit.opnfv.org:29418/securedlab'} - -# Fuel requires deploy script to be ran with sudo, Armband does not -SUDO='sudo -E' -if [ "${PROJECT}" = 'fuel' ]; then - # Fuel currently supports ericsson, intel, lf and zte labs - if [[ ! "${LAB_NAME}" =~ (arm|enea|ericsson|intel|lf|unh|zte) ]]; then - echo "Unsupported/unidentified lab ${LAB_NAME}. Cannot continue!" - exit 1 - fi -else - SUDO= - # Armband currently supports arm, enea, unh labs - if [[ ! "${LAB_NAME}" =~ (arm|enea|unh) ]]; then - echo "Unsupported/unidentified lab ${LAB_NAME}. Cannot continue!" - exit 1 - fi + +# Fuel currently supports arm, enea, ericsson, intel, lf, unh and zte labs +if [[ ! "${LAB_NAME}" =~ (arm|enea|ericsson|intel|lf|unh|zte) ]]; then + echo "Unsupported/unidentified lab ${LAB_NAME}. Cannot continue!" + exit 1 fi echo "Using configuration for ${LAB_NAME}" # create TMPDIR if it doesn't exist, change permissions mkdir -p "${TMPDIR}" -chmod a+x "${HOME}" "${TMPDIR}" +sudo chmod a+x "${HOME}" "${TMPDIR}" cd "${WORKSPACE}" || exit 1 -if [[ "$BRANCH" =~ (danube|euphrates) ]]; then - if [[ "${LAB_CONFIG_URL}" =~ ^(git|ssh):// ]]; then - echo "Cloning securedlab repo ${BRANCH}" - LOCAL_CFG="${TMPDIR}/securedlab" - rm -rf "${LOCAL_CFG}" - git clone --quiet --branch "${BRANCH}" "${LAB_CONFIG_URL}" "${LOCAL_CFG}" - LAB_CONFIG_ARG="-b file://${LOCAL_CFG}" - BRIDGE_ARG="-B ${BRIDGE:-pxebr}" - else - LAB_CONFIG_ARG="-b ${LAB_CONFIG_URL}" - fi -fi # log file name FUEL_LOG_FILENAME="${JOB_NAME}_${BUILD_NUMBER}.log.tar.gz" +# Limited scope for vPOD verify jobs running on armband-virtual +[[ ! "${JOB_NAME}" =~ verify-deploy-virtual-arm64 ]] || EXTRA_ARGS='-e' + # construct the command -DEPLOY_COMMAND="${SUDO} ${WORKSPACE}/ci/deploy.sh ${LAB_CONFIG_ARG:-} \ - -l ${LAB_NAME} -p ${POD_NAME} -s ${DEPLOY_SCENARIO} ${ISO_FILE_ARG:-} \ - -S ${TMPDIR} ${BRIDGE_ARG:-} \ +DEPLOY_COMMAND="${WORKSPACE}/ci/deploy.sh \ + -l ${LAB_NAME} -p ${POD_NAME} -s ${DEPLOY_SCENARIO} \ + -S ${TMPDIR} ${EXTRA_ARGS:-} \ -L ${WORKSPACE}/${FUEL_LOG_FILENAME}" # log info to console @@ -97,7 +51,6 @@ echo "--------------------------------------------------------" echo "Scenario: ${DEPLOY_SCENARIO}" echo "Lab: ${LAB_NAME}" echo "POD: ${POD_NAME}" -[[ "${BRANCH}" =~ 'danube' ]] && echo "ISO: ${OPNFV_ARTIFACT_URL/*\/}" echo echo "Starting the deployment using ${INSTALLER_TYPE}. This could take some time..." echo "--------------------------------------------------------" @@ -117,7 +70,7 @@ echo "Deployment is done!" # upload logs for baremetal deployments # work with virtual deployments is still going on, so skip that for now -if [[ "${JOB_NAME}" =~ (baremetal-daily|baremetal-weekly) ]]; then +if [[ "${JOB_NAME}" =~ baremetal-daily ]]; then echo "Uploading deployment logs" gsutil cp "${WORKSPACE}/${FUEL_LOG_FILENAME}" \ "gs://${GS_URL}/logs/${FUEL_LOG_FILENAME}" > /dev/null 2>&1 diff --git a/jjb/fuel/fuel-docker-jobs.yaml b/jjb/fuel/fuel-docker-jobs.yaml index 98ed66da7..c06848e56 100644 --- a/jjb/fuel/fuel-docker-jobs.yaml +++ b/jjb/fuel/fuel-docker-jobs.yaml @@ -14,7 +14,7 @@ disabled: false - gambia: branch: 'stable/{stream}' - disabled: true + disabled: false arch_tag: - 'amd64': @@ -119,7 +119,7 @@ *) tag="{stream}" ;; esac - sudo ./ci/build.sh $tag + ./ci/build.sh $tag - job-template: name: 'fuel-docker-manifest-{stream}' @@ -132,6 +132,8 @@ name: SLAVE_LABEL default: 'opnfv-build-ubuntu' description: 'Slave label on Jenkins' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: PROJECT default: "{project}" @@ -174,6 +176,8 @@ name: SLAVE_LABEL default: '{slave_label}' description: 'Slave label on Jenkins' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT diff --git a/jjb/fuel/fuel-download-artifact.sh b/jjb/fuel/fuel-download-artifact.sh deleted file mode 100755 index 02ca10305..000000000 --- a/jjb/fuel/fuel-download-artifact.sh +++ /dev/null @@ -1,63 +0,0 @@ -#!/bin/bash -# SPDX-license-identifier: Apache-2.0 -############################################################################## -# Copyright (c) 2016 Ericsson AB and others. -# 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 -# http://www.apache.org/licenses/LICENSE-2.0 -############################################################################## -set -o errexit -set -o pipefail - -# disable Fuel ISO download for master branch -[[ ! "$BRANCH" =~ (danube) ]] && exit 0 - -# use proxy url to replace the normal URL, or googleusercontent.com will be blocked randomly -[[ "$NODE_NAME" =~ (zte) ]] && GS_URL=${GS_BASE_PROXY%%/*}/$GS_URL - -# get the latest.properties file in order to get info regarding latest artifact -echo "Downloading http://$GS_URL/latest.properties" -curl -L -s -o $WORKSPACE/latest.properties http://$GS_URL/latest.properties - -# check if we got the file -[[ -f $WORKSPACE/latest.properties ]] || exit 1 - -# source the file so we get artifact metadata -source $WORKSPACE/latest.properties - -# echo the info about artifact that is used during the deployment -OPNFV_ARTIFACT=${OPNFV_ARTIFACT_URL/*\/} -echo "Using $OPNFV_ARTIFACT for deployment" - -# check if we already have the ISO to avoid redownload -ISOSTORE="/iso_mount/opnfv_ci/${BRANCH##*/}" -if [[ -f "$ISOSTORE/$OPNFV_ARTIFACT" ]]; then - echo "ISO exists locally. Skipping the download and using the file from ISO store" - ln -s $ISOSTORE/$OPNFV_ARTIFACT $WORKSPACE/opnfv.iso - echo "--------------------------------------------------------" - echo - ls -al $WORKSPACE/opnfv.iso - echo - echo "--------------------------------------------------------" - echo "Done!" - exit 0 -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..." -echo "--------------------------------------------------------" -echo - -# download the file -curl -L -s -o $WORKSPACE/opnfv.iso http://$OPNFV_ARTIFACT_URL > gsutil.iso.log 2>&1 - -# list the file -ls -al $WORKSPACE/opnfv.iso - -echo -echo "--------------------------------------------------------" -echo "Done!" diff --git a/jjb/fuel/fuel-lab-reconfig.sh b/jjb/fuel/fuel-lab-reconfig.sh deleted file mode 100755 index 4b42a396e..000000000 --- a/jjb/fuel/fuel-lab-reconfig.sh +++ /dev/null @@ -1,80 +0,0 @@ -#!/bin/bash -# SPDX-license-identifier: Apache-2.0 -############################################################################## -# Copyright (c) 2016 Ericsson AB and others. -# 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 -# http://www.apache.org/licenses/LICENSE-2.0 -############################################################################## -set -o errexit -set -o nounset -set -o pipefail - -# check to see if ucs login info file exists -if [ -e ~/.ssh/ucs_creds ];then - source ~/.ssh/ucs_creds -else - echo "Unable to find UCS credentials for LF lab reconfiguration...Exiting" - exit 1 -fi - -# clone releng -echo "Cloning releng repo..." -if ! GIT_SSL_NO_VERIFY=true git clone https://gerrit.opnfv.org/gerrit/releng; then - echo "Unable to clone releng repo...Exiting" - exit 1 -fi - -# log info to console -echo "Starting the lab reconfiguration for $INSTALLER_TYPE..." -echo "--------------------------------------------------------" -echo - -# create venv -$WORKSPACE/releng/utils/lab-reconfiguration/create_venv.sh - -# disable nounset because 'activate' script contains unbound variable(s) -set +o nounset -# enter venv -source $WORKSPACE/releng/utils/lab-reconfiguration/venv/bin/activate -# set nounset back again -set -o nounset - -# verify we are in venv -if [[ ! $(which python | grep venv) ]]; then - echo "Unable to activate venv...Exiting" - exit 1 -fi - -python $WORKSPACE/releng/utils/lab-reconfiguration/reconfigUcsNet.py -i $ucs_host -u $ucs_user -p $ucs_password -f $WORKSPACE/releng/utils/lab-reconfiguration/fuel.yaml - -# while undergoing reboot -sleep 30 - -# check to see if slave is back up -ping_counter=0 -ping_flag=0 -while [ "$ping_counter" -lt 20 ]; do - if [[ $(ping -c 5 172.30.10.72) ]]; then - ping_flag=1 - break - fi - ((ping_counter++)) - sleep 10 -done - -if [ "$ping_flag" -eq 1 ]; then - echo "Slave is pingable, now wait 180 seconds for services to start" - sleep 180 -else - echo "Slave did not come back up after reboot: please check lf-pod2" - exit 1 -fi - -set +o nounset -deactivate - -echo -echo "--------------------------------------------------------" -echo "Done!" diff --git a/jjb/fuel/fuel-project-jobs.yaml b/jjb/fuel/fuel-project-jobs.yaml index 40ba6e696..400b1552c 100644 --- a/jjb/fuel/fuel-project-jobs.yaml +++ b/jjb/fuel/fuel-project-jobs.yaml @@ -14,7 +14,7 @@ branch: '{stream}' gs-pathname: '' disabled: false - - fraser: + - gambia: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false @@ -25,62 +25,4 @@ rtd-token: 38f40bf6c08fd4bccb930871bc29b08404cf98b0 jobs: - - 'fuel-deploy-generic-daily-{stream}' - '{project-name}-rtd-jobs' - -######################## -# job templates -######################## -- job-template: - name: 'fuel-deploy-generic-daily-{stream}' - - concurrent: true - - disabled: '{obj:disabled}' - - properties: - - logrotate-default - - throttle: - enabled: true - max-per-node: 1 - option: 'project' - - build-blocker: - use-build-blocker: true - blocking-jobs: - - 'fuel-os-.*?-daily-.*' - - 'fuel-deploy-generic-daily-.*' - block-level: 'NODE' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{installer}-defaults': - gs-pathname: '{gs-pathname}' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - - string: - name: DEPLOY_SCENARIO - default: 'os-odl-nofeature-ha' - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - ericsson-pod2 - - lf-pod2 - - ericsson-pod1 - default-slaves: - - ericsson-pod2 - - scm: - - git-scm - - wrappers: - - build-name: - name: '$BUILD_NUMBER - POD: $NODE_NAME Scenario: $DEPLOY_SCENARIO' - - builders: - - shell: - !include-raw-escape: ./fuel-deploy.sh diff --git a/jjb/fuel/fuel-set-scenario.sh b/jjb/fuel/fuel-set-scenario.sh new file mode 100755 index 000000000..4c8ed7334 --- /dev/null +++ b/jjb/fuel/fuel-set-scenario.sh @@ -0,0 +1,54 @@ +#!/bin/bash +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2018 SUSE, Mirantis Inc., Enea Software AB and others. +# 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 +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +set -o pipefail +set -x + +#---------------------------------------------------------------------- +# This script is used by CI and executed by Jenkins jobs. +# You are not supposed to use this script manually if you don't know +# what you are doing. +#---------------------------------------------------------------------- + +# This function allows developers to specify the impacted scenario by +# requesting a RE-check via a gerrit change comment under a specific format. +# +# Patterns to be searched in change comment: +# recheck: <scenario-name> +# reverify: <scenario-name> +# Examples: +# recheck: os-odl-ovs-noha +# reverify: os-nosdn-nofeature-ha + +function set_scenario() { + # process gerrit event comment text (if present) + DEPLOY_SCENARIO=$(echo "${GERRIT_EVENT_COMMENT_TEXT}" | \ + grep -Po '(?!:(recheck|reverify):\s*)([-\w]+ha)') + if [ -z "${DEPLOY_SCENARIO}" ]; then + if [[ "$JOB_NAME" =~ baremetal ]]; then + DEPLOY_SCENARIO='os-nosdn-nofeature-ha' + else + DEPLOY_SCENARIO='os-nosdn-nofeature-noha' + fi + fi + # save the scenario names into java properties file + # so they can be injected to downstream jobs via envInject + echo "Recording the scenario '${DEPLOY_SCENARIO}' for downstream jobs" + echo "DEPLOY_SCENARIO=${DEPLOY_SCENARIO}" > "$WORK_DIRECTORY/scenario.properties" +} + +# ensure GERRIT vars are set +[ -n "${GERRIT_CHANGE_NUMBER}" ] || exit 1 +GERRIT_EVENT_COMMENT_TEXT="${GERRIT_EVENT_COMMENT_TEXT:-''}" + +# this directory is where the temporary properties file will be stored +WORK_DIRECTORY=/tmp/$GERRIT_CHANGE_NUMBER +/bin/rm -rf "$WORK_DIRECTORY" && mkdir -p "$WORK_DIRECTORY" + +set_scenario diff --git a/jjb/fuel/fuel-verify-jobs.yaml b/jjb/fuel/fuel-verify-jobs.yaml index 2a8fe3b5d..5695ef8a0 100644 --- a/jjb/fuel/fuel-verify-jobs.yaml +++ b/jjb/fuel/fuel-verify-jobs.yaml @@ -13,7 +13,7 @@ branch: '{stream}' gs-pathname: '' disabled: false - - fraser: + - gambia: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false @@ -22,28 +22,34 @@ ##################################### arch_tag: - 'amd64': - slave-label: 'fuel-virtual' - functest-suite-label: 'fuel-virtual' + slave-label: 'fuel' + functest-suite-label: 'fuel' - 'arm64': - slave-label: 'armband-virtual' - functest-suite-label: 'fuel-armband-virtual' + slave-label: 'armband' + functest-suite-label: 'fuel-armband' + ##################################### + # cluster types + ##################################### + type: + - 'virtual' + - 'baremetal' ##################################### # patch verification phases ##################################### phase: - 'docker-build' - - 'deploy-virtual' + - 'deploy' ##################################### # jobs ##################################### jobs: - - 'fuel-verify-{arch_tag}-{stream}' - - 'fuel-verify-{phase}-{arch_tag}-{stream}' + - 'fuel-verify-{type}-{arch_tag}-{stream}' + - 'fuel-verify-{phase}-{type}-{arch_tag}-{stream}' ##################################### # job templates ##################################### - job-template: - name: 'fuel-verify-{arch_tag}-{stream}' + name: 'fuel-verify-{type}-{arch_tag}-{stream}' project-type: multijob @@ -60,9 +66,9 @@ - build-blocker: use-build-blocker: true blocking-jobs: - - 'fuel-os-.*?-virtual-daily-.*' + - 'fuel-os-.*?-daily-.*' - 'fuel-verify-.*' - block-level: 'NODE' + blocking-level: 'NODE' scm: - git-scm-gerrit @@ -74,7 +80,7 @@ fail: true triggers: - - 'fuel-verify-{arch_tag}-trigger': + - 'fuel-verify-{type}-{arch_tag}-trigger': project: '{project}' branch: '{branch}' @@ -82,22 +88,22 @@ - project-parameter: project: '{project}' branch: '{branch}' - - '{slave-label}-defaults': + - '{slave-label}-{type}-defaults': installer: '{installer}' - '{installer}-defaults': gs-pathname: '{gs-pathname}' - - string: - name: DEPLOY_SCENARIO - default: 'os-nosdn-nofeature-ha' builders: + - 'fuel-verify-set-scenario-macro' + - inject: + properties-file: "/tmp/$GERRIT_CHANGE_NUMBER/scenario.properties" - description-setter: - description: "Built on $NODE_NAME" + description: "Scenario: $DEPLOY_SCENARIO | Node: $NODE_NAME" - multijob: name: docker-build condition: SUCCESSFUL projects: - - name: 'fuel-verify-docker-build-{arch_tag}-{stream}' + - name: 'fuel-verify-docker-build-{type}-{arch_tag}-{stream}' current-parameters: false predefined-parameters: | BRANCH=$BRANCH @@ -109,13 +115,14 @@ abort-all-job: true - multijob: - name: deploy-virtual + name: deploy condition: SUCCESSFUL projects: - - name: 'fuel-verify-deploy-virtual-{arch_tag}-{stream}' + - name: 'fuel-verify-deploy-{type}-{arch_tag}-{stream}' current-parameters: false predefined-parameters: | MCP_DOCKER_TAG={arch_tag}-verify + DEPLOY_SCENARIO=$DEPLOY_SCENARIO BRANCH=$BRANCH GERRIT_REFSPEC=$GERRIT_REFSPEC GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER @@ -129,7 +136,7 @@ condition: SUCCESSFUL projects: # Use Functest job definition from jjb/functest/functest-daily-jobs - - name: 'functest-{functest-suite-label}-suite-{stream}' + - name: 'functest-{functest-suite-label}-{type}-suite-{stream}' current-parameters: false predefined-parameters: | FUNCTEST_MODE=tier @@ -140,11 +147,12 @@ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE node-parameters: true + enable-condition: "def m = ! ('$NODE_LABELS' =~ /armband-virtual/)" kill-phase-on: NEVER abort-all-job: true - job-template: - name: 'fuel-verify-{phase}-{arch_tag}-{stream}' + name: 'fuel-verify-{phase}-{type}-{arch_tag}-{stream}' disabled: '{obj:disabled}' @@ -162,7 +170,7 @@ blocking-jobs: - 'fuel-verify-docker-build-.*' - 'fuel-verify-deploy-.*' - block-level: 'NODE' + blocking-level: 'NODE' scm: - git-scm-gerrit @@ -177,7 +185,7 @@ - project-parameter: project: '{project}' branch: '{branch}' - - '{slave-label}-defaults': + - '{slave-label}-{type}-defaults': installer: '{installer}' - '{installer}-defaults': gs-pathname: '{gs-pathname}' @@ -190,9 +198,9 @@ # trigger macros ######################## - trigger: - name: 'fuel-verify-amd64-trigger' + name: 'fuel-verify-virtual-amd64-trigger' triggers: - - gerrit: &fuel_verify_amd64_trigger + - gerrit: &fuel_verify_virtual_amd64_trigger server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: @@ -201,9 +209,7 @@ exclude-no-code-change: 'false' - draft-published-event - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' + comment-contains-value: '(recheck|reverify)(\s|$|:\s*[-\w]+-noha)' projects: - project-compare-type: 'ANT' project-pattern: '{project}' @@ -221,10 +227,23 @@ pattern: 'docs/**' readable-message: true - trigger: - name: 'fuel-verify-arm64-trigger' + name: 'fuel-verify-virtual-arm64-trigger' triggers: - gerrit: - <<: *fuel_verify_amd64_trigger + <<: *fuel_verify_virtual_amd64_trigger +- trigger: + name: 'fuel-verify-baremetal-amd64-trigger' + triggers: + - gerrit: &fuel_verify_baremetal_amd64_trigger + <<: *fuel_verify_virtual_amd64_trigger + trigger-on: + - comment-added-contains-event: + comment-contains-value: '(recheck|reverify):\s*[-\w]+-ha' +- trigger: + name: 'fuel-verify-baremetal-arm64-trigger' + triggers: + - gerrit: + <<: *fuel_verify_baremetal_amd64_trigger skip-vote: successful: true failed: true @@ -234,7 +253,12 @@ # builder macros ##################################### - builder: - name: 'fuel-verify-deploy-virtual-macro' + name: 'fuel-verify-set-scenario-macro' + builders: + - shell: + !include-raw: ./fuel-set-scenario.sh +- builder: + name: 'fuel-verify-deploy-macro' builders: - shell: !include-raw: ./fuel-deploy.sh @@ -243,4 +267,4 @@ builders: - shell: | #!/bin/bash -ex - sudo ./ci/build.sh 'verify' '' + sudo -E ./ci/build.sh 'verify' '' diff --git a/jjb/fuel/fuel-weekly-jobs.yaml b/jjb/fuel/fuel-weekly-jobs.yaml deleted file mode 100644 index c6b921729..000000000 --- a/jjb/fuel/fuel-weekly-jobs.yaml +++ /dev/null @@ -1,189 +0,0 @@ ---- -# jenkins job templates for Fuel -- project: - - name: fuel-weekly - - project: fuel - - installer: fuel - - # ------------------------------- - # BRANCH ANCHORS - # ------------------------------- - master: &master - stream: master - branch: '{stream}' - disabled: false - gs-pathname: '' - fraser: &fraser - stream: fraser - branch: 'stable/{stream}' - disabled: false - gs-pathname: '/{stream}' - # ------------------------------- - # POD, INSTALLER, AND BRANCH MAPPING - # ------------------------------- - # CI PODs - # ------------------------------- - pod: - - baremetal: - slave-label: fuel-baremetal - <<: *master - - virtual: - slave-label: fuel-virtual - <<: *master - - baremetal: - slave-label: fuel-baremetal - <<: *fraser - - virtual: - slave-label: fuel-virtual - <<: *fraser - # ------------------------------- - # scenarios - # ------------------------------- - scenario: - # HA scenarios - - 'os-nosdn-nofeature-ha': - auto-trigger-name: 'weekly-trigger-disabled' - - jobs: - - 'fuel-{scenario}-{pod}-weekly-{stream}' - - 'fuel-deploy-{pod}-weekly-{stream}' - -######################## -# job templates -######################## -- job-template: - name: 'fuel-{scenario}-{pod}-weekly-{stream}' - - disabled: '{obj:disabled}' - - concurrent: false - - properties: - - logrotate-default - - throttle: - enabled: true - max-total: 4 - max-per-node: 1 - option: 'project' - - build-blocker: - use-build-blocker: true - blocking-jobs: - - 'fuel-os-.*?-{pod}-daily-.*' - - 'fuel-os-.*?-{pod}-weekly-.*' - - 'fuel-verify-.*' - block-level: 'NODE' - - wrappers: - - build-name: - name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' - - triggers: - - '{auto-trigger-name}' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{installer}-defaults': - gs-pathname: '{gs-pathname}' - - '{slave-label}-defaults': - installer: '{installer}' - - string: - name: DEPLOY_SCENARIO - default: '{scenario}' - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - trigger-builds: - - project: 'fuel-deploy-{pod}-weekly-{stream}' - current-parameters: false - predefined-parameters: - DEPLOY_SCENARIO={scenario} - same-node: true - block: true - - trigger-builds: - - project: 'functest-fuel-{pod}-weekly-{stream}' - current-parameters: false - predefined-parameters: - DEPLOY_SCENARIO={scenario} - same-node: true - block: true - block-thresholds: - build-step-failure-threshold: 'never' - failure-threshold: 'never' - unstable-threshold: 'FAILURE' - - publishers: - - email-fuel-ptl - - email-jenkins-admins-on-failure - -- job-template: - name: 'fuel-deploy-{pod}-weekly-{stream}' - - disabled: '{obj:disabled}' - - concurrent: true - - properties: - - logrotate-default - - throttle: - enabled: true - max-total: 4 - max-per-node: 1 - option: 'project' - - build-blocker: - use-build-blocker: true - blocking-jobs: - - 'fuel-deploy-{pod}-daily-.*' - - 'fuel-deploy-generic-daily-.*' - - 'fuel-deploy-{pod}-weekly-.*' - - 'fuel-deploy-generic-weekly-.*' - block-level: 'NODE' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{installer}-defaults': - gs-pathname: '{gs-pathname}' - - '{slave-label}-defaults': - installer: '{installer}' - - testapi-parameter - - string: - name: DEPLOY_SCENARIO - default: 'os-odl-nofeature-ha' - - scm: - - git-scm - - wrappers: - - build-name: - name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - track-begin-timestamp - - shell: - !include-raw-escape: ./fuel-deploy.sh - - publishers: - - email-fuel-ptl - - email-jenkins-admins-on-failure - - report-provision-result - -######################## -# trigger macros -######################## -# ---------------------------------------------- -# Triggers for job running on fuel-baremetal against master branch -# ---------------------------------------------- -# HA Scenarios -- trigger: - name: 'fuel-os-nosdn-nofeature-ha-baremetal-weekly-master-trigger' - triggers: - - timed: '' diff --git a/jjb/functest/functest-alpine.sh b/jjb/functest/functest-alpine.sh index 4e23d44fe..da167358a 100755 --- a/jjb/functest/functest-alpine.sh +++ b/jjb/functest/functest-alpine.sh @@ -26,14 +26,10 @@ check_os_deployment() { } - run_tiers() { tiers=$1 cmd_opt="run_tests -r -t all" [[ $BUILD_TAG =~ "suite" ]] && cmd_opt="run_tests -t all" - ret_val_file="${HOME}/opnfv/functest/results/${BRANCH##*/}/return_value" - echo 0 > ${ret_val_file} - for tier in ${tiers[@]}; do FUNCTEST_IMAGE=${REPO}/functest-${tier}:${DOCKER_TAG} echo "Functest: Pulling Functest Docker image ${FUNCTEST_IMAGE} ..." @@ -55,8 +51,6 @@ run_tiers() { run_test() { test_name=$1 cmd_opt="run_tests -t ${test_name}" - ret_val_file="${HOME}/opnfv/functest/results/${BRANCH##*/}/return_value" - echo 0 > ${ret_val_file} # Determine which Functest image should be used for the test case case ${test_name} in connection_check|tenantnetwork1|tenantnetwork2|vmready1|vmready2|singlevm1|singlevm2|vping_ssh|vping_userdata|cinder_test|odl|api_check|snaps_health_check) @@ -141,9 +135,14 @@ ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" if [ "${INSTALLER_TYPE}" == 'fuel' ]; then COMPUTE_ARCH=$(ssh -l ubuntu ${INSTALLER_IP} -i ${SSH_KEY} ${ssh_options} \ "sudo salt 'cmp*' grains.get cpuarch --out yaml | awk '{print \$2; exit}'") - envs="${envs} -e POD_ARCH=${COMPUTE_ARCH}" + IMAGE_PROPERTIES="hw_disk_bus:scsi,hw_scsi_model:virtio-scsi" + envs="${envs} -e POD_ARCH=${COMPUTE_ARCH} -e IMAGE_PROPERTIES=${IMAGE_PROPERTIES}" fi +if [[ ${INSTALLER_TYPE} == 'fuel' && ${DEPLOY_SCENARIO} == 'os-nosdn-nofeature-noha' ]]; then + libvirt_vol="-v ${ssh_key}:${FUNCTEST_DIR}/conf/libvirt_key" + envs="${envs} -e LIBVIRT_USER=ubuntu -e LIBVIRT_KEY_PATH=${FUNCTEST_DIR}/conf/libvirt_key" +fi if [[ ${INSTALLER_TYPE} == 'compass' && ${DEPLOY_SCENARIO} =~ 'sfc' ]]; then ssh_key="/tmp/id_rsa" @@ -155,8 +154,20 @@ if [[ ${INSTALLER_TYPE} == 'compass' && ${DEPLOY_SCENARIO} =~ 'sfc' ]]; then envs="${envs} -e EXTERNAL_NETWORK=${EXTERNAL_NETWORK}" fi +if [[ ${DEPLOY_SCENARIO} == *"ovs"* ]] || [[ ${DEPLOY_SCENARIO} == *"fdio"* ]]; then + if [[ -n ${IMAGE_PROPERTIES} ]]; then + IMAGE_PROPERTIES="${IMAGE_PROPERTIES}, hw_mem_page_size: large" + else + IMAGE_PROPERTIES="hw_mem_page_size: large" + fi + FLAVOR_EXTRA_SPECS="hw:mem_page_size: large" + envs="${envs} -e IMAGE_PROPERTIES=\"${IMAGE_PROPERTIES}\" -e FLAVOR_EXTRA_SPECS=\"${FLAVOR_EXTRA_SPECS}\"" +fi + +volumes="${images_vol} ${results_vol} ${sshkey_vol} ${libvirt_vol} ${userconfig_vol} ${rc_file_vol} ${cacert_file_vol}" -volumes="${images_vol} ${results_vol} ${sshkey_vol} ${userconfig_vol} ${rc_file_vol} ${cacert_file_vol}" +ret_val_file="${HOME}/opnfv/functest/results/${BRANCH##*/}/return_value" +echo 0 > ${ret_val_file} set +e diff --git a/jjb/functest/functest-daily-jobs.yaml b/jjb/functest/functest-daily-jobs.yaml index daed74ea3..27cd0ac26 100644 --- a/jjb/functest/functest-daily-jobs.yaml +++ b/jjb/functest/functest-daily-jobs.yaml @@ -47,6 +47,14 @@ - baremetal: slave-label: fuel-baremetal installer: fuel + <<: *gambia + - virtual: + slave-label: fuel-virtual + installer: fuel + <<: *gambia + - baremetal: + slave-label: fuel-baremetal + installer: fuel <<: *fraser - virtual: slave-label: fuel-virtual @@ -123,6 +131,14 @@ - armband-baremetal: slave-label: armband-baremetal installer: fuel + <<: *gambia + - armband-virtual: + slave-label: armband-virtual + installer: fuel + <<: *gambia + - armband-baremetal: + slave-label: armband-baremetal + installer: fuel <<: *fraser - armband-virtual: slave-label: armband-virtual @@ -217,7 +233,7 @@ - 'suite': job-timeout: 60 - 'daily': - job-timeout: 480 + job-timeout: 600 jobs: - 'functest-{installer}-{pod}-{testsuite}-{stream}' @@ -235,6 +251,7 @@ - throttle: enabled: true max-per-node: 1 + max-total: 10 option: 'project' wrappers: diff --git a/jjb/functest/functest-docker.yaml b/jjb/functest/functest-docker.yaml index 14134fa56..19967e9fd 100644 --- a/jjb/functest/functest-docker.yaml +++ b/jjb/functest/functest-docker.yaml @@ -230,6 +230,8 @@ name: SLAVE_LABEL default: 'opnfv-build-ubuntu' description: 'Slave label on Jenkins' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: PROJECT default: "{project}" @@ -272,6 +274,8 @@ name: SLAVE_LABEL default: '{slave_label}' description: 'Slave label on Jenkins' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT diff --git a/jjb/functest/functest-kubernetes-docker.yaml b/jjb/functest/functest-kubernetes-docker.yaml index 3836103a8..c328f5d86 100644 --- a/jjb/functest/functest-kubernetes-docker.yaml +++ b/jjb/functest/functest-kubernetes-docker.yaml @@ -183,6 +183,8 @@ name: SLAVE_LABEL default: 'opnfv-build-ubuntu' description: 'Slave label on Jenkins' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: PROJECT default: "{project}" @@ -225,6 +227,8 @@ name: SLAVE_LABEL default: '{slave_label}' description: 'Slave label on Jenkins' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT diff --git a/jjb/functest/xtesting-docker.yaml b/jjb/functest/xtesting-docker.yaml index 84bcb2185..88416bbf9 100644 --- a/jjb/functest/xtesting-docker.yaml +++ b/jjb/functest/xtesting-docker.yaml @@ -135,6 +135,8 @@ name: SLAVE_LABEL default: 'opnfv-build-ubuntu' description: 'Slave label on Jenkins' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: PROJECT default: "{project}" @@ -176,6 +178,8 @@ name: SLAVE_LABEL default: '{slave_label}' description: 'Slave label on Jenkins' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT diff --git a/jjb/global-jjb b/jjb/global-jjb deleted file mode 160000 -Subproject 9b240453b91f3c4b0844ea1c593721a1c421caa diff --git a/jjb/global-jjb/jjb b/jjb/global-jjb/jjb new file mode 120000 index 000000000..23c884f04 --- /dev/null +++ b/jjb/global-jjb/jjb @@ -0,0 +1 @@ +../../global-jjb/jjb
\ No newline at end of file diff --git a/jjb/global-jjb/shell b/jjb/global-jjb/shell new file mode 120000 index 000000000..d37c43f86 --- /dev/null +++ b/jjb/global-jjb/shell @@ -0,0 +1 @@ +../../global-jjb/shell
\ No newline at end of file diff --git a/jjb/global/basic-jobs.yaml b/jjb/global/basic-jobs.yaml index a8b9cffbc..d2c271105 100644 --- a/jjb/global/basic-jobs.yaml +++ b/jjb/global/basic-jobs.yaml @@ -13,7 +13,7 @@ branch: '{stream}' gs-pathname: '' disabled: false - - fraser: + - gambia: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false diff --git a/jjb/global/releng-defaults.yaml b/jjb/global/releng-defaults.yaml index ce008ca3b..e584107c8 100644 --- a/jjb/global/releng-defaults.yaml +++ b/jjb/global/releng-defaults.yaml @@ -16,7 +16,6 @@ build-node: 'opnfv-build' gerrit-server-name: 'gerrit.opnfv.org' jenkins-ssh-credential: 'd42411ac011ad6f3dd2e1fa34eaa5d87f910eb2e' - jjb-version: '2.0.3' lftools-version: '<1.0.0' properties: diff --git a/jjb/global/releng-macros.yaml b/jjb/global/releng-macros.yaml index 8055fdbdf..fe24ed56d 100644 --- a/jjb/global/releng-macros.yaml +++ b/jjb/global/releng-macros.yaml @@ -420,7 +420,7 @@ - shell: | #!/bin/bash # Install python package - sudo pip install "flake8==2.6.2" + sudo -H pip install "flake8==2.6.2" echo "Checking python code..." for f in $(egrep '\.py$' modified_files) @@ -438,7 +438,7 @@ - shell: | #!/bin/bash # sudo Install python packages - sudo pip install "yamllint==1.8.2" + sudo -H pip install "yamllint==1.8.2" echo "Checking yaml file..." for f in $(egrep '\.ya?ml$' modified_files) diff --git a/jjb/global/slave-params.yaml b/jjb/global/slave-params.yaml index 5b9ce413c..805673a0a 100644 --- a/jjb/global/slave-params.yaml +++ b/jjb/global/slave-params.yaml @@ -10,6 +10,25 @@ - label: name: SLAVE_LABEL default: 'apex-baremetal-master' + all-nodes: false + node-eligibility: 'ignore-offline' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + - string: + name: SSH_KEY + default: /root/.ssh/id_rsa + description: 'SSH key to use for Apex' + +- parameter: + name: 'apex-baremetal-gambia-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'apex-baremetal-master' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -25,6 +44,8 @@ - label: name: SLAVE_LABEL default: 'apex-baremetal-master' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -40,6 +61,8 @@ - label: name: SLAVE_LABEL default: 'apex-baremetal-master' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -55,6 +78,8 @@ - label: name: SLAVE_LABEL default: 'apex-baremetal-danube' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -71,6 +96,25 @@ - label: name: SLAVE_LABEL default: 'apex-virtual-master' + all-nodes: false + node-eligibility: 'ignore-offline' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + - string: + name: SSH_KEY + default: /root/.ssh/id_rsa + description: 'SSH key to use for Apex' + +- parameter: + name: 'apex-virtual-gambia-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'apex-virtual-master' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -86,6 +130,8 @@ - label: name: SLAVE_LABEL default: 'apex-virtual-master' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -101,6 +147,8 @@ - label: name: SLAVE_LABEL default: 'apex-virtual-master' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -116,6 +164,8 @@ - label: name: SLAVE_LABEL default: 'apex-virtual-danube' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -210,6 +260,8 @@ - label: name: SLAVE_LABEL default: 'apex-baremetal' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -224,6 +276,8 @@ - label: name: SLAVE_LABEL default: 'compass-baremetal' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -235,6 +289,8 @@ - label: name: SLAVE_LABEL default: 'compass-baremetal-master' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -246,6 +302,8 @@ - label: name: SLAVE_LABEL default: 'compass-baremetal-branch' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -257,6 +315,8 @@ - label: name: SLAVE_LABEL default: 'fuel-baremetal' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -268,14 +328,12 @@ - label: name: SLAVE_LABEL default: 'armband-baremetal' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT description: 'Git URL to use on this Jenkins Slave' - - string: - name: LAB_CONFIG_URL - default: ssh://jenkins-enea@gerrit.opnfv.org:29418/securedlab - description: 'Base URI to the configuration directory' - parameter: name: 'auto-baremetal-defaults' @@ -283,6 +341,8 @@ - label: name: SLAVE_LABEL default: 'auto-baremetal' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -294,6 +354,8 @@ - label: name: SLAVE_LABEL default: 'joid-baremetal' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -316,6 +378,8 @@ - label: name: SLAVE_LABEL default: 'daisy-baremetal' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: INSTALLER_IP default: '10.20.7.3' @@ -334,6 +398,8 @@ - label: name: SLAVE_LABEL default: 'apex-virtual' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -349,6 +415,8 @@ - label: name: SLAVE_LABEL default: 'compass-virtual' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -360,6 +428,8 @@ - label: name: SLAVE_LABEL default: 'compass-arm-virtual' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -371,6 +441,8 @@ - label: name: SLAVE_LABEL default: 'compass-virtual-master' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -382,6 +454,8 @@ - label: name: SLAVE_LABEL default: 'compass-virtual-branch' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -393,6 +467,8 @@ - label: name: SLAVE_LABEL default: 'fuel-virtual' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -404,14 +480,12 @@ - label: name: SLAVE_LABEL default: 'armband-virtual' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT description: 'Git URL to use on this Jenkins Slave' - - string: - name: LAB_CONFIG_URL - default: ssh://jenkins-enea@gerrit.opnfv.org:29418/securedlab - description: 'Base URI to the configuration directory' - parameter: name: 'joid-virtual-defaults' @@ -419,6 +493,8 @@ - label: name: SLAVE_LABEL default: 'joid-virtual' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -438,6 +514,8 @@ - label: name: SLAVE_LABEL default: 'daisy-virtual' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: INSTALLER_IP default: '10.20.11.2' @@ -460,6 +538,8 @@ - label: name: SLAVE_LABEL default: 'opnfv-build-centos' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -476,6 +556,8 @@ name: SLAVE_LABEL default: 'opnfv-build-ubuntu' description: 'Slave label on Jenkins' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -492,6 +574,8 @@ name: SLAVE_LABEL default: 'pharos-dashboard' description: 'Slave label on Jenkins' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -508,6 +592,8 @@ name: SLAVE_LABEL default: 'opnfv-build' description: 'Slave label on Jenkins' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -524,6 +610,8 @@ name: SLAVE_LABEL default: 'ericsson-build3' description: 'Slave label on Jenkins' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -536,6 +624,8 @@ name: SLAVE_LABEL default: 'ericsson-build4' description: 'Slave label on Jenkins' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -567,6 +657,8 @@ name: SLAVE_LABEL default: 'opnfv-build-ubuntu-arm' description: 'Slave label on Jenkins' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -686,6 +778,8 @@ - label: name: SLAVE_LABEL default: 'huawei-test' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -704,6 +798,8 @@ - label: name: SLAVE_LABEL default: 'huawei-test' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -743,6 +839,8 @@ - label: name: SLAVE_LABEL default: 'huawei-virtual5' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -1058,6 +1156,8 @@ - label: name: SLAVE_LABEL default: 'ericsson-virtual5' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://git.opendaylight.org/gerrit/p/$PROJECT.git @@ -1069,6 +1169,8 @@ - label: name: SLAVE_LABEL default: 'ericsson-virtual12' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -1080,6 +1182,8 @@ - label: name: SLAVE_LABEL default: 'ericsson-virtual13' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -1091,6 +1195,8 @@ - label: name: SLAVE_LABEL default: 'ericsson-virtual-pod1bl01' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -1102,6 +1208,8 @@ - label: name: SLAVE_LABEL default: 'odl-netvirt-virtual' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -1113,6 +1221,8 @@ - label: name: SLAVE_LABEL default: 'odl-netvirt-virtual-intel' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -1143,6 +1253,8 @@ name: SLAVE_LABEL default: 'sandbox-baremetal' description: 'Slave label on Jenkins' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -1159,6 +1271,8 @@ name: SLAVE_LABEL default: 'sandbox-virtual' description: 'Slave label on Jenkins' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -1175,6 +1289,8 @@ name: SLAVE_LABEL default: 'dummy-pod1' description: 'Slave label on Jenkins' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT diff --git a/jjb/joid/joid-daily-jobs.yaml b/jjb/joid/joid-daily-jobs.yaml index 2719c7292..46ba1d23f 100644 --- a/jjb/joid/joid-daily-jobs.yaml +++ b/jjb/joid/joid-daily-jobs.yaml @@ -97,7 +97,7 @@ use-build-blocker: true blocking-jobs: - 'joid-(os|k8)-.*?-{pod}-daily-.*' - block-level: 'NODE' + blocking-level: 'NODE' wrappers: - build-name: @@ -186,7 +186,7 @@ use-build-blocker: true blocking-jobs: - 'joid-deploy-{pod}-daily-.*' - block-level: 'NODE' + blocking-level: 'NODE' wrappers: - build-name: diff --git a/jjb/joid/joid-verify-jobs.yaml b/jjb/joid/joid-verify-jobs.yaml index 2d1c7c9f3..95ab0523f 100644 --- a/jjb/joid/joid-verify-jobs.yaml +++ b/jjb/joid/joid-verify-jobs.yaml @@ -57,7 +57,7 @@ blocking-jobs: - 'joid-verify-master' - 'joid-verify-danube' - block-level: 'NODE' + blocking-level: 'NODE' scm: - git-scm-gerrit @@ -163,7 +163,7 @@ blocking-jobs: - 'joid-verify-deploy-.*' - 'joid-verify-test-.*' - block-level: 'NODE' + blocking-level: 'NODE' scm: - git-scm-gerrit diff --git a/jjb/openci/create-ane.sh b/jjb/openci/create-ane.sh deleted file mode 100755 index 8a4da8f52..000000000 --- a/jjb/openci/create-ane.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash -# SPDX-license-identifier: Apache-2.0 -############################################################################## -# Copyright (c) 2018 Ericsson AB and others. -# 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 -# http://www.apache.org/licenses/LICENSE-2.0 -############################################################################## -set -o errexit -set -o nounset -set -o pipefail - -# This script creates ArtifactPublishedEvent -# The JMS Messaging Plugin doesn't handle the newlines well so the eventBody is -# constructed on a single line. This is something that needs to be fixed properly - -cat << EOF > $WORKSPACE/event.properties -type=$PUBLISH_EVENT_TYPE -origin=$PUBLISH_EVENT_ORIGIN -eventBody="{ 'type': '$PUBLISH_EVENT_TYPE', 'id': '$(uuidgen)', 'time': '$(date -u +%Y-%m-%d_%H:%M:%SUTC)', 'origin': '$PUBLISH_EVENT_ORIGIN', 'buildUrl': '$BUILD_URL', 'branch': 'master', 'artifactLocation': '$ARTIFACT_LOCATION', 'confidenceLevel': { $CONFIDENCE_LEVEL } }" -EOF -echo "Constructed $PUBLISH_EVENT_TYPE" -echo "--------------------------------------------" -cat $WORKSPACE/event.properties -echo "--------------------------------------------" diff --git a/jjb/openci/create-ape.sh b/jjb/openci/create-ape.sh new file mode 100755 index 000000000..7c9b46cc6 --- /dev/null +++ b/jjb/openci/create-ape.sh @@ -0,0 +1,47 @@ +#!/bin/bash +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2018 Ericsson AB and others. +# 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 +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +set -o errexit +set -o nounset +set -o pipefail + +# workaround for https://github.com/pypa/virtualenv/issues/1029 +export PS1=${PS1:-} + +# This script creates ArtifactPublishedEvent + +git clone https://gitlab.openci.io/openci/prototypes.git +cd prototypes/federated-cicd +virtualenv openci_publish +cd openci_publish +source bin/activate +python setup.py install + +# generate event body +cat <<EOF > ./json_body.txt +{ + "type": "$PUBLISH_EVENT_TYPE", + "id": "$(uuidgen)", + "time": "$(date -u +%Y-%m-%d_%H:%M:%SUTC)", + "buildUrl": "$BUILD_URL", + "branch": "master", + "origin": "$PUBLISH_EVENT_ORIGIN", + "artifactLocation": "$ARTIFACT_LOCATION", + "confidenceLevel": "$CONFIDENCE_LEVEL" +} +EOF + +echo "Constructed $PUBLISH_EVENT_TYPE" +echo "--------------------------------------------" +cat ./json_body.txt +echo "--------------------------------------------" + +python openci_publish -H 129.192.69.55 -U ${ACTIVEMQ_USER} -p ${ACTIVEMQ_PASSWORD} -n openci.prototype -B ./json_body.txt + +deactivate diff --git a/jjb/openci/create-cde.sh b/jjb/openci/create-cde.sh index 410db50e6..9780119ce 100755 --- a/jjb/openci/create-cde.sh +++ b/jjb/openci/create-cde.sh @@ -11,17 +11,37 @@ set -o errexit set -o nounset set -o pipefail +export PS1=${PS1:-} + # This script creates CompositionDefinedEvent -# The JMS Messaging Plugin doesn't handle the newlines well so the eventBody is -# constructed on a single line. This is something that needs to be fixed properly -cat << EOF > $WORKSPACE/event.properties -type=$PUBLISH_EVENT_TYPE -origin=$PUBLISH_EVENT_ORIGIN -scenario=$DEPLOY_SCENARIO -eventBody="{ 'type': '$PUBLISH_EVENT_TYPE', 'id': '$(uuidgen)', 'time': '$(date -u +%Y-%m-%d_%H:%M:%SUTC)', 'origin': '$PUBLISH_EVENT_ORIGIN', 'buildUrl': '$BUILD_URL', 'branch': 'master', 'compositionName': '$DEPLOY_SCENARIO', 'compositionMetadataUrl': '$SCENARIO_METADATA_LOCATION' }" +git clone https://gitlab.openci.io/openci/prototypes.git +cd prototypes/federated-cicd +virtualenv openci_publish +cd openci_publish +source bin/activate +python setup.py install + +# generate event body +cat <<EOF > ./json_body.txt +{ + "type": "$PUBLISH_EVENT_TYPE", + "id": "$(uuidgen)", + "time": "$(date -u +%Y-%m-%d_%H:%M:%SUTC)", + "buildUrl": "$BUILD_URL", + "branch": "master", + "origin": "$PUBLISH_EVENT_ORIGIN", + "scenario": "$DEPLOY_SCENARIO", + "compositionName": "$DEPLOY_SCENARIO", + "compositionMetadataUrl": "$SCENARIO_METADATA_LOCATION" +} EOF + echo "Constructed $PUBLISH_EVENT_TYPE" echo "--------------------------------------------" -cat $WORKSPACE/event.properties +cat ./json_body.txt echo "--------------------------------------------" + +python openci_publish -H 129.192.69.55 -U ${ACTIVEMQ_USER} -p ${ACTIVEMQ_PASSWORD} -n openci.prototype -B ./json_body.txt + +deactivate diff --git a/jjb/openci/create-clme.sh b/jjb/openci/create-clme.sh index 5e8ee10c9..2ece019b0 100755 --- a/jjb/openci/create-clme.sh +++ b/jjb/openci/create-clme.sh @@ -11,17 +11,38 @@ set -o errexit set -o nounset set -o pipefail +export PS1=${PS1:-} + # This script creates ConfidenceLevelModifiedEvent -# The JMS Messaging Plugin doesn't handle the newlines well so the eventBody is -# constructed on a single line. This is something that needs to be fixed properly -cat << EOF > $WORKSPACE/event.properties -type=$PUBLISH_EVENT_TYPE -origin=$PUBLISH_EVENT_ORIGIN -scenario=$DEPLOY_SCENARIO -eventBody="{ 'type': '$PUBLISH_EVENT_TYPE', 'id': '$(uuidgen)', 'time': '$(date -u +%Y-%m-%d_%H:%M:%SUTC)', 'origin': '$PUBLISH_EVENT_ORIGIN', 'buildUrl': '$BUILD_URL', 'branch': 'master', 'compositionName': '$DEPLOY_SCENARIO', 'compositionMetadataUrl': '$SCENARIO_METADATA_LOCATION', 'confidenceLevel': { $CONFIDENCE_LEVEL } }" +git clone https://gitlab.openci.io/openci/prototypes.git +cd prototypes/federated-cicd +virtualenv openci_publish +cd openci_publish +source bin/activate +python setup.py install + +# generate event body +cat <<EOF > ./json_body.txt +{ + "type": "$PUBLISH_EVENT_TYPE", + "id": "$(uuidgen)", + "time": "$(date -u +%Y-%m-%d_%H:%M:%SUTC)", + "buildUrl": "$BUILD_URL", + "branch": "master", + "origin": "$PUBLISH_EVENT_ORIGIN", + "scenario": "$DEPLOY_SCENARIO", + "compositionName": "$DEPLOY_SCENARIO", + "compositionMetadataUrl": "$SCENARIO_METADATA_LOCATION", + "confidenceLevel": "$CONFIDENCE_LEVEL" +} EOF + echo "Constructed $PUBLISH_EVENT_TYPE" echo "--------------------------------------------" -cat $WORKSPACE/event.properties +cat ./json_body.txt echo "--------------------------------------------" + +python openci_publish -H 129.192.69.55 -U ${ACTIVEMQ_USER} -p ${ACTIVEMQ_PASSWORD} -n openci.prototype -B ./json_body.txt + +deactivate diff --git a/jjb/openci/openci-odl-daily-jobs.yaml b/jjb/openci/openci-odl-daily-jobs.yaml index d80feadf6..bdaca5742 100644 --- a/jjb/openci/openci-odl-daily-jobs.yaml +++ b/jjb/openci/openci-odl-daily-jobs.yaml @@ -46,19 +46,7 @@ builders: - shell: - !include-raw-escape: ./create-ane.sh - - inject: - properties-file: "$WORKSPACE/event.properties" - - publishers: - - jms-messaging: - provider-name: openci.activemq - msg-type: Custom - msg-props: | - type=$type - origin=$origin - msg-content: - $eventBody + !include-raw-escape: ./create-ape.sh # This job gets triggered by a ConfidenceLevelModifiedEvent published # by OPNFV jobs so ODL can promote the autorelease artifact even further. @@ -78,14 +66,8 @@ triggers: - jms-messaging: provider-name: openci.activemq - selector: CI_TYPE = 'custom' - checks: - - field: origin - expected-value: 'OPNFV' - - field: type - expected-value: 'ConfidenceLevelModifiedEvent' - - field: scenario - expected-value: 'os-odl-nofeature' + selector: | + JMSType = 'ConfidenceLevelModifiedEvent' and JMSOrigin = 'OPNFV' and JMSScenario = 'os-odl-nofeature-ha' builders: - shell: | diff --git a/jjb/openci/openci-onap-daily-jobs.yaml b/jjb/openci/openci-onap-daily-jobs.yaml index 28c3e6948..88589d8ac 100644 --- a/jjb/openci/openci-onap-daily-jobs.yaml +++ b/jjb/openci/openci-onap-daily-jobs.yaml @@ -46,19 +46,7 @@ builders: - shell: - !include-raw-escape: ./create-ane.sh - - inject: - properties-file: "$WORKSPACE/event.properties" - - publishers: - - jms-messaging: - provider-name: openci.activemq - msg-type: Custom - msg-props: | - type=$type - origin=$origin - msg-content: - $eventBody + !include-raw-escape: ./create-ape.sh # This job gets triggered by a ConfidenceLevelModifiedEvent published # by OPNFV jobs so ONAP can promote the autorelease artifact even further. @@ -78,14 +66,8 @@ triggers: - jms-messaging: provider-name: openci.activemq - selector: CI_TYPE = 'custom' - checks: - - field: origin - expected-value: 'OPNFV' - - field: type - expected-value: 'ConfidenceLevelModifiedEvent' - - field: scenario - expected-value: 'k8-nosdn-onap' + selector: | + JMSType = 'ConfidenceLevelModifiedEvent' and JMSOrigin = 'OPNFV' and JMSScenario = 'k8-nosdn-onap-ha' builders: - shell: | diff --git a/jjb/openci/openci-opnfv-daily-jobs.yaml b/jjb/openci/openci-opnfv-daily-jobs.yaml index cb150148b..020171bc2 100644 --- a/jjb/openci/openci-opnfv-daily-jobs.yaml +++ b/jjb/openci/openci-opnfv-daily-jobs.yaml @@ -44,17 +44,24 @@ name: SCENARIO_METADATA_LOCATION default: https://url/to/scenario/metadata/on/opnfv/artifact/repo/$BUILD_NUMBER description: 'The location of the scenario metadata' - - 'opnfv-build-defaults' + - label: + name: SLAVE_LABEL + default: 'xci-virtual' + all-nodes: false + node-eligibility: 'ignore-offline' + + wrappers: + - credentials-binding: + - username-password-separated: + credential-id: openci-connect-activemq + username: ACTIVEMQ_USER + password: ACTIVEMQ_PASSWORD + - workspace-cleanup triggers: - jms-messaging: provider-name: openci.activemq - selector: CI_TYPE = 'custom' - checks: - - field: origin - expected-value: '{origin}' - - field: type - expected-value: 'ArtifactPublishedEvent' + selector: JMSType = 'ArtifactPublishedEvent' and JMSOrigin = '{origin}' builders: - shell: | @@ -67,19 +74,6 @@ echo "----------------------------------" - shell: !include-raw-escape: ./create-cde.sh - - inject: - properties-file: "$WORKSPACE/event.properties" - - publishers: - - jms-messaging: - provider-name: openci.activemq - msg-type: Custom - msg-props: | - type=$type - origin=$origin - scenario=$scenario - msg-content: - $eventBody - job-template: name: 'openci-opnfv-{scenario}-test-daily-{stream}' @@ -109,19 +103,24 @@ name: CONFIDENCE_LEVEL default: "'opnfvdaily': 'SUCCESS'" description: 'The confidence level the published artifact gained' - - 'opnfv-build-defaults' + - label: + name: SLAVE_LABEL + default: 'xci-virtual' + all-nodes: false + node-eligibility: 'ignore-offline' + + wrappers: + - credentials-binding: + - username-password-separated: + credential-id: openci-connect-activemq + username: ACTIVEMQ_USER + password: ACTIVEMQ_PASSWORD + - workspace-cleanup triggers: - jms-messaging: provider-name: openci.activemq - selector: CI_TYPE = 'custom' - checks: - - field: origin - expected-value: 'OPNFV' - - field: type - expected-value: 'CompositionDefinedEvent' - - field: scenario - expected-value: '{scenario}' + selector: JMSType = 'CompositionDefinedEvent' and JMSOrigin = 'OPNFV' and JMSScenario = '{scenario}' builders: - shell: | @@ -134,16 +133,3 @@ echo "----------------------------------" - shell: !include-raw-escape: ./create-clme.sh - - inject: - properties-file: "$WORKSPACE/event.properties" - - publishers: - - jms-messaging: - provider-name: openci.activemq - msg-type: Custom - msg-props: | - type=$type - origin=$origin - scenario=$scenario - msg-content: - $eventBody diff --git a/jjb/opnfvdocs/docs-rtd.yaml b/jjb/opnfvdocs/docs-rtd.yaml index ece856903..1492a68ff 100644 --- a/jjb/opnfvdocs/docs-rtd.yaml +++ b/jjb/opnfvdocs/docs-rtd.yaml @@ -29,6 +29,8 @@ name: SLAVE_LABEL default: 'lf-build1' description: 'Slave label on Jenkins' + all-nodes: false + node-eligibility: 'ignore-offline' - project-parameter: project: '{project}' branch: '{branch}' @@ -60,6 +62,8 @@ name: SLAVE_LABEL default: 'lf-build2' description: 'Slave label on Jenkins' + all-nodes: false + node-eligibility: 'ignore-offline' - project-parameter: project: '{project}' branch: '{branch}' @@ -77,18 +81,24 @@ server: 'gerrit.opnfv.org' project: '**' branch: '{branch}' - files: 'docs/**/*.*' + files: 'docs/**' builders: - shell: | if [ "$GERRIT_PROJECT" != "opnfvdocs" ]; then cd docs/submodules/$GERRIT_PROJECT git fetch origin $GERRIT_REFSPEC && git checkout FETCH_HEAD + cd - else git fetch origin $GERRIT_REFSPEC && git checkout FETCH_HEAD fi + if [ -d docs/subdmodules ]; then + for project in docs/submodules/*; do + cd $project && git submodule deinit -f . && cd - + done + fi - shell: | - sudo pip install virtualenv + sudo -H pip install virtualenv virtualenv $WORKSPACE/venv . $WORKSPACE/venv/bin/activate pip install --upgrade pip diff --git a/jjb/ovn4nfv/ovn4nfv-project-jobs.yaml b/jjb/ovn4nfv/ovn4nfv-project-jobs.yaml index 2ce4b6df9..8fbd75ba9 100644 --- a/jjb/ovn4nfv/ovn4nfv-project-jobs.yaml +++ b/jjb/ovn4nfv/ovn4nfv-project-jobs.yaml @@ -9,7 +9,11 @@ branch: '{stream}' gs-pathname: '' disabled: false - - fraser: &fraser + - gambia: &gambia + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + - fraser: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false diff --git a/jjb/ovn4nfv/ovn4nfv-rtd-jobs.yaml b/jjb/ovn4nfv/ovn4nfv-rtd-jobs.yaml new file mode 100644 index 000000000..3169f3369 --- /dev/null +++ b/jjb/ovn4nfv/ovn4nfv-rtd-jobs.yaml @@ -0,0 +1,12 @@ +--- +- project: + name: ovn4nfv-rtd + project: ovn4nfv + project-name: ovn4nfv + + project-pattern: 'ovn4nfv' + rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-ovn4nfv/47381/' + rtd-token: 'f131200fd878a5c443f18c134c3bfda122538bce' + + jobs: + - '{project-name}-rtd-jobs' diff --git a/jjb/releng/compass4nfv-docker.yaml b/jjb/releng/compass4nfv-docker.yaml index 2a5453658..7cedba916 100644 --- a/jjb/releng/compass4nfv-docker.yaml +++ b/jjb/releng/compass4nfv-docker.yaml @@ -15,6 +15,9 @@ - euphrates: branch: 'stable/{stream}' disabled: true + - gambia: + branch: 'stable/{stream}' + disabled: false arch_tag: - 'amd64': @@ -216,6 +219,8 @@ name: SLAVE_LABEL default: '{slave_label}' description: 'Slave label on Jenkins' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT diff --git a/jjb/releng/opnfv-docker-arm.yaml b/jjb/releng/opnfv-docker-arm.yaml index 9066b419e..68217cbd0 100644 --- a/jjb/releng/opnfv-docker-arm.yaml +++ b/jjb/releng/opnfv-docker-arm.yaml @@ -19,6 +19,10 @@ stream: fraser branch: 'stable/{stream}' disabled: false + gambia: &gambia + stream: gambia + branch: 'stable/{stream}' + disabled: false dovetail-arm-receivers: &dovetail-arm-receivers receivers: > cristina.pauna@enea.com @@ -129,7 +133,7 @@ <<: *storperf-arm-receivers - 'yardstick': project: 'yardstick' - <<: *fraser + <<: *gambia <<: *yardstick-arm-receivers # yamllint enable rule:key-duplicates diff --git a/jjb/releng/opnfv-docker.yaml b/jjb/releng/opnfv-docker.yaml index cb9d7f924..9bbcdfea7 100644 --- a/jjb/releng/opnfv-docker.yaml +++ b/jjb/releng/opnfv-docker.yaml @@ -23,6 +23,14 @@ stream: fraser branch: 'stable/{stream}' disabled: false + gambia: &gambia + stream: gambia + branch: 'stable/{stream}' + disabled: false + pharos-tools-receivers: &pharos_tools_receivers + receivers: > + pberberian@iol.unh.edu + sbergeron@iol.unh.edu storperf-receivers: &storperf-receivers receivers: > mark.beierl@emc.com @@ -112,12 +120,42 @@ dockerfile: 'Dockerfile' <<: *master <<: *other-receivers + - 'clover-controller': + project: 'clover' + dockerdir: 'clover/controller' + dockerfile: 'docker/Dockerfile' + <<: *master + <<: *other-receivers + - 'clover-collector': + project: 'clover' + dockerdir: 'clover/collector' + dockerfile: 'docker/Dockerfile' + <<: *master + <<: *other-receivers + - 'clover-jmeter-master': + project: 'clover' + dockerdir: 'clover/tools/jmeter' + dockerfile: 'jmeter-master/Dockerfile' + <<: *master + <<: *other-receivers + - 'clover-jmeter-slave': + project: 'clover' + dockerdir: 'clover/tools/jmeter' + dockerfile: 'jmeter-slave/Dockerfile' + <<: *master + <<: *other-receivers - 'clover-sample-app': project: 'clover' dockerdir: 'samples/scenarios/sample_app' dockerfile: 'Dockerfile' <<: *master <<: *other-receivers + - 'clover-ns-modsecurity-crs': + project: 'clover' + dockerdir: 'samples/services/modsecurity/docker' + dockerfile: 'Dockerfile' + <<: *master + <<: *other-receivers - 'cperf': project: 'cperf' <<: *master @@ -140,6 +178,18 @@ project: 'nfvbench' <<: *master <<: *other-receivers + - 'pharos-tools-laas-dashboard': + project: 'pharos-tools' + dockerdir: 'dashboard' + dockerfile: 'web/Dockerfile' + <<: *master + <<: *pharos_tools_receivers + - 'pharos-tools-laas-celery': + project: 'pharos-tools' + dockerdir: 'dashboard' + dockerfile: 'worker/Dockerfile' + <<: *master + <<: *pharos_tools_receivers - 'qtip': project: 'qtip' dockerdir: '.' @@ -268,8 +318,8 @@ <<: *storperf-receivers - 'yardstick': project: 'yardstick' - <<: *fraser - <<: *other-receivers + <<: *gambia + <<: *yardstick-receivers # projects with jobs for fraser - 'bottlenecks': project: 'bottlenecks' @@ -305,6 +355,10 @@ dockerfile: 'Dockerfile' <<: *fraser <<: *other-receivers + - 'dovetail': + project: 'dovetail' + <<: *fraser + <<: *other-receivers # yamllint enable rule:key-duplicates jobs: - "{dockerrepo}-docker-build-push-{stream}" diff --git a/jjb/releng/opnfv-utils.yaml b/jjb/releng/opnfv-utils.yaml index 71013f4ff..457f7dc2b 100644 --- a/jjb/releng/opnfv-utils.yaml +++ b/jjb/releng/opnfv-utils.yaml @@ -28,7 +28,6 @@ - arm-build3 - arm-build4 - arm-build5 - - arm-build6 - ericsson-build3 - ericsson-build4 - lf-build2 @@ -62,7 +61,7 @@ name: SLAVE_NAME description: Where to create the archive default-slaves: - - master + - lf-build2 allowed-multiselect: false ignore-offline-nodes: true @@ -83,6 +82,7 @@ reply-to: > helpdesk@opnfv.org recipients: > + tbramwell@linuxfoundation.org swinslow@linuxfoundation.org @@ -130,6 +130,7 @@ default-slaves: - lf-build1 - lf-build2 + - lf-build3 - ericsson-build3 - ericsson-build4 allowed-multiselect: true diff --git a/jjb/releng/releng-ci-jobs.yaml b/jjb/releng/releng-ci-jobs.yaml index 17fb6e42c..f7c960335 100644 --- a/jjb/releng/releng-ci-jobs.yaml +++ b/jjb/releng/releng-ci-jobs.yaml @@ -3,6 +3,7 @@ name: releng-builder-jobs project: 'releng' project-name: 'releng' + jjb-version: '2.5.0' build-timeout: 60 diff --git a/jjb/releng/releng-release-create-branch.sh b/jjb/releng/releng-release-create-branch.sh index 92be0e637..663ff19e7 100644 --- a/jjb/releng/releng-release-create-branch.sh +++ b/jjb/releng/releng-release-create-branch.sh @@ -26,7 +26,20 @@ STREAM=${STREAM:-'nostream'} RELEASE_FILES=$(git diff HEAD^1 --name-only -- "releases/$STREAM") for release_file in $RELEASE_FILES; do - python releases/scripts/create_branch.py -f $release_file + + while read -r repo branch ref; do + + echo "$repo" "$branch" "$ref" + branches="$(git ls-remote "https://gerrit.opnfv.org/gerrit/$repo.git" "refs/heads/$branch")" + + if ! [ -z "$branches" ]; then + echo "refs/heads/$branch already exists at $ref ($branches)" + else + ssh -n -f -p 29418 gerrit.opnfv.org gerrit create-branch "$repo" "$branch" "$ref" + fi + + done < <(python releases/scripts/repos.py -b -f "$release_file") + python releases/scripts/create_jobs.py -f $release_file NEW_FILES=$(git status --porcelain --untracked=no | cut -c4-) if [ -n "$NEW_FILES" ]; then diff --git a/jjb/releng/releng-release-create-venv.sh b/jjb/releng/releng-release-create-venv.sh index 0d5635b59..de585fdb3 100644 --- a/jjb/releng/releng-release-create-venv.sh +++ b/jjb/releng/releng-release-create-venv.sh @@ -10,7 +10,7 @@ set -e -o pipefail echo "---> Create virtualenv" -sudo pip install virtualenv +sudo -H pip install virtualenv virtualenv $WORKSPACE/venv # shellcheck source=$WORKSPACE/venv/bin/activate disable=SC1091 source $WORKSPACE/venv/bin/activate diff --git a/jjb/releng/releng-release-jobs.yaml b/jjb/releng/releng-release-jobs.yaml index 89519ae9b..3136d7855 100644 --- a/jjb/releng/releng-release-jobs.yaml +++ b/jjb/releng/releng-release-jobs.yaml @@ -107,7 +107,7 @@ - shell: !include-raw-escape: - releng-release-create-venv.sh - releng-release-tagging.sh - # - releng-release-create-branch.sh + - releng-release-create-branch.sh publishers: - email-jenkins-admins-on-failure diff --git a/jjb/releng/testresults-automate.yaml b/jjb/releng/testresults-automate.yaml index 01fbe0c6d..3a9beadfe 100644 --- a/jjb/releng/testresults-automate.yaml +++ b/jjb/releng/testresults-automate.yaml @@ -28,6 +28,8 @@ name: SLAVE_LABEL default: 'testresults' description: 'Slave label on Jenkins' + all-nodes: false + node-eligibility: 'ignore-offline' - project-parameter: project: 'releng-testresults' branch: 'master' diff --git a/jjb/sfc/sfc-project-jobs.yaml b/jjb/sfc/sfc-project-jobs.yaml index f858d1f5f..f8ceef740 100644 --- a/jjb/sfc/sfc-project-jobs.yaml +++ b/jjb/sfc/sfc-project-jobs.yaml @@ -16,7 +16,11 @@ branch: '{stream}' gs-pathname: '' disabled: false - - fraser: &fraser + - gambia: &gambia + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + - fraser: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: true diff --git a/jjb/stor4nfv/stor4nfv-jobs.yaml b/jjb/stor4nfv/stor4nfv-jobs.yaml new file mode 100644 index 000000000..29af9ffbd --- /dev/null +++ b/jjb/stor4nfv/stor4nfv-jobs.yaml @@ -0,0 +1,12 @@ +--- +- project: + name: stor4nfv-docs + project: 'stor4nfv' + project-name: 'stor4nfv' + + project-pattern: 'stor4nfv' + rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-stor4nfv/47394/' + rtd-token: '9c189b44cf08de75dc06253558cc86ed93982cbb' + + jobs: + - '{project-name}-rtd-jobs' diff --git a/jjb/vswitchperf/vswitchperf.yaml b/jjb/vswitchperf/vswitchperf.yaml index ba0742f3b..569b115b5 100644 --- a/jjb/vswitchperf/vswitchperf.yaml +++ b/jjb/vswitchperf/vswitchperf.yaml @@ -34,7 +34,7 @@ - 'vswitchperf-verify-.*' - 'vswitchperf-merge-.*' - 'vswitchperf-daily-.*' - block-level: 'NODE' + blocking-level: 'NODE' parameters: - project-parameter: @@ -75,7 +75,7 @@ - 'vswitchperf-verify-.*' - 'vswitchperf-merge-.*' - 'vswitchperf-daily-.*' - block-level: 'NODE' + blocking-level: 'NODE' parameters: - project-parameter: @@ -148,7 +148,7 @@ - 'vswitchperf-verify-.*' - 'vswitchperf-merge-.*' - 'vswitchperf-daily-.*' - block-level: 'NODE' + blocking-level: 'NODE' parameters: - project-parameter: diff --git a/jjb/xci/bifrost-periodic-jobs.yaml b/jjb/xci/bifrost-periodic-jobs.yaml index fbe2e205a..4c61be193 100644 --- a/jjb/xci/bifrost-periodic-jobs.yaml +++ b/jjb/xci/bifrost-periodic-jobs.yaml @@ -82,7 +82,7 @@ - '^xci-functest.*' - '^bifrost-.*periodic.*' - '^osa-.*periodic.*' - block-level: 'NODE' + blocking-level: 'NODE' - logrotate-default parameters: @@ -122,6 +122,8 @@ - label: name: SLAVE_LABEL default: '{slave-label}' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: CI_LOOP default: 'periodic' diff --git a/jjb/xci/bifrost-verify-jobs.yaml b/jjb/xci/bifrost-verify-jobs.yaml index 4ca783524..f895cf672 100644 --- a/jjb/xci/bifrost-verify-jobs.yaml +++ b/jjb/xci/bifrost-verify-jobs.yaml @@ -80,7 +80,7 @@ - xci-verify-virtual option: category - block-level: 'NODE' + blocking-level: 'NODE' parameters: - string: @@ -128,6 +128,8 @@ - label: name: SLAVE_LABEL default: 'xci-virtual' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: CI_LOOP default: 'verify' diff --git a/jjb/xci/osa-periodic-jobs.yaml b/jjb/xci/osa-periodic-jobs.yaml index 6c2d165a4..b731bf52b 100644 --- a/jjb/xci/osa-periodic-jobs.yaml +++ b/jjb/xci/osa-periodic-jobs.yaml @@ -58,7 +58,7 @@ - 'bifrost-periodic-{distro}-.*' - 'xci-osa-verify-{distro}-.*' - 'xci-osa-periodic-{distro}-.*' - block-level: 'NODE' + blocking-level: 'NODE' - throttle: max-per-node: 2 max-total: 10 @@ -82,6 +82,8 @@ - label: name: SLAVE_LABEL default: 'xci-virtual' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: OPENSTACK_OSA_VERSION default: 'master' @@ -144,7 +146,7 @@ blocking-jobs: - '.*-bifrost-verify-.*' - '.*-bifrost-periodic-.*' - block-level: 'NODE' + blocking-level: 'NODE' parameters: - project-parameter: diff --git a/jjb/xci/xci-daily-jobs.yaml b/jjb/xci/xci-daily-jobs.yaml index fcd4465cb..18b20f2ac 100644 --- a/jjb/xci/xci-daily-jobs.yaml +++ b/jjb/xci/xci-daily-jobs.yaml @@ -119,7 +119,7 @@ - '^xci-functest.*' - '^bifrost-.*periodic.*' - '^osa-.*periodic.*' - block-level: 'NODE' + blocking-level: 'NODE' - logrotate-default triggers: @@ -138,6 +138,8 @@ - label: name: SLAVE_LABEL default: '{slave-label}' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: XCI_DISTRO default: '{distro}' @@ -237,7 +239,7 @@ - '^xci-functest.*' - '^bifrost-.*periodic.*' - '^osa-.*periodic.*' - block-level: 'NODE' + blocking-level: 'NODE' - throttle: enabled: true max-per-node: 1 @@ -272,6 +274,8 @@ - label: name: SLAVE_LABEL default: '{slave-label}' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: FUNCTEST_VERSION default: 'hunter' @@ -337,7 +341,9 @@ declare -x "\${var}" 2>/dev/null echo $var done < ${XCI_PATH}/.cache/xci.env && cd ${XCI_PATH}/xci && \ - ansible-playbook -i playbooks/dynamic_inventory.py playbooks/prepare-tests.yml + ansible-playbook -i playbooks/dynamic_inventory.py \ + -i ${XCI_PATH}/.cache/repos/openstack-ansible/inventory/dynamic_inventory.py \ + playbooks/prepare-tests.yml ssh root@192.168.122.2 "/root/prepare-tests.sh" echo "---------------------------------------------------------------------------------" diff --git a/jjb/xci/xci-merge-jobs.yaml b/jjb/xci/xci-merge-jobs.yaml index a499ec9be..c468be6d1 100644 --- a/jjb/xci/xci-merge-jobs.yaml +++ b/jjb/xci/xci-merge-jobs.yaml @@ -108,6 +108,8 @@ - label: name: SLAVE_LABEL default: 'xci-virtual' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: CI_LOOP default: 'merge' @@ -228,7 +230,7 @@ - 'openstack-bifrost-verify-{distro}-.*' - 'xci-osa-verify-{distro}-.*' - 'xci-osa-periodic-{distro}-.*' - block-level: 'NODE' + blocking-level: 'NODE' - throttle: max-per-node: 1 max-total: 3 @@ -252,6 +254,8 @@ - label: name: SLAVE_LABEL default: 'xci-virtual' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: CI_LOOP default: 'merge' @@ -353,7 +357,7 @@ - '.*-bifrost-periodic-.*' - 'osa-verify-.*' - 'osa-periodic-.*' - block-level: 'NODE' + blocking-level: 'NODE' parameters: - string: diff --git a/jjb/xci/xci-run-functest.sh b/jjb/xci/xci-run-functest.sh index 992194ca3..610268c28 100755 --- a/jjb/xci/xci-run-functest.sh +++ b/jjb/xci/xci-run-functest.sh @@ -49,7 +49,9 @@ export XCI_VENV=${XCI_PATH}/venv ssh -F $HOME/.ssh/${DISTRO}-xci-vm-config ${DISTRO}_xci_vm "source $XCI_VENV/bin/activate; \ while read var; do declare -x \"\${var}\" 2>/dev/null; done < ${XCI_PATH}/.cache/xci.env && \ - cd releng-xci/xci && ansible-playbook -i playbooks/dynamic_inventory.py playbooks/prepare-tests.yml" + cd releng-xci/xci && ansible-playbook -i playbooks/dynamic_inventory.py \ + -i ${XCI_PATH}/.cache/repos/openstack-ansible/inventory/dynamic_inventory.py \ + playbooks/prepare-tests.yml" echo "Prepare OPNFV VM for Tests" ssh -F $HOME/.ssh/${DISTRO}-xci-vm-config ${DISTRO}_xci_vm_opnfv "/root/prepare-tests.sh" echo "Running Functest" diff --git a/jjb/xci/xci-verify-jobs.yaml b/jjb/xci/xci-verify-jobs.yaml index 7d0f905b2..9edf55597 100644 --- a/jjb/xci/xci-verify-jobs.yaml +++ b/jjb/xci/xci-verify-jobs.yaml @@ -72,7 +72,7 @@ - 'openstack-bifrost-verify-{distro}-.*' - 'xci-osa-verify-{distro}-.*' - 'xci-osa-periodic-{distro}-.*' - block-level: 'NODE' + blocking-level: 'NODE' - throttle: max-per-node: 2 max-total: 10 @@ -140,6 +140,8 @@ - label: name: SLAVE_LABEL default: 'xci-virtual' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: DISTRO default: '{distro}' @@ -164,6 +166,7 @@ description: 'Git URL to use on this Jenkins Slave' builders: + - 'xci-verify-clean-vm-macro' - 'xci-verify-set-scenario-macro' - inject: properties-file: "/tmp/$GERRIT_CHANGE_NUMBER/$DISTRO/scenario.properties" @@ -218,7 +221,6 @@ - role: BOTH build-on: - ABORTED - - FAILURE - NOT_BUILT - SUCCESS - UNSTABLE @@ -243,7 +245,7 @@ - '.*-bifrost-periodic-.*' - 'osa-verify-.*' - 'osa-periodic-.*' - block-level: 'NODE' + blocking-level: 'NODE' parameters: - string: @@ -298,6 +300,12 @@ # builder macros # ------------------------------- - builder: + name: 'xci-verify-clean-vm-macro' + builders: + - shell: + !include-raw: ./xci-cleanup.sh + +- builder: name: 'xci-verify-set-scenario-macro' builders: - shell: diff --git a/jjb/yardstick/yardstick-daily-jobs.yaml b/jjb/yardstick/yardstick-daily-jobs.yaml index c5a35086f..e42dbedc1 100644 --- a/jjb/yardstick/yardstick-daily-jobs.yaml +++ b/jjb/yardstick/yardstick-daily-jobs.yaml @@ -15,11 +15,28 @@ branch: '{stream}' gs-pathname: '' docker-tag: 'latest' + gambia: &gambia + stream: gambia + branch: 'stable/{stream}' + gs-pathname: '{stream}' + docker-tag: 'stable' + # Temporary fraser entry, until all fraser-tied PODs below migrate to gambia fraser: &fraser stream: fraser branch: 'stable/{stream}' gs-pathname: '{stream}' - docker-tag: 'stable' + # In the meantime, docker image 'stable' will carry gambia contents, and + # there is no implemented way to build a docker image with 'fraser' tag. + # Available docker image tag options, as of 2018-10-03: + # - 'opnfv-6.2.1', built on 2018-07-02, is rather old. + # - 'ovp-2.0.0', built on 2018-09-21, is a good fit despite its name: it + # was built using SHA1 6c10a2d9cc3fe10e0bdd73a0985ab767b9479afc, which + # is the same as used for the most recent 'stable' docker image carrying + # fraser contents, built on 2018-09-13 and used so far by the fraser- + # tied PODs below. + # The alternative would be to create a new 'opnfv-6.2.2' git tag, but that + # would just build another image using the same SHA1 as for 'ovp-2.0.0'. + docker-tag: 'ovp-2.0.0' # ------------------------------- # POD, INSTALLER, AND BRANCH MAPPING # ------------------------------- diff --git a/jjb/yardstick/yardstick-daily.sh b/jjb/yardstick/yardstick-daily.sh index 783c64ee1..58d590c27 100755 --- a/jjb/yardstick/yardstick-daily.sh +++ b/jjb/yardstick/yardstick-daily.sh @@ -41,10 +41,6 @@ elif [[ ${INSTALLER_TYPE} == 'fuel' ]]; then cacert_file_vol="-v ${HOME}/os_cacert:/etc/ssl/certs/mcp_os_cacert" sshkey="-v ${SSH_KEY}:/root/.ssh/mcp.rsa" 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} \ diff --git a/jjb/yardstick/yardstick-project-jobs.yaml b/jjb/yardstick/yardstick-project-jobs.yaml index f5fffb6ed..ace2e0265 100644 --- a/jjb/yardstick/yardstick-project-jobs.yaml +++ b/jjb/yardstick/yardstick-project-jobs.yaml @@ -17,7 +17,11 @@ branch: '{stream}' gs-pathname: '' disabled: false - - fraser: &fraser + - gambia: &gambia + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + - fraser: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false |