diff options
Diffstat (limited to 'jjb')
86 files changed, 4210 insertions, 3617 deletions
diff --git a/jjb/3rd_party_ci/odl-netvirt.yml b/jjb/3rd_party_ci/odl-netvirt.yml index a937acbed..01017f307 100644 --- a/jjb/3rd_party_ci/odl-netvirt.yml +++ b/jjb/3rd_party_ci/odl-netvirt.yml @@ -1,37 +1,39 @@ +--- - project: name: 'netvirt' project: 'netvirt' installer: 'netvirt' -##################################### -# branch definitions -##################################### + ##################################### + # branch definitions + ##################################### stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - carbon: - branch: 'stable/carbon' - gs-pathname: '' - disabled: false -##################################### -# patch verification phases -##################################### + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - carbon: + branch: 'stable/carbon' + gs-pathname: '' + disabled: false + ##################################### + # patch verification phases + ##################################### phase: - - 'create-apex-vms': - slave-label: 'odl-netvirt-virtual-intel' - - 'install-netvirt': - slave-label: 'odl-netvirt-virtual-intel' - - 'postprocess': - slave-label: 'odl-netvirt-virtual-intel' -##################################### -# jobs -##################################### + - 'create-apex-vms': + slave-label: 'odl-netvirt-virtual-intel' + - 'install-netvirt': + slave-label: 'odl-netvirt-virtual-intel' + - 'postprocess': + slave-label: 'odl-netvirt-virtual-intel' + ##################################### + # jobs + ##################################### jobs: - - 'odl-netvirt-verify-virtual-{stream}' - - 'odl-netvirt-verify-virtual-{phase}-{stream}' + - 'odl-netvirt-verify-virtual-{stream}' + - 'odl-netvirt-verify-virtual-{phase}-{stream}' + ##################################### # job templates ##################################### @@ -45,116 +47,118 @@ concurrent: true properties: - - logrotate-default - - throttle: - enabled: true - max-total: 5 - max-per-node: 1 - option: 'project' + - logrotate-default + - throttle: + enabled: true + max-total: 5 + max-per-node: 1 + option: 'project' scm: - - git: - url: https://gerrit.opnfv.org/gerrit/apex - branches: - - 'origin/master' - timeout: 15 - wipe-workspace: true + - git: + url: https://gerrit.opnfv.org/gerrit/apex + branches: + - 'origin/master' + timeout: 15 + wipe-workspace: true parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - string: - name: NETVIRT_ARTIFACT - default: distribution-karaf.tar.gz - - 'odl-netvirt-virtual-intel-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - string: + name: NETVIRT_ARTIFACT + default: distribution-karaf.tar.gz + - 'odl-netvirt-virtual-intel-defaults' triggers: - - gerrit: - server-name: 'git.opendaylight.org' - trigger-on: - # - comment-added-contains-event: - # comment-contains-value: 'https://jenkins.opendaylight.org/releng/job/netvirt-patch-test-current-carbon/.*?/ : SUCCESS' - # - comment-added-contains-event: - # comment-contains-value: 'https://jenkins.opendaylight.org/releng/job/netvirt-patch-test-current-carbon/.*?/ : UNSTABLE' - - comment-added-contains-event: - comment-contains-value: 'opnfv-test' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - readable-message: true + - gerrit: + server-name: 'git.opendaylight.org' + trigger-on: + # yamllint disable rule:line-length + # - comment-added-contains-event: + # comment-contains-value: 'https://jenkins.opendaylight.org/releng/job/netvirt-patch-test-current-carbon/.*?/ : SUCCESS' + # - comment-added-contains-event: + # comment-contains-value: 'https://jenkins.opendaylight.org/releng/job/netvirt-patch-test-current-carbon/.*?/ : UNSTABLE' + # yamllint enable rule:line-length + - comment-added-contains-event: + comment-contains-value: 'opnfv-test' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + readable-message: true builders: - - description-setter: - description: "Built on $NODE_NAME" - - multijob: - name: create-apex-vms - condition: SUCCESSFUL - projects: - - name: 'odl-netvirt-verify-virtual-create-apex-vms-{stream}' - current-parameters: false - predefined-parameters: | - BRANCH=$BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID - GERRIT_PATCHSET_NUMBER=$GERRIT_PATCHSET_NUMBER - GERRIT_PATCHSET_REVISION=$GERRIT_PATCHSET_REVISION - NETVIRT_ARTIFACT=$NETVIRT_ARTIFACT - APEX_ENV_NUMBER=$APEX_ENV_NUMBER - node-parameters: true - kill-phase-on: FAILURE - abort-all-job: true - - multijob: - name: install-netvirt - condition: SUCCESSFUL - projects: - - name: 'odl-netvirt-verify-virtual-install-netvirt-{stream}' - current-parameters: false - predefined-parameters: | - ODL_BRANCH={branch} - BRANCH=$BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID - GERRIT_PATCHSET_NUMBER=$GERRIT_PATCHSET_NUMBER - GERRIT_PATCHSET_REVISION=$GERRIT_PATCHSET_REVISION - NETVIRT_ARTIFACT=$NETVIRT_ARTIFACT - node-parameters: true - kill-phase-on: FAILURE - abort-all-job: true - - multijob: - name: functest - condition: SUCCESSFUL - projects: - - name: 'functest-netvirt-virtual-suite-master' - predefined-parameters: | - DEPLOY_SCENARIO=os-odl_l3-nofeature-ha - FUNCTEST_SUITE_NAME=odl_netvirt - RC_FILE_PATH=$HOME/cloner-info/overcloudrc - node-parameters: true - kill-phase-on: FAILURE - abort-all-job: false - - multijob: - name: postprocess - condition: ALWAYS - projects: - - name: 'odl-netvirt-verify-virtual-postprocess-{stream}' - current-parameters: false - predefined-parameters: | - BRANCH=$BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID - GERRIT_PATCHSET_NUMBER=$GERRIT_PATCHSET_NUMBER - GERRIT_PATCHSET_REVISION=$GERRIT_PATCHSET_REVISION - NETVIRT_ARTIFACT=$NETVIRT_ARTIFACT - node-parameters: true - kill-phase-on: FAILURE - abort-all-job: false + - description-setter: + description: "Built on $NODE_NAME" + - multijob: + name: create-apex-vms + condition: SUCCESSFUL + projects: + - name: 'odl-netvirt-verify-virtual-create-apex-vms-{stream}' + current-parameters: false + predefined-parameters: | + BRANCH=$BRANCH + GERRIT_REFSPEC=$GERRIT_REFSPEC + GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER + GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID + GERRIT_PATCHSET_NUMBER=$GERRIT_PATCHSET_NUMBER + GERRIT_PATCHSET_REVISION=$GERRIT_PATCHSET_REVISION + NETVIRT_ARTIFACT=$NETVIRT_ARTIFACT + APEX_ENV_NUMBER=$APEX_ENV_NUMBER + node-parameters: true + kill-phase-on: FAILURE + abort-all-job: true + - multijob: + name: install-netvirt + condition: SUCCESSFUL + projects: + - name: 'odl-netvirt-verify-virtual-install-netvirt-{stream}' + current-parameters: false + predefined-parameters: | + ODL_BRANCH={branch} + BRANCH=$BRANCH + GERRIT_REFSPEC=$GERRIT_REFSPEC + GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER + GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID + GERRIT_PATCHSET_NUMBER=$GERRIT_PATCHSET_NUMBER + GERRIT_PATCHSET_REVISION=$GERRIT_PATCHSET_REVISION + NETVIRT_ARTIFACT=$NETVIRT_ARTIFACT + node-parameters: true + kill-phase-on: FAILURE + abort-all-job: true + - multijob: + name: functest + condition: SUCCESSFUL + projects: + - name: 'functest-netvirt-virtual-suite-master' + predefined-parameters: | + DEPLOY_SCENARIO=os-odl_l3-nofeature-ha + FUNCTEST_SUITE_NAME=odl_netvirt + RC_FILE_PATH=$HOME/cloner-info/overcloudrc + node-parameters: true + kill-phase-on: FAILURE + abort-all-job: false + - multijob: + name: postprocess + condition: ALWAYS + projects: + - name: 'odl-netvirt-verify-virtual-postprocess-{stream}' + current-parameters: false + predefined-parameters: | + BRANCH=$BRANCH + GERRIT_REFSPEC=$GERRIT_REFSPEC + GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER + GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID + GERRIT_PATCHSET_NUMBER=$GERRIT_PATCHSET_NUMBER + GERRIT_PATCHSET_REVISION=$GERRIT_PATCHSET_REVISION + NETVIRT_ARTIFACT=$NETVIRT_ARTIFACT + node-parameters: true + kill-phase-on: FAILURE + abort-all-job: false - job-template: name: 'odl-netvirt-verify-virtual-{phase}-{stream}' @@ -164,71 +168,71 @@ concurrent: true properties: - - logrotate-default - - throttle: - enabled: true - max-total: 5 - max-per-node: 1 - option: 'project' - - build-blocker: - use-build-blocker: true - blocking-jobs: - - 'odl-netvirt-verify-virtual-create-apex-vms-.*' - - 'odl-netvirt-verify-virtual-install-netvirt-.*' - - 'functest-netvirt-virtual-suite-.*' - - 'odl-netvirt-verify-virtual-postprocess-.*' - block-level: 'NODE' + - logrotate-default + - throttle: + enabled: true + max-total: 5 + max-per-node: 1 + option: 'project' + - build-blocker: + use-build-blocker: true + blocking-jobs: + - 'odl-netvirt-verify-virtual-create-apex-vms-.*' + - 'odl-netvirt-verify-virtual-install-netvirt-.*' + - 'functest-netvirt-virtual-suite-.*' + - 'odl-netvirt-verify-virtual-postprocess-.*' + block-level: 'NODE' wrappers: - - ssh-agent-wrapper - - timeout: - timeout: 360 - fail: true + - ssh-agent-wrapper + - timeout: + timeout: 360 + fail: true scm: - - git: - url: https://gerrit.opnfv.org/gerrit/apex - branches: - - 'origin/master' - timeout: 15 - wipe-workspace: true + - git: + url: https://gerrit.opnfv.org/gerrit/apex + branches: + - 'origin/master' + timeout: 15 + wipe-workspace: true parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{slave-label}-defaults' - - '{installer}-defaults' - - string: - name: DEPLOY_SCENARIO - default: 'os-odl_l2-bgpvpn-noha' - description: 'Scenario to deploy and test' - - string: - name: GS_URL - default: artifacts.opnfv.org/apex - description: "URL to Google Storage with snapshot artifacts." + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{slave-label}-defaults' + - '{installer}-defaults' + - string: + name: DEPLOY_SCENARIO + default: 'os-odl_l2-bgpvpn-noha' + description: 'Scenario to deploy and test' + - string: + name: GS_URL + default: artifacts.opnfv.org/apex + description: "URL to Google Storage with snapshot artifacts." builders: - - description-setter: - description: "Built on $NODE_NAME" - - '{project}-verify-{phase}-builder' + - description-setter: + description: "Built on $NODE_NAME" + - '{project}-verify-{phase}-builder' ##################################### # builder macros ##################################### - builder: name: 'netvirt-verify-create-apex-vms-builder' builders: - - shell: - !include-raw: ../apex/apex-snapshot-deploy.sh + - shell: + !include-raw: ../apex/apex-snapshot-deploy.sh - builder: name: 'netvirt-verify-install-netvirt-builder' builders: - - shell: - !include-raw: ./download-netvirt-artifact.sh - - shell: - !include-raw: ./install-netvirt.sh + - shell: + !include-raw: ./download-netvirt-artifact.sh + - shell: + !include-raw: ./install-netvirt.sh - builder: name: 'netvirt-verify-postprocess-builder' builders: - - shell: - !include-raw: ./postprocess-netvirt.sh + - shell: + !include-raw: ./postprocess-netvirt.sh diff --git a/jjb/apex/apex-build.sh b/jjb/apex/apex-build.sh index ad94ba3d7..23ce81015 100755 --- a/jjb/apex/apex-build.sh +++ b/jjb/apex/apex-build.sh @@ -31,6 +31,7 @@ BUILD_DIRECTORY=${WORKSPACE}/build pushd ${BUILD_DIRECTORY} make clean popd +export PYTHONPATH=${WORKSPACE} python3 apex/build.py $BUILD_ARGS RPM_VERSION=$(grep Version: $WORKSPACE/build/rpm_specs/opnfv-apex.spec | awk '{ print $2 }')-$(echo $OPNFV_ARTIFACT_VERSION | tr -d '_-') # list the contents of BUILD_OUTPUT directory diff --git a/jjb/apex/apex-deploy.sh b/jjb/apex/apex-deploy.sh index a47e3a5db..a79c9e726 100755 --- a/jjb/apex/apex-deploy.sh +++ b/jjb/apex/apex-deploy.sh @@ -38,7 +38,7 @@ if [[ "$ARTIFACT_VERSION" =~ dev ]]; then DEPLOY_SETTINGS_DIR="${WORKSPACE}/config/deploy" NETWORK_SETTINGS_DIR="${WORKSPACE}/config/network" DEPLOY_CMD="opnfv-deploy --image-dir ${WORKSPACE}/.build" - CLEAN_CMD="${WORKSPACE}/ci/clean.sh" + CLEAN_CMD="opnfv-clean" RESOURCES="${WORKSPACE}/.build/" CONFIG="${WORKSPACE}/build" BASE=$CONFIG @@ -49,10 +49,10 @@ if [[ "$ARTIFACT_VERSION" =~ dev ]]; then # TODO(trozet) add verification here # Install dev build - mkdir -p ~/tmp - mv -f .build ~/tmp/ + sudo rm -rf /tmp/.build + mv -f .build /tmp/ sudo pip3 install --upgrade --force-reinstall . - mv -f ~/tmp/.build . + mv -f /tmp/.build ${WORKSPACE}/ else DEPLOY_SETTINGS_DIR="/etc/opnfv-apex/" NETWORK_SETTINGS_DIR="/etc/opnfv-apex/" diff --git a/jjb/apex/apex-snapshot-deploy.sh b/jjb/apex/apex-snapshot-deploy.sh index 3eb3cf23a..a93421c8e 100644 --- a/jjb/apex/apex-snapshot-deploy.sh +++ b/jjb/apex/apex-snapshot-deploy.sh @@ -22,7 +22,7 @@ echo echo "Cleaning server" pushd ci > /dev/null -sudo BASE=../build/ LIB=../lib ./clean.sh +sudo opnfv-clean popd > /dev/null echo "Downloading latest snapshot properties file" diff --git a/jjb/apex/apex-workspace-cleanup.sh b/jjb/apex/apex-workspace-cleanup.sh deleted file mode 100755 index d2f71a562..000000000 --- a/jjb/apex/apex-workspace-cleanup.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -set -o errexit -set -o nounset -set -o pipefail - -# delete everything that is in $WORKSPACE -sudo /bin/rm -rf $WORKSPACE diff --git a/jjb/apex/apex.yml b/jjb/apex/apex.yml index 92651e85c..baad8d353 100644 --- a/jjb/apex/apex.yml +++ b/jjb/apex/apex.yml @@ -15,6 +15,8 @@ - 'apex-testsuite-{scenario}-baremetal-{scenario_stream}' - 'apex-upload-snapshot' - 'apex-create-snapshot' + - 'apex-flex-daily-os-nosdn-nofeature-ha-{stream}' + - 'apex-dovetail-daily-os-nosdn-nofeature-ha-baremetal-danube' # stream: branch with - in place of / (eg. stable-arno) # branch: branch (eg. stable/arno) stream: @@ -174,9 +176,37 @@ branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' + disable-strict-forbidden-file-verification: 'false' file-paths: - compare-type: ANT pattern: 'apex/tests/**' + forbidden-file-paths: + - compare-type: ANT + pattern: '*' + - compare-type: ANT + pattern: 'apex/*' + - compare-type: ANT + pattern: 'build/**' + - compare-type: ANT + pattern: 'lib/**' + - compare-type: ANT + pattern: 'config/**' + - compare-type: ANT + pattern: 'apex/build/**' + - compare-type: ANT + pattern: 'apex/common/**' + - compare-type: ANT + pattern: 'apex/inventory/**' + - compare-type: ANT + pattern: 'apex/network/**' + - compare-type: ANT + pattern: 'apex/overcloud/**' + - compare-type: ANT + pattern: 'apex/settings/**' + - compare-type: ANT + pattern: 'apex/undercloud/**' + - compare-type: ANT + pattern: 'apex/virtual/**' properties: - logrotate-default - throttle: @@ -231,11 +261,39 @@ - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' disable-strict-forbidden-file-verification: 'true' + file-paths: + - compare-type: ANT + pattern: '*' + - compare-type: ANT + pattern: 'apex/*' + - compare-type: ANT + pattern: 'build/**' + - compare-type: ANT + pattern: 'lib/**' + - compare-type: ANT + pattern: 'config/**' + - compare-type: ANT + pattern: 'apex/build/**' + - compare-type: ANT + pattern: 'apex/common/**' + - compare-type: ANT + pattern: 'apex/inventory/**' + - compare-type: ANT + pattern: 'apex/network/**' + - compare-type: ANT + pattern: 'apex/overcloud/**' + - compare-type: ANT + pattern: 'apex/settings/**' + - compare-type: ANT + pattern: 'apex/undercloud/**' + - compare-type: ANT + pattern: 'apex/virtual/**' forbidden-file-paths: - compare-type: ANT pattern: 'apex/tests/**' - compare-type: ANT pattern: 'docs/**' + properties: - logrotate-default - build-blocker: @@ -545,7 +603,7 @@ description: "Deployed on $NODE_NAME - Scenario: $DEPLOY_SCENARIO" - 'apex-download-artifact' - 'apex-deploy' - - 'apex-workspace-cleanup' + - 'clean-workspace' # Baremetal Deploy and Test @@ -1521,6 +1579,152 @@ abort-all-job: true git-revision: false +# Flex job +- job-template: + name: 'apex-flex-daily-os-nosdn-nofeature-ha-{stream}' + + project-type: 'multijob' + + disabled: false + + node: 'flex-pod2' + + scm: + - git-scm + triggers: + - 'apex-{stream}' + parameters: + - '{project}-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - apex-parameter: + gs-pathname: '{gs-pathname}' + - string: + name: DEPLOY_SCENARIO + default: 'os-nosdn-nofeature-ha' + description: "Scenario to deploy with." + - 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' + properties: + - logrotate-default + - build-blocker: + use-build-blocker: true + block-level: 'NODE' + blocking-jobs: + - 'apex-verify.*' + - 'apex-runner.*' + - 'apex-.*-promote.*' + - 'apex-run.*' + - 'apex-.+-baremetal-.+' + - throttle: + max-per-node: 1 + max-total: 10 + option: 'project' + builders: + - description-setter: + description: "Deployed on $NODE_NAME - Scenario: $DEPLOY_SCENARIO" + - multijob: + name: 'Baremetal Deploy' + condition: SUCCESSFUL + projects: + - name: 'apex-deploy-baremetal-{stream}' + node-parameters: true + current-parameters: true + predefined-parameters: | + OPNFV_CLEAN=yes + GERRIT_BRANCH=$GERRIT_BRANCH + GERRIT_REFSPEC= + DEPLOY_SCENARIO=$DEPLOY_SCENARIO + kill-phase-on: FAILURE + abort-all-job: true + git-revision: false + - multijob: + name: Yardstick + condition: ALWAYS + projects: + - name: 'yardstick-apex-baremetal-daily-{stream}' + node-parameters: true + current-parameters: false + predefined-parameters: + DEPLOY_SCENARIO=$DEPLOY_SCENARIO + kill-phase-on: NEVER + abort-all-job: false + git-revision: false + +# Dovetail Danube test job +- job-template: + name: 'apex-dovetail-daily-os-nosdn-nofeature-ha-baremetal-danube' + + project-type: 'multijob' + + node: 'huawei-pod4' + + disabled: false + + parameters: + - '{project}-defaults' + - project-parameter: + project: '{project}' + branch: 'stable/danube' + - apex-parameter: + gs-pathname: '/danube' + - string: + name: DEPLOY_SCENARIO + default: 'os-nosdn-nofeature-ha' + description: "Scenario to deploy with." + + properties: + - logrotate-default + - build-blocker: + use-build-blocker: true + block-level: 'NODE' + blocking-jobs: + - 'apex-verify.*' + - 'apex-runner.*' + - 'apex-.*-promote.*' + - 'apex-run.*' + + triggers: + - timed: '0 12 * * *' + + builders: + - description-setter: + description: "Testing on $NODE_NAME - Scenario: $DEPLOY_SCENARIO" + - multijob: + name: 'Baremetal Deploy' + condition: SUCCESSFUL + projects: + - name: 'apex-deploy-baremetal-danube' + node-parameters: true + current-parameters: true + predefined-parameters: | + OPNFV_CLEAN=yes + GERRIT_BRANCH=$GERRIT_BRANCH + GERRIT_REFSPEC= + DEPLOY_SCENARIO=$DEPLOY_SCENARIO + kill-phase-on: FAILURE + abort-all-job: true + git-revision: false + - multijob: + name: Dovetail + condition: ALWAYS + projects: + - name: 'dovetail-apex-baremetal-proposed_tests-danube' + node-parameters: true + current-parameters: false + predefined-parameters: + DEPLOY_SCENARIO=$DEPLOY_SCENARIO + kill-phase-on: NEVER + abort-all-job: false + git-revision: false + ######################## # parameter macros ######################## @@ -1570,13 +1774,6 @@ !include-raw: ./apex-unit-test.sh - builder: - name: 'apex-workspace-cleanup' - builders: - - shell: - !include-raw: ./apex-workspace-cleanup.sh - - -- builder: name: 'apex-upload-artifact' builders: - shell: diff --git a/jjb/apex/apex.yml.j2 b/jjb/apex/apex.yml.j2 index 960839ad2..df8cf92c0 100644 --- a/jjb/apex/apex.yml.j2 +++ b/jjb/apex/apex.yml.j2 @@ -15,6 +15,8 @@ - 'apex-testsuite-{scenario}-baremetal-{scenario_stream}' - 'apex-upload-snapshot' - 'apex-create-snapshot' + - 'apex-flex-daily-os-nosdn-nofeature-ha-{stream}' + - 'apex-dovetail-daily-os-nosdn-nofeature-ha-baremetal-danube' # stream: branch with - in place of / (eg. stable-arno) # branch: branch (eg. stable/arno) stream: @@ -86,9 +88,37 @@ branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' + disable-strict-forbidden-file-verification: 'false' file-paths: - compare-type: ANT pattern: 'apex/tests/**' + forbidden-file-paths: + - compare-type: ANT + pattern: '*' + - compare-type: ANT + pattern: 'apex/*' + - compare-type: ANT + pattern: 'build/**' + - compare-type: ANT + pattern: 'lib/**' + - compare-type: ANT + pattern: 'config/**' + - compare-type: ANT + pattern: 'apex/build/**' + - compare-type: ANT + pattern: 'apex/common/**' + - compare-type: ANT + pattern: 'apex/inventory/**' + - compare-type: ANT + pattern: 'apex/network/**' + - compare-type: ANT + pattern: 'apex/overcloud/**' + - compare-type: ANT + pattern: 'apex/settings/**' + - compare-type: ANT + pattern: 'apex/undercloud/**' + - compare-type: ANT + pattern: 'apex/virtual/**' properties: - logrotate-default - throttle: @@ -143,11 +173,39 @@ - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' disable-strict-forbidden-file-verification: 'true' + file-paths: + - compare-type: ANT + pattern: '*' + - compare-type: ANT + pattern: 'apex/*' + - compare-type: ANT + pattern: 'build/**' + - compare-type: ANT + pattern: 'lib/**' + - compare-type: ANT + pattern: 'config/**' + - compare-type: ANT + pattern: 'apex/build/**' + - compare-type: ANT + pattern: 'apex/common/**' + - compare-type: ANT + pattern: 'apex/inventory/**' + - compare-type: ANT + pattern: 'apex/network/**' + - compare-type: ANT + pattern: 'apex/overcloud/**' + - compare-type: ANT + pattern: 'apex/settings/**' + - compare-type: ANT + pattern: 'apex/undercloud/**' + - compare-type: ANT + pattern: 'apex/virtual/**' forbidden-file-paths: - compare-type: ANT pattern: 'apex/tests/**' - compare-type: ANT pattern: 'docs/**' + properties: - logrotate-default - build-blocker: @@ -457,7 +515,7 @@ description: "Deployed on $NODE_NAME - Scenario: $DEPLOY_SCENARIO" - 'apex-download-artifact' - 'apex-deploy' - - 'apex-workspace-cleanup' + - 'clean-workspace' # Baremetal Deploy and Test @@ -948,6 +1006,152 @@ abort-all-job: true git-revision: false +# Flex job +- job-template: + name: 'apex-flex-daily-os-nosdn-nofeature-ha-{stream}' + + project-type: 'multijob' + + disabled: false + + node: 'flex-pod2' + + scm: + - git-scm + triggers: + - 'apex-{stream}' + parameters: + - '{project}-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - apex-parameter: + gs-pathname: '{gs-pathname}' + - string: + name: DEPLOY_SCENARIO + default: 'os-nosdn-nofeature-ha' + description: "Scenario to deploy with." + - 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' + properties: + - logrotate-default + - build-blocker: + use-build-blocker: true + block-level: 'NODE' + blocking-jobs: + - 'apex-verify.*' + - 'apex-runner.*' + - 'apex-.*-promote.*' + - 'apex-run.*' + - 'apex-.+-baremetal-.+' + - throttle: + max-per-node: 1 + max-total: 10 + option: 'project' + builders: + - description-setter: + description: "Deployed on $NODE_NAME - Scenario: $DEPLOY_SCENARIO" + - multijob: + name: 'Baremetal Deploy' + condition: SUCCESSFUL + projects: + - name: 'apex-deploy-baremetal-{stream}' + node-parameters: true + current-parameters: true + predefined-parameters: | + OPNFV_CLEAN=yes + GERRIT_BRANCH=$GERRIT_BRANCH + GERRIT_REFSPEC= + DEPLOY_SCENARIO=$DEPLOY_SCENARIO + kill-phase-on: FAILURE + abort-all-job: true + git-revision: false + - multijob: + name: Yardstick + condition: ALWAYS + projects: + - name: 'yardstick-apex-baremetal-daily-{stream}' + node-parameters: true + current-parameters: false + predefined-parameters: + DEPLOY_SCENARIO=$DEPLOY_SCENARIO + kill-phase-on: NEVER + abort-all-job: false + git-revision: false + +# Dovetail Danube test job +- job-template: + name: 'apex-dovetail-daily-os-nosdn-nofeature-ha-baremetal-danube' + + project-type: 'multijob' + + node: 'huawei-pod4' + + disabled: false + + parameters: + - '{project}-defaults' + - project-parameter: + project: '{project}' + branch: 'stable/danube' + - apex-parameter: + gs-pathname: '/danube' + - string: + name: DEPLOY_SCENARIO + default: 'os-nosdn-nofeature-ha' + description: "Scenario to deploy with." + + properties: + - logrotate-default + - build-blocker: + use-build-blocker: true + block-level: 'NODE' + blocking-jobs: + - 'apex-verify.*' + - 'apex-runner.*' + - 'apex-.*-promote.*' + - 'apex-run.*' + + triggers: + - timed: '0 12 * * *' + + builders: + - description-setter: + description: "Testing on $NODE_NAME - Scenario: $DEPLOY_SCENARIO" + - multijob: + name: 'Baremetal Deploy' + condition: SUCCESSFUL + projects: + - name: 'apex-deploy-baremetal-danube' + node-parameters: true + current-parameters: true + predefined-parameters: | + OPNFV_CLEAN=yes + GERRIT_BRANCH=$GERRIT_BRANCH + GERRIT_REFSPEC= + DEPLOY_SCENARIO=$DEPLOY_SCENARIO + kill-phase-on: FAILURE + abort-all-job: true + git-revision: false + - multijob: + name: Dovetail + condition: ALWAYS + projects: + - name: 'dovetail-apex-baremetal-proposed_tests-danube' + node-parameters: true + current-parameters: false + predefined-parameters: + DEPLOY_SCENARIO=$DEPLOY_SCENARIO + kill-phase-on: NEVER + abort-all-job: false + git-revision: false + ######################## # parameter macros ######################## @@ -997,13 +1201,6 @@ !include-raw: ./apex-unit-test.sh - builder: - name: 'apex-workspace-cleanup' - builders: - - shell: - !include-raw: ./apex-workspace-cleanup.sh - - -- builder: name: 'apex-upload-artifact' builders: - shell: diff --git a/jjb/armband/armband-ci-jobs.yml b/jjb/armband/armband-ci-jobs.yml index 237c13491..276f68809 100644 --- a/jjb/armband/armband-ci-jobs.yml +++ b/jjb/armband/armband-ci-jobs.yml @@ -50,7 +50,7 @@ # HA scenarios - 'os-nosdn-nofeature-ha': auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger' - - 'os-odl_l3-nofeature-ha': + - 'os-odl-nofeature-ha': auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger' # NOHA scenarios @@ -113,7 +113,7 @@ same-node: true block: true - trigger-builds: - - project: 'functest-{installer}-{pod}-daily-{stream}' + - project: 'functest-{installer}-{pod}-arm-daily-{stream}' current-parameters: false predefined-parameters: DEPLOY_SCENARIO={scenario} @@ -139,10 +139,10 @@ # 3.only proposed_tests testsuite here(refstack, ha, ipv6, bgpvpn) # 4.not used for release criteria or compliance, # only to debug the dovetail tool bugs with arm pods - # 5.only run against scenario os-(nosdn|odl_l3)-(nofeature-bgpvpn)-ha + # 5.only run against scenario os-(nosdn|odl)-(nofeature-bgpvpn)-ha - conditional-step: condition-kind: regex-match - regex: os-(nosdn|odl|odl_l3)-(nofeature|bgpvpn)-ha + regex: os-(nosdn|odl)-(nofeature|bgpvpn)-ha label: '{scenario}' steps: - trigger-builds: @@ -186,7 +186,7 @@ installer: '{installer}' - string: name: DEPLOY_SCENARIO - default: 'os-odl_l3-nofeature-ha' + default: 'os-odl-nofeature-ha' scm: - git-scm @@ -214,15 +214,15 @@ - trigger: name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-master-trigger' triggers: - - timed: '' + - timed: '0 1 * * *' - trigger: name: 'fuel-os-nosdn-nofeature-noha-armband-baremetal-master-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l3-nofeature-ha-armband-baremetal-master-trigger' + name: 'fuel-os-odl-nofeature-ha-armband-baremetal-master-trigger' triggers: - - timed: '' + - timed: '0 16 * * *' #---------------------------------------------------------------------- # Enea Armband CI Baremetal Triggers running against euphrates branch #---------------------------------------------------------------------- @@ -235,7 +235,7 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l3-nofeature-ha-armband-baremetal-euphrates-trigger' + name: 'fuel-os-odl-nofeature-ha-armband-baremetal-euphrates-trigger' triggers: - timed: '' #--------------------------------------------------------------- @@ -250,7 +250,7 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l3-nofeature-ha-armband-virtual-master-trigger' + name: 'fuel-os-odl-nofeature-ha-armband-virtual-master-trigger' triggers: - timed: '' #-------------------------------------------------------------------- @@ -265,6 +265,6 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l3-nofeature-ha-armband-virtual-euphrates-trigger' + name: 'fuel-os-odl-nofeature-ha-armband-virtual-euphrates-trigger' triggers: - timed: '' diff --git a/jjb/armband/armband-verify-jobs.yml b/jjb/armband/armband-verify-jobs.yml index b18d9f71e..c43dc7f82 100644 --- a/jjb/armband/armband-verify-jobs.yml +++ b/jjb/armband/armband-verify-jobs.yml @@ -208,7 +208,7 @@ name: 'armband-verify-deploy-virtual-macro' builders: - shell: - !include-raw-escape: ../fuel/fuel-deploy.sh + !include-raw: ../fuel/fuel-deploy.sh - builder: name: 'armband-verify-smoke-test-macro' diff --git a/jjb/availability/availability.yml b/jjb/availability/availability.yml index 302bbc996..12514b666 100644 --- a/jjb/availability/availability.yml +++ b/jjb/availability/availability.yml @@ -1,3 +1,4 @@ +--- ################################################### # All the jobs except verify have been removed! # They will only be enabled on request by projects! @@ -8,17 +9,17 @@ project: '{name}' jobs: - - 'availability-verify-{stream}' + - 'availability-verify-{stream}' stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: 'false' - - danube: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: 'false' + - master: + branch: '{stream}' + gs-pathname: '' + disabled: 'false' + - danube: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: 'false' - job-template: name: 'availability-verify-{stream}' @@ -26,38 +27,38 @@ disabled: '{obj:disabled}' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' scm: - - git-scm-gerrit + - git-scm-gerrit triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**|.gitignore' + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + - draft-published-event + - comment-added-contains-event: + comment-contains-value: 'recheck' + - comment-added-contains-event: + comment-contains-value: 'reverify' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**|.gitignore' builders: - - shell: | - echo "Nothing to verify!" + - shell: | + echo "Nothing to verify!" diff --git a/jjb/barometer/barometer-upload-artifact.sh b/jjb/barometer/barometer-upload-artifact.sh index 817cc5770..0f639b5d9 100644 --- a/jjb/barometer/barometer-upload-artifact.sh +++ b/jjb/barometer/barometer-upload-artifact.sh @@ -2,6 +2,7 @@ set -o nounset set -o pipefail +RPM_LIST=$WORKSPACE/ci/utilities/rpms_list RPM_WORKDIR=$WORKSPACE/rpmbuild RPM_DIR=$RPM_WORKDIR/RPMS/x86_64/ cd $WORKSPACE/ @@ -9,9 +10,32 @@ cd $WORKSPACE/ # source the opnfv.properties to get ARTIFACT_VERSION source $WORKSPACE/opnfv.properties -# upload property files -gsutil cp $WORKSPACE/opnfv.properties gs://$OPNFV_ARTIFACT_URL/opnfv.properties > gsutil.properties.log 2>&1 -gsutil cp $WORKSPACE/opnfv.properties gs://$GS_URL/latest.properties > gsutil.latest.log 2>&1 +# Check if all the appropriate RPMs were generated +echo "Checking if all the Barometer RPMs were created" +echo "-----------------------------------------------" +echo + +if [ -d $RPM_DIR ] +then + ls $RPM_DIR > list_of_gen_pack +else + echo "Can't access folder $RPM_DIR with rpm packages" + echo "Barometer nightly build FAILED" + exit 1 +fi + +for PACKAGENAME in `cat $RPM_LIST` +do + if ! grep -q $PACKAGENAME list_of_gen_pack + then + echo "$PACKAGENAME is missing" + echo "Barometer nightly build FAILED" + exit 2 + fi +done + +#remove the file you no longer need. +rm list_of_gen_pack echo "Uploading the barometer RPMs to artifacts.opnfv.org" echo "---------------------------------------------------" @@ -25,6 +49,10 @@ if [[ $? -ne 0 ]]; then echo "Problem while uploading barometer RPMs to gs://$OPNFV_ARTIFACT_URL!" echo "Check log $WORKSPACE/gsutil.log on the appropriate build server" exit 1 +else + # upload property files only if build is successful + gsutil cp $WORKSPACE/opnfv.properties gs://$OPNFV_ARTIFACT_URL/opnfv.properties > gsutil.properties.log 2>&1 + gsutil cp $WORKSPACE/opnfv.properties gs://$GS_URL/latest.properties > gsutil.latest.log 2>&1 fi gsutil -m setmeta \ diff --git a/jjb/barometer/barometer.yml b/jjb/barometer/barometer.yml index 2d3e972f8..8a5bea02e 100644 --- a/jjb/barometer/barometer.yml +++ b/jjb/barometer/barometer.yml @@ -1,3 +1,4 @@ +--- ################################################### # All the jobs except verify have been removed! # They will only be enabled on request by projects! @@ -8,19 +9,19 @@ project: '{name}' jobs: - - 'barometer-verify-{stream}' - - 'barometer-merge-{stream}' - - 'barometer-daily-{stream}' + - 'barometer-verify-{stream}' + - 'barometer-merge-{stream}' + - 'barometer-daily-{stream}' stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - danube: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - danube: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false - job-template: name: 'barometer-verify-{stream}' @@ -28,44 +29,44 @@ disabled: '{obj:disabled}' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' scm: - - git-scm-gerrit + - git-scm-gerrit triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**|.gitignore' + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + - draft-published-event + - comment-added-contains-event: + comment-contains-value: 'recheck' + - comment-added-contains-event: + comment-contains-value: 'reverify' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**|.gitignore' builders: - - shell: | - pwd - cd src - make clobber - make + - shell: | + pwd + cd src + make clobber + make - job-template: name: 'barometer-merge-{stream}' @@ -77,46 +78,46 @@ concurrent: true properties: - - logrotate-default - - throttle: - enabled: true - max-total: 3 - max-per-node: 2 - option: 'project' + - logrotate-default + - throttle: + enabled: true + max-total: 3 + max-per-node: 2 + option: 'project' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' scm: - - git-scm + - git-scm triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - change-merged-event - - comment-added-contains-event: - comment-contains-value: 'remerge' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**' + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - change-merged-event + - comment-added-contains-event: + comment-contains-value: 'remerge' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**' builders: - - shell: | - pwd - cd src - make clobber - make + - shell: | + pwd + cd src + make clobber + make - job-template: name: 'barometer-daily-{stream}' @@ -128,27 +129,27 @@ concurrent: false properties: - - logrotate-default + - logrotate-default parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - barometer-project-parameter: - gs-pathname: '{gs-pathname}' - - 'opnfv-build-centos-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - barometer-project-parameter: + gs-pathname: '{gs-pathname}' + - 'opnfv-build-centos-defaults' scm: - - git-scm + - git-scm triggers: - - timed: '@midnight' + - timed: '@midnight' builders: - - shell: - !include-raw-escape: ./barometer-build.sh - - shell: - !include-raw-escape: ./barometer-upload-artifact.sh + - shell: + !include-raw-escape: ./barometer-build.sh + - shell: + !include-raw-escape: ./barometer-upload-artifact.sh ######################## # parameter macros @@ -156,7 +157,7 @@ - parameter: name: barometer-project-parameter parameters: - - string: - name: GS_URL - default: '$GS_BASE{gs-pathname}' - description: "URL to Google Storage." + - string: + name: GS_URL + default: '$GS_BASE{gs-pathname}' + description: "URL to Google Storage." diff --git a/jjb/bottlenecks/bottlenecks-ci-jobs.yml b/jjb/bottlenecks/bottlenecks-ci-jobs.yml index 71601cf75..bb2a13ccc 100644 --- a/jjb/bottlenecks/bottlenecks-ci-jobs.yml +++ b/jjb/bottlenecks/bottlenecks-ci-jobs.yml @@ -1,3 +1,4 @@ +--- #################################### # job configuration for bottlenecks #################################### @@ -6,75 +7,75 @@ project: 'bottlenecks' -#-------------------------------- -# BRANCH ANCHORS -#-------------------------------- + # ------------------------------- + # BRANCH ANCHORS + # ------------------------------- master: &master - stream: master - branch: '{stream}' - #This is used for common project file storage - gs-pathname: '' - #This is used for different test suite dependent packages storage - gs-packagepath: '/{suite}' - #docker tag used for version control - docker-tag: 'latest' + stream: master + branch: '{stream}' + # This is used for common project file storage + gs-pathname: '' + # This is used for different test suite dependent packages storage + gs-packagepath: '/{suite}' + # docker tag used for version control + docker-tag: 'latest' danube: &danube - stream: danube - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - gs-packagepath: '/{stream}/{suite}' - docker-tag: 'stable' -#-------------------------------- -# POD, INSTALLER, AND BRANCH MAPPING -#-------------------------------- -# Installers using labels -# CI PODs -# This section should only contain the installers -# that have been switched using labels for slaves -#-------------------------------- + stream: danube + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + gs-packagepath: '/{stream}/{suite}' + docker-tag: 'stable' + # ------------------------------- + # POD, INSTALLER, AND BRANCH MAPPING + # ------------------------------- + # Installers using labels + # CI PODs + # This section should only contain the installers + # that have been switched using labels for slaves + # ------------------------------- pod: -#compass CI PODs - - baremetal: - slave-label: compass-baremetal-master - installer: compass - auto-trigger-name: 'daily-trigger-disabled' - <<: *master - - virtual: - slave-label: compass-virtual-master - installer: compass - auto-trigger-name: 'daily-trigger-disabled' - <<: *master - - baremetal: - slave-label: compass-baremetal-branch - installer: compass - auto-trigger-name: 'daily-trigger-disabled' - <<: *danube - - virtual: - slave-label: compass-virtual-branch - installer: compass - auto-trigger-name: 'daily-trigger-disabled' - <<: *danube - -#-------------------------------- -# None-CI PODs -#-------------------------------- - # - orange-pod2: - # slave-label: '{pod}' - # installer: joid - # auto-trigger-name: 'daily-trigger-disabled' - # <<: *danube - # - orange-pod2: - # slave-label: '{pod}' - # installer: joid - # auto-trigger-name: 'daily-trigger-disabled' - # <<: *master -#-------------------------------------------- + # compass CI PODs + - baremetal: + slave-label: compass-baremetal-master + installer: compass + auto-trigger-name: 'daily-trigger-disabled' + <<: *master + - virtual: + slave-label: compass-virtual-master + installer: compass + auto-trigger-name: 'daily-trigger-disabled' + <<: *master + - baremetal: + slave-label: compass-baremetal-branch + installer: compass + auto-trigger-name: 'daily-trigger-disabled' + <<: *danube + - virtual: + slave-label: compass-virtual-branch + installer: compass + auto-trigger-name: 'daily-trigger-disabled' + <<: *danube + + # ------------------------------- + # None-CI PODs + # ------------------------------- + # - orange-pod2: + # slave-label: '{pod}' + # installer: joid + # auto-trigger-name: 'daily-trigger-disabled' + # <<: *danube + # - orange-pod2: + # slave-label: '{pod}' + # installer: joid + # auto-trigger-name: 'daily-trigger-disabled' + # <<: *master + # ------------------------------------------- suite: - - 'posca_stress_traffic' - - 'posca_stress_ping' + - 'posca_stress_traffic' + - 'posca_stress_ping' jobs: - - 'bottlenecks-{installer}-{suite}-{pod}-daily-{stream}' + - 'bottlenecks-{installer}-{suite}-{pod}-daily-{stream}' ################################ # job templates @@ -83,53 +84,55 @@ name: 'bottlenecks-{installer}-{suite}-{pod}-daily-{stream}' wrappers: - - build-name: - name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' - - timeout: - timeout: 180 - abort: true + - build-name: + name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' + - timeout: + timeout: 180 + abort: true + - fix-workspace-permissions triggers: - - '{auto-trigger-name}' + - '{auto-trigger-name}' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{slave-label}-defaults' - - '{installer}-defaults' - - 'bottlenecks-params-{slave-label}' - - string: - name: REPO_DIR - default: "/home/opnfv/bottlenecks" - description: "Directory where the repository is cloned" - - string: - name: DEPLOY_SCENARIO - default: 'os-odl_l2-nofeature-ha' - - string: - name: GERRIT_REFSPEC_DEBUG - default: 'true' - description: "Gerrit refspec for debug." - - string: - name: SUITE_NAME - default: '{suite}' - description: "test suite name." - - string: - name: DOCKER_TAG - default: '{docker-tag}' - description: "docker image tag used for version control" + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{slave-label}-defaults' + - '{installer}-defaults' + - 'bottlenecks-params-{slave-label}' + - string: + name: REPO_DIR + default: "/home/opnfv/bottlenecks" + description: "Directory where the repository is cloned" + - string: + name: DEPLOY_SCENARIO + default: 'os-odl_l2-nofeature-ha' + - string: + name: GERRIT_REFSPEC_DEBUG + default: 'true' + description: "Gerrit refspec for debug." + - string: + name: SUITE_NAME + default: '{suite}' + description: "test suite name." + - string: + name: DOCKER_TAG + default: '{docker-tag}' + description: "docker image tag used for version control" scm: - - git-scm + - git-scm builders: - - 'bottlenecks-env-cleanup' - - 'bottlenecks-run-suite' + - 'bottlenecks-env-cleanup' + - 'bottlenecks-run-suite' + - 'bottlenecks-workspace-cleanup' publishers: - - email: - recipients: gabriel.yuyang@huawei.com, liyin11@huawei.com - - email-jenkins-admins-on-failure + - email: + recipients: gabriel.yuyang@huawei.com, liyin11@huawei.com + - email-jenkins-admins-on-failure ######################## # builder macros @@ -137,14 +140,26 @@ - builder: name: bottlenecks-env-cleanup builders: - - shell: - !include-raw: ./bottlenecks-cleanup.sh + - shell: + !include-raw: ./bottlenecks-cleanup.sh - builder: name: bottlenecks-run-suite builders: - - shell: - !include-raw: ./bottlenecks-run-suite.sh + - shell: + !include-raw: ./bottlenecks-run-suite.sh + +- builder: + name: bottlenecks-workspace-cleanup + builders: + - shell: | + #!/bin/bash + set -o errexit + set -o nounset + set -o pipefail + + # delete everything that is in $WORKSPACE + sudo rm -rf $WORKSPACE #################### # parameter macros @@ -153,31 +168,31 @@ - parameter: name: 'bottlenecks-params-compass-baremetal-master' parameters: - - string: - name: BOTTLENECKS_DB_TARGET - default: 'http://testresults.opnfv.org/test/api/v1/results' - description: 'Arguments to use in order to choose the backend DB' + - string: + name: BOTTLENECKS_DB_TARGET + default: 'http://testresults.opnfv.org/test/api/v1/results' + description: 'Arguments to use in order to choose the backend DB' - parameter: name: 'bottlenecks-params-compass-virtual-master' parameters: - - string: - name: BOTTLENECKS_DB_TARGET - default: 'http://testresults.opnfv.org/test/api/v1/results' - description: 'Arguments to use in order to choose the backend DB' + - string: + name: BOTTLENECKS_DB_TARGET + default: 'http://testresults.opnfv.org/test/api/v1/results' + description: 'Arguments to use in order to choose the backend DB' - parameter: name: 'bottlenecks-params-compass-baremetal-branch' parameters: - - string: - name: BOTTLENECKS_DB_TARGET - default: 'http://testresults.opnfv.org/test/api/v1/results' - description: 'Arguments to use in order to choose the backend DB' + - string: + name: BOTTLENECKS_DB_TARGET + default: 'http://testresults.opnfv.org/test/api/v1/results' + description: 'Arguments to use in order to choose the backend DB' - parameter: name: 'bottlenecks-params-compass-virtual-branch' parameters: - - string: - name: BOTTLENECKS_DB_TARGET - default: 'http://testresults.opnfv.org/test/api/v1/results' - description: 'Arguments to use in order to choose the backend DB' + - string: + name: BOTTLENECKS_DB_TARGET + default: 'http://testresults.opnfv.org/test/api/v1/results' + description: 'Arguments to use in order to choose the backend DB' diff --git a/jjb/bottlenecks/bottlenecks-project-jobs.yml b/jjb/bottlenecks/bottlenecks-project-jobs.yml index 5dced2aad..10f73b8e5 100644 --- a/jjb/bottlenecks/bottlenecks-project-jobs.yml +++ b/jjb/bottlenecks/bottlenecks-project-jobs.yml @@ -1,3 +1,4 @@ +--- ################################################### # Non-ci jobs for Bottlenecks project # They will only be enabled on request by projects! @@ -8,29 +9,27 @@ project: 'bottlenecks' jobs: - - 'bottlenecks-verify-{stream}' - - 'bottlenecks-merge-{stream}' - - 'bottlenecks-{suite}-upload-artifacts-{stream}' + - 'bottlenecks-verify-{stream}' + - 'bottlenecks-merge-{stream}' + - 'bottlenecks-{suite}-upload-artifacts-{stream}' stream: - - master: - branch: '{stream}' - #This is used for common project file storage - gs-pathname: '' - #This is used for different test suite dependent packages storage - gs-packagepath: '/{suite}' - disabled: false - - danube: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - gs-packagepath: '/{stream}/{suite}' - disabled: false + - master: + branch: '{stream}' + # This is used for common project file storage + gs-pathname: '' + # This is used for different test suite dependent packages storage + gs-packagepath: '/{suite}' + disabled: false + - danube: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + gs-packagepath: '/{stream}/{suite}' + disabled: false suite: - - 'rubbos' - - 'vstf' - - 'posca_stress_traffic' - - 'posca_stress_ping' + - 'posca_stress_traffic' + - 'posca_stress_ping' ################################ # job templates @@ -42,36 +41,37 @@ disabled: '{obj:disabled}' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' scm: - - git-scm-gerrit + - git-scm-gerrit triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + - draft-published-event + - comment-added-contains-event: + comment-contains-value: 'recheck' + - comment-added-contains-event: + comment-contains-value: 'reverify' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + builders: - #- bottlenecks-hello - - bottlenecks-unit-tests + # - bottlenecks-hello + - bottlenecks-unit-tests - job-template: name: 'bottlenecks-merge-{stream}' @@ -79,31 +79,31 @@ disabled: '{obj:disabled}' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' scm: - - git-scm + - git-scm triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - change-merged-event - - comment-added-contains-event: - comment-contains-value: 'remerge' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - change-merged-event + - comment-added-contains-event: + comment-contains-value: 'remerge' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' builders: - - bottlenecks-hello - #- bottlenecks-unit-tests + - bottlenecks-hello + # - bottlenecks-unit-tests - job-template: name: 'bottlenecks-{suite}-upload-artifacts-{stream}' @@ -114,27 +114,27 @@ concurrent: true properties: - - logrotate-default - - throttle: - enabled: true - max-total: 1 - max-per-node: 1 - option: 'project' + - logrotate-default + - throttle: + enabled: true + max-total: 1 + max-per-node: 1 + option: 'project' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - bottlenecks-parameter: - gs-packagepath: '{gs-packagepath}' + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' + - bottlenecks-parameter: + gs-packagepath: '{gs-packagepath}' scm: - - git-scm + - git-scm builders: - - 'bottlenecks-builder-upload-artifact' - - 'bottlenecks-workspace-cleanup' + - 'bottlenecks-builder-upload-artifact' + - 'bottlenecks-artifact-workspace-cleanup' #################### # parameter macros @@ -142,82 +142,82 @@ - parameter: name: bottlenecks-parameter parameters: - - string: - name: CACHE_DIR - default: $WORKSPACE/cache{gs-packagepath} - description: "the cache to store packages downloaded from public IP" - - string: - name: SUITE_URL - default: gs://artifacts.opnfv.org/bottlenecks{gs-packagepath} - description: "LF artifacts url for storage of bottlenecks packages" - - string: - name: PACKAGE_URL - default: http://205.177.226.237:9999/bottlenecks{gs-packagepath}/ - description: "the url where we store the packages used for bottlenecks rubbos" + - string: + name: CACHE_DIR + default: $WORKSPACE/cache{gs-packagepath} + description: "the cache to store packages downloaded from public IP" + - string: + name: SUITE_URL + default: gs://artifacts.opnfv.org/bottlenecks{gs-packagepath} + description: "LF artifacts url for storage of bottlenecks packages" + - string: + name: PACKAGE_URL + default: http://205.177.226.237:9999/bottlenecks{gs-packagepath}/ + description: "the url where we store the packages used for bottlenecks rubbos" #################################### -#builders for bottlenecks project +# builders for bottlenecks project #################################### - builder: name: bottlenecks-builder-upload-artifact builders: - - shell: | - #!/bin/bash - set -o errexit + - shell: | + #!/bin/bash + set -o errexit - echo "Bottlenecks: upload to artifacts from the public IP" + echo "Bottlenecks: upload to artifacts from the public IP" - [[ -d $CACHE_DIR ]] || mkdir -p $CACHE_DIR + [[ -d $CACHE_DIR ]] || mkdir -p $CACHE_DIR - for file in $(curl -s $PACKAGE_URL | - grep href | - sed 's/.*href="//' | - sed 's/".*//' | - grep '^[a-zA-Z].*'); do - curl --connect-timeout 10 -o $CACHE_DIR/$file $PACKAGE_URL$file -v - echo "bottlenecks: copy file $CACHE_DIR/$file to $SUITE_URL" - gsutil cp $CACHE_DIR/$file $SUITE_URL - done + for file in $(curl -s $PACKAGE_URL | + grep href | + sed 's/.*href="//' | + sed 's/".*//' | + grep '^[a-zA-Z].*'); do + curl --connect-timeout 10 -o $CACHE_DIR/$file $PACKAGE_URL$file -v + echo "bottlenecks: copy file $CACHE_DIR/$file to $SUITE_URL" + gsutil cp $CACHE_DIR/$file $SUITE_URL + done - builder: - name: bottlenecks-workspace-cleanup + name: bottlenecks-artifact-workspace-cleanup builders: - - shell: | - #!/bin/bash - set -o errexit + - shell: | + #!/bin/bash + set -o errexit - echo "Bottlenecks: cleanup cache used for storage downloaded packages" + echo "Bottlenecks: cleanup cache used for storage downloaded packages" - /bin/rm -rf $CACHE_DIR + /bin/rm -rf $CACHE_DIR - builder: name: bottlenecks-unit-tests builders: - - shell: | - #!/bin/bash - set -o errexit - set -o pipefail + - shell: | + #!/bin/bash + set -o errexit + set -o pipefail - echo "Running unit tests..." - cd $WORKSPACE - virtualenv $WORKSPACE/bottlenecks_venv - source $WORKSPACE/bottlenecks_venv/bin/activate + echo "Running unit tests..." + cd $WORKSPACE + virtualenv $WORKSPACE/bottlenecks_venv + source $WORKSPACE/bottlenecks_venv/bin/activate - # install python packages - easy_install -U setuptools - easy_install -U pip - pip install -r $WORKSPACE/requirements/verify.txt + # install python packages + easy_install -U setuptools + easy_install -U pip + pip install -r $WORKSPACE/requirements/verify.txt - # unit tests - /bin/bash $WORKSPACE/verify.sh + # unit tests + /bin/bash $WORKSPACE/verify.sh - deactivate + deactivate - builder: name: bottlenecks-hello builders: - - shell: | - #!/bin/bash - set -o errexit + - shell: | + #!/bin/bash + set -o errexit - echo -e "Wellcome to Bottlenecks! \nMerge event is planning to support more functions! " + echo -e "Wellcome to Bottlenecks! \nMerge event is planning to support more functions! " diff --git a/jjb/bottlenecks/bottlenecks-run-suite.sh b/jjb/bottlenecks/bottlenecks-run-suite.sh index a7570431d..811f9d58c 100644 --- a/jjb/bottlenecks/bottlenecks-run-suite.sh +++ b/jjb/bottlenecks/bottlenecks-run-suite.sh @@ -104,6 +104,9 @@ if [[ $SUITE_NAME == *posca* ]]; then deactivate + sudo rm -rf ${RELENG_REPO}/modules/venv + sudo rm -rf ${RELENG_REPO}/modules/opnfv.egg-info + set -e cd ${WORKSPACE} @@ -125,7 +128,7 @@ if [[ $SUITE_NAME == *posca* ]]; then -e NODE_NAME=${NODE_NAME} -e EXTERNAL_NET=${EXTERNAL_NETWORK} \ -e BRANCH=${BRANCH} -e GERRIT_REFSPEC_DEBUG=${GERRIT_REFSPEC_DEBUG} \ -e BOTTLENECKS_DB_TARGET=${BOTTLENECKS_DB_TARGET} -e PACKAGE_URL=${PACKAGE_URL} \ - -e DEPLOY_SCENARIO=${DEPLOY_SCENARIO}" + -e DEPLOY_SCENARIO=${DEPLOY_SCENARIO} -e BUILD_TAG=${BUILD_TAG}" docker_volume="-v /var/run/docker.sock:/var/run/docker.sock -v /tmp:/tmp" cmd="docker run ${opts} ${envs} --name bottlenecks-load-master ${docker_volume} opnfv/bottlenecks:${DOCKER_TAG} /bin/bash" diff --git a/jjb/ci_gate_security/opnfv-ci-gate-security.yml b/jjb/ci_gate_security/opnfv-ci-gate-security.yml index 59479e73d..33179537c 100644 --- a/jjb/ci_gate_security/opnfv-ci-gate-security.yml +++ b/jjb/ci_gate_security/opnfv-ci-gate-security.yml @@ -1,3 +1,4 @@ +--- # SPDX-license-identifier: Apache-2.0 ######################## # Job configuration for opnfv-anteater (security audit) @@ -9,14 +10,14 @@ project: anteaterfw jobs: - - 'opnfv-security-audit-verify-{stream}' - - 'opnfv-security-audit-weekly-{stream}' + - 'opnfv-security-audit-verify-{stream}' + - 'opnfv-security-audit-weekly-{stream}' stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false ######################## # job templates @@ -27,19 +28,19 @@ disabled: '{obj:disabled}' parameters: - - label: - name: SLAVE_LABEL - default: 'ericsson-build3' - description: 'Slave label on Jenkins' - - project-parameter: - project: releng - branch: '{branch}' + - label: + name: SLAVE_LABEL + default: 'ericsson-build3' + description: 'Slave label on Jenkins' + - project-parameter: + project: releng + branch: '{branch}' triggers: - - timed: '@weekly' + - timed: '@weekly' builders: - - anteater-security-audit-weekly + - anteater-security-audit-weekly - job-template: name: 'opnfv-security-audit-verify-{stream}' @@ -47,52 +48,56 @@ disabled: '{obj:disabled}' parameters: - - label: - name: SLAVE_LABEL - default: 'ericsson-build3' - description: 'Slave label on Jenkins' - - project-parameter: - project: $GERRIT_PROJECT - branch: '{branch}' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW." + - label: + name: SLAVE_LABEL + default: 'ericsson-build3' + description: 'Slave label on Jenkins' + - project-parameter: + project: $GERRIT_PROJECT + branch: '{branch}' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + # yamllint disable rule:line-length + description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW." + # yamllint enable rule:line-length scm: - - git-scm-gerrit + - git-scm-gerrit + # yamllint disable rule:line-length triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'REG_EXP' - project-pattern: 'apex|armband|bamboo|barometer|bottlenecks|calipso|compass4nfv|conductor|cooper|cperf|daisy|doctor|dovetail|dpacc|enfv|escalator|fds|fuel|functest|octopus|pharos|releng|sandbox|yardstick' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - file-paths: - - compare-type: ANT - pattern: '**' - skip-vote: - successful: true - failed: true - unstable: true - notbuilt: true + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + - draft-published-event + - comment-added-contains-event: + comment-contains-value: 'recheck' + - comment-added-contains-event: + comment-contains-value: 'reverify' + projects: + - project-compare-type: 'REG_EXP' + project-pattern: 'apex|armband|bamboo|barometer|bottlenecks|calipso|compass4nfv|conductor|cooper|cperf|daisy|doctor|dovetail|dpacc|enfv|escalator|fds|fuel|functest|octopus|pharos|releng|sandbox|yardstick' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + file-paths: + - compare-type: ANT + pattern: '**' + skip-vote: + successful: true + failed: true + unstable: true + notbuilt: true + # yamllint enable rule:line-length builders: - - anteater-security-audit - - report-security-audit-result-to-gerrit + - anteater-security-audit + - report-security-audit-result-to-gerrit publishers: - archive-artifacts: artifacts: ".reports/*" @@ -103,20 +108,21 @@ - builder: name: anteater-security-audit builders: - - shell: - !include-raw: ./anteater-security-audit.sh + - shell: + !include-raw: ./anteater-security-audit.sh - builder: name: report-security-audit-result-to-gerrit builders: - - shell: - !include-raw: ./anteater-report-to-gerrit.sh + - shell: + !include-raw: ./anteater-report-to-gerrit.sh +# yamllint disable rule:indentation - builder: name: anteater-security-audit-weekly builders: - - shell: - !include-raw: - - ./anteater-clone-all-repos.sh - - ./anteater-security-audit-weekly.sh - + - shell: + !include-raw: + - ./anteater-clone-all-repos.sh + - ./anteater-security-audit-weekly.sh +# yamllint enable rule:indentation diff --git a/jjb/compass4nfv/compass-ci-jobs.yml b/jjb/compass4nfv/compass-ci-jobs.yml index 8b4a74bd1..aaa5b57e8 100644 --- a/jjb/compass4nfv/compass-ci-jobs.yml +++ b/jjb/compass4nfv/compass-ci-jobs.yml @@ -195,7 +195,8 @@ # here the stream means the SUT stream, dovetail stream is defined in its own job # only run on os-(nosdn|odl_l2|onos|odl_l3)-nofeature-ha scenario # run against SUT master branch, dovetail docker image with latest tag - # run against SUT danube branch, dovetail docker image with latest tag(odd days)and cvp.X.X.X tag(even days) + # run against SUT danube branch, dovetail docker image with latest tag(Monday and Sunday) + # run against SUT danube branch, dovetail docker image with cvp.X.X.X tag(Tuesday, Thursday, Friday and Saturday) - conditional-step: condition-kind: and condition-operands: @@ -203,14 +204,12 @@ regex: danube label: '{stream}' - condition-kind: regex-match - regex: os-(nosdn|odl_l2|onos|odl_l3)-nofeature-ha + regex: os-(nosdn|odl_l2|odl_l3)-nofeature-ha label: '{scenario}' - condition-kind: day-of-week day-selector: select-days days: MON: true - WED: true - FRI: true SUN: true use-build-time: true steps: @@ -233,13 +232,15 @@ regex: danube label: '{stream}' - condition-kind: regex-match - regex: os-(nosdn|odl_l2|onos|odl_l3)-nofeature-ha + regex: os-(nosdn|odl_l2|odl_l3)-nofeature-ha label: '{scenario}' - condition-kind: day-of-week day-selector: select-days days: TUES: true + WED: true THURS: true + FRI: true SAT: true use-build-time: true steps: @@ -258,7 +259,7 @@ condition-kind: and condition-operands: - condition-kind: regex-match - regex: os-(nosdn|odl_l2|onos|odl_l3)-nofeature-ha + regex: os-(nosdn|odl_l2|odl_l3)-nofeature-ha label: '{scenario}' - condition-kind: regex-match regex: master @@ -656,7 +657,7 @@ - trigger: name: 'compass-k8-nosdn-nofeature-ha-virtual-master-trigger' triggers: - - timed: '' + - timed: '0 12 * * *' - trigger: name: 'compass-os-odl-sfc-ha-virtual-master-trigger' triggers: diff --git a/jjb/compass4nfv/compass-project-jobs.yml b/jjb/compass4nfv/compass-project-jobs.yml index 691e76278..e612ef65f 100644 --- a/jjb/compass4nfv/compass-project-jobs.yml +++ b/jjb/compass4nfv/compass-project-jobs.yml @@ -64,8 +64,7 @@ !include-raw-escape: ./compass-build.sh - shell: !include-raw-escape: ./compass-upload-artifact.sh - - shell: - !include-raw-escape: ./compass-workspace-cleanup.sh + - 'clean-workspace' - job-template: name: 'compass-build-ppa-{stream}' diff --git a/jjb/compass4nfv/compass-workspace-cleanup.sh b/jjb/compass4nfv/compass-workspace-cleanup.sh deleted file mode 100644 index 98201af9b..000000000 --- a/jjb/compass4nfv/compass-workspace-cleanup.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -set -o errexit -set -o nounset -set -o pipefail - -# delete everything that is in $WORKSPACE -/bin/rm -rf $WORKSPACE
\ No newline at end of file diff --git a/jjb/conductor/conductor.yml b/jjb/conductor/conductor.yml index d2ce649fc..593bbf764 100644 --- a/jjb/conductor/conductor.yml +++ b/jjb/conductor/conductor.yml @@ -1,3 +1,4 @@ +--- ################################################### # All the jobs except verify have been removed! # They will only be enabled on request by projects! @@ -8,17 +9,17 @@ project: '{name}' jobs: - - 'conductor-verify-{stream}' + - 'conductor-verify-{stream}' stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - danube: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - danube: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false - job-template: name: 'conductor-verify-{stream}' @@ -26,38 +27,38 @@ disabled: '{obj:disabled}' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' scm: - - git-scm-gerrit + - git-scm-gerrit triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**|.gitignore' + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + - draft-published-event + - comment-added-contains-event: + comment-contains-value: 'recheck' + - comment-added-contains-event: + comment-contains-value: 'reverify' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**|.gitignore' builders: - - shell: | - echo "Nothing to verify!" + - shell: | + echo "Nothing to verify!" diff --git a/jjb/container4nfv/container4nfv-project.yml b/jjb/container4nfv/container4nfv-project.yml index 3b29b36f8..db365cb64 100644 --- a/jjb/container4nfv/container4nfv-project.yml +++ b/jjb/container4nfv/container4nfv-project.yml @@ -1,3 +1,4 @@ +--- ################################################### # All the jobs except verify have been removed! # They will only be enabled on request by projects! @@ -8,17 +9,17 @@ project: '{name}' jobs: - - 'container4nfv-verify-{stream}' + - 'container4nfv-verify-{stream}' stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - danube: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - danube: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false - job-template: name: 'container4nfv-verify-{stream}' @@ -26,38 +27,38 @@ disabled: '{obj:disabled}' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' scm: - - git-scm-gerrit + - git-scm-gerrit triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**|.gitignore' + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + - draft-published-event + - comment-added-contains-event: + comment-contains-value: 'recheck' + - comment-added-contains-event: + comment-contains-value: 'reverify' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**|.gitignore' builders: - - shell: | - echo "Nothing to verify!" + - shell: | + echo "Nothing to verify!" diff --git a/jjb/copper/copper.yml b/jjb/copper/copper.yml index d06afe4c0..c85725b47 100644 --- a/jjb/copper/copper.yml +++ b/jjb/copper/copper.yml @@ -1,3 +1,4 @@ +--- ################################################### # All the jobs except verify have been removed! # They will only be enabled on request by projects! @@ -8,17 +9,17 @@ project: '{name}' jobs: - - 'copper-verify-{stream}' + - 'copper-verify-{stream}' stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - danube: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - danube: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false - job-template: name: 'copper-verify-{stream}' @@ -26,43 +27,43 @@ disabled: '{obj:disabled}' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' scm: - - git-scm-gerrit + - git-scm-gerrit triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**|.gitignore' + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + - draft-published-event + - comment-added-contains-event: + comment-contains-value: 'recheck' + - comment-added-contains-event: + comment-contains-value: 'reverify' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**|.gitignore' builders: - - shell: | - #!/bin/bash - set -o errexit - set -o nounset - set -o pipefail + - shell: | + #!/bin/bash + set -o errexit + set -o nounset + set -o pipefail - # shellcheck -f tty tests/*.sh + # shellcheck -f tty tests/*.sh diff --git a/jjb/cperf/cperf-ci-jobs.yml b/jjb/cperf/cperf-ci-jobs.yml index dc209d644..fdd3509d1 100644 --- a/jjb/cperf/cperf-ci-jobs.yml +++ b/jjb/cperf/cperf-ci-jobs.yml @@ -1,3 +1,4 @@ +--- ################################### # job configuration for cperf ################################### @@ -5,40 +6,39 @@ name: cperf-ci-jobs project: cperf -#-------------------------------- -# BRANCH ANCHORS -#-------------------------------- + # ------------------------------- + # BRANCH ANCHORS + # ------------------------------- master: &master - stream: master - branch: '{stream}' - gs-pathname: '' - docker-tag: 'latest' + stream: master + branch: '{stream}' + gs-pathname: '' + docker-tag: 'latest' danube: &danube - stream: danube - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - docker-tag: 'stable' - -#-------------------------------- -# POD, INSTALLER, AND BRANCH MAPPING -#-------------------------------- + stream: danube + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + docker-tag: 'stable' + + # ------------------------------- + # POD, INSTALLER, AND BRANCH MAPPING + # ------------------------------- pod: -#-------------------------------- -# master -#-------------------------------- - - intel-pod2: - installer: apex - <<: *master - - intel-pod2: - installer: apex - <<: *danube -#-------------------------------- + # ------------------------------- + # master + # ------------------------------- + - intel-pod2: + installer: apex + <<: *master + - intel-pod2: + installer: apex + <<: *danube testsuite: - - 'daily' + - 'daily' jobs: - - 'cperf-{installer}-{pod}-{testsuite}-{stream}' + - 'cperf-{installer}-{pod}-{testsuite}-{stream}' ################################ # job template @@ -49,35 +49,35 @@ concurrent: true properties: - - logrotate-default - - throttle: - enabled: true - max-per-node: 1 - option: 'project' + - logrotate-default + - throttle: + enabled: true + max-per-node: 1 + option: 'project' wrappers: - - build-name: - name: '$BUILD_NUMBER Suite: $CPERF_SUITE_NAME Scenario: $DEPLOY_SCENARIO' - - timeout: - timeout: 400 - abort: true + - build-name: + name: '$BUILD_NUMBER Suite: $CPERF_SUITE_NAME Scenario: $DEPLOY_SCENARIO' + - timeout: + timeout: 400 + abort: true parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{pod}-defaults' - - '{installer}-defaults' - - cperf-parameter: - testsuite: '{testsuite}' - gs-pathname: '{gs-pathname}' - docker-tag: '{docker-tag}' + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{pod}-defaults' + - '{installer}-defaults' + - cperf-parameter: + testsuite: '{testsuite}' + gs-pathname: '{gs-pathname}' + docker-tag: '{docker-tag}' scm: - - git-scm + - git-scm builders: - - 'cperf-{testsuite}-builder' + - 'cperf-{testsuite}-builder' ######################## # parameter macros @@ -85,22 +85,22 @@ - parameter: name: cperf-parameter parameters: - - string: - name: CPERF_SUITE_NAME - default: '{testsuite}' - description: "Suite name to run" - - string: - name: GS_PATHNAME - default: '{gs-pathname}' - description: "Version directory where the opnfv documents will be stored in gs repository" - - string: - name: CI_DEBUG - default: 'false' - description: "Show debug output information" - - string: - name: DOCKER_TAG - default: '{docker-tag}' - description: 'Tag to pull docker image' + - string: + name: CPERF_SUITE_NAME + default: '{testsuite}' + description: "Suite name to run" + - string: + name: GS_PATHNAME + default: '{gs-pathname}' + description: "Version directory where the opnfv documents will be stored in gs repository" + - string: + name: CI_DEBUG + default: 'false' + description: "Show debug output information" + - string: + name: DOCKER_TAG + default: '{docker-tag}' + description: 'Tag to pull docker image' ######################## # trigger macros @@ -112,79 +112,79 @@ - builder: name: cperf-daily-builder builders: - - 'cperf-cleanup' - - 'cperf-robot-cbench' + - 'cperf-cleanup' + - 'cperf-robot-cbench' - builder: name: cperf-robot-cbench builders: - - shell: | - #!/bin/bash - set -o errexit - set -o nounset - set -o pipefail - undercloud_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 ${undercloud_mac} | awk {'print $1'}) - - sudo scp -o StrictHostKeyChecking=no root@$INSTALLER_IP:/home/stack/overcloudrc /tmp/overcloudrc - sudo chmod 755 /tmp/overcloudrc - source /tmp/overcloudrc - - # robot suites need the ssh key to log in to controller nodes, so throwing it - # in tmp, and mounting /tmp as $HOME as far as robot is concerned - sudo rm -rf /tmp/.ssh - sudo mkdir /tmp/.ssh - sudo chmod 0700 /tmp/.ssh - sudo scp -o StrictHostKeyChecking=no root@$INSTALLER_IP:/home/stack/.ssh/id_rsa /tmp/.ssh/ - sudo chown -R jenkins-ci:jenkins-ci /tmp/.ssh - # done with sudo. jenkins-ci is the user from this point - chmod 0600 /tmp/.ssh/id_rsa - - # cbench requires the openflow drop test feature to be installed. - sshpass -p karaf ssh -o StrictHostKeyChecking=no \ - -o UserKnownHostsFile=/dev/null \ - -o LogLevel=error \ - -p 8101 karaf@$SDN_CONTROLLER_IP \ - feature:install odl-openflowplugin-flow-services-ui odl-openflowplugin-drop-test - - docker pull opnfv/cperf:$DOCKER_TAG - - robot_cmd="pybot -e exclude -L TRACE -d /tmp \ - -v ODL_SYSTEM_1_IP:${SDN_CONTROLLER_IP} \ - -v ODL_SYSTEM_IP:${SDN_CONTROLLER_IP} \ - -v BUNDLEFOLDER:/opt/opendaylight \ - -v RESTCONFPORT:8081 \ - -v USER_HOME:/tmp \ - -v USER:heat-admin \ - -v ODL_SYSTEM_USER:heat-admin \ - -v TOOLS_SYSTEM_IP:localhost \ - -v of_port:6653" - robot_suite="/home/opnfv/repos/odl_test/csit/suites/openflowplugin/Performance/010_Cbench.robot" - - docker run -i -v /tmp:/tmp opnfv/cperf:$DOCKER_TAG ${robot_cmd} ${robot_suite} + - shell: | + #!/bin/bash + set -o errexit + set -o nounset + set -o pipefail + undercloud_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 ${undercloud_mac} | awk {'print $1'}) + + sudo scp -o StrictHostKeyChecking=no root@$INSTALLER_IP:/home/stack/overcloudrc /tmp/overcloudrc + sudo chmod 755 /tmp/overcloudrc + source /tmp/overcloudrc + + # robot suites need the ssh key to log in to controller nodes, so throwing it + # in tmp, and mounting /tmp as $HOME as far as robot is concerned + sudo rm -rf /tmp/.ssh + sudo mkdir /tmp/.ssh + sudo chmod 0700 /tmp/.ssh + sudo scp -o StrictHostKeyChecking=no root@$INSTALLER_IP:/home/stack/.ssh/id_rsa /tmp/.ssh/ + sudo chown -R jenkins-ci:jenkins-ci /tmp/.ssh + # done with sudo. jenkins-ci is the user from this point + chmod 0600 /tmp/.ssh/id_rsa + + # cbench requires the openflow drop test feature to be installed. + sshpass -p karaf ssh -o StrictHostKeyChecking=no \ + -o UserKnownHostsFile=/dev/null \ + -o LogLevel=error \ + -p 8101 karaf@$SDN_CONTROLLER_IP \ + feature:install odl-openflowplugin-flow-services-ui odl-openflowplugin-drop-test + + docker pull opnfv/cperf:$DOCKER_TAG + + robot_cmd="pybot -e exclude -L TRACE -d /tmp \ + -v ODL_SYSTEM_1_IP:${SDN_CONTROLLER_IP} \ + -v ODL_SYSTEM_IP:${SDN_CONTROLLER_IP} \ + -v BUNDLEFOLDER:/opt/opendaylight \ + -v RESTCONFPORT:8081 \ + -v USER_HOME:/tmp \ + -v USER:heat-admin \ + -v ODL_SYSTEM_USER:heat-admin \ + -v TOOLS_SYSTEM_IP:localhost \ + -v of_port:6653" + robot_suite="/home/opnfv/repos/odl_test/csit/suites/openflowplugin/Performance/010_Cbench.robot" + + docker run -i -v /tmp:/tmp opnfv/cperf:$DOCKER_TAG ${robot_cmd} ${robot_suite} - builder: name: cperf-cleanup builders: - - shell: | - #!/bin/bash - [[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null" - - echo "Cleaning up docker containers/images..." - # Remove previous running containers if exist - if [[ ! -z $(docker ps -a | grep opnfv/cperf) ]]; then - echo "Removing existing opnfv/cperf containers..." - 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 + - shell: | + #!/bin/bash + [[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null" + + echo "Cleaning up docker containers/images..." + # Remove previous running containers if exist + if [[ ! -z $(docker ps -a | grep opnfv/cperf) ]]; then + echo "Removing existing opnfv/cperf containers..." + 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 diff --git a/jjb/daisy4nfv/daisy-project-jobs.yml b/jjb/daisy4nfv/daisy-project-jobs.yml index 09b0bc2e1..bcb89105e 100644 --- a/jjb/daisy4nfv/daisy-project-jobs.yml +++ b/jjb/daisy4nfv/daisy-project-jobs.yml @@ -185,8 +185,7 @@ !include-raw: ./daisy4nfv-build.sh - shell: !include-raw: ./daisy4nfv-upload-artifact.sh - - shell: - !include-raw: ./daisy4nfv-workspace-cleanup.sh + - 'clean-workspace' - builder: name: 'daisy-deploy-daily-macro' diff --git a/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml b/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml index f7a6c1363..97d830f9f 100644 --- a/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml +++ b/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml @@ -192,8 +192,7 @@ !include-raw: ./daisy4nfv-build.sh - shell: !include-raw: ./daisy4nfv-upload-artifact.sh - - shell: - !include-raw: ./daisy4nfv-workspace-cleanup.sh + - 'clean-workspace' - builder: name: 'daisy-merge-deploy-virtual-macro' @@ -202,8 +201,7 @@ !include-raw: ./daisy4nfv-download-artifact.sh - shell: !include-raw: ./daisy-deploy.sh - - shell: - !include-raw: ./daisy4nfv-workspace-cleanup.sh + - 'clean-workspace' ##################################### # parameter macros diff --git a/jjb/daisy4nfv/daisy4nfv-verify-jobs.yml b/jjb/daisy4nfv/daisy4nfv-verify-jobs.yml index 6f6ab0fb0..1828ce459 100644 --- a/jjb/daisy4nfv/daisy4nfv-verify-jobs.yml +++ b/jjb/daisy4nfv/daisy4nfv-verify-jobs.yml @@ -183,8 +183,7 @@ !include-raw: ./daisy4nfv-basic.sh - shell: !include-raw: ./daisy4nfv-build.sh - - shell: - !include-raw: ./daisy4nfv-workspace-cleanup.sh + - 'clean-workspace' - builder: name: daisy-verify-unit-macro diff --git a/jjb/daisy4nfv/daisy4nfv-workspace-cleanup.sh b/jjb/daisy4nfv/daisy4nfv-workspace-cleanup.sh deleted file mode 100755 index 26f7e9a01..000000000 --- a/jjb/daisy4nfv/daisy4nfv-workspace-cleanup.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash -############################################################################## -# Copyright (c) 2016 ZTE Coreporation and others. -# hu.zhijiang@zte.com.cn -# sun.jing22@zte.com.cn -# 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 - -# delete the $WORKSPACE to open some space -/bin/rm -rf $WORKSPACE diff --git a/jjb/domino/domino.yml b/jjb/domino/domino.yml index 8c9be120b..80b9b6931 100644 --- a/jjb/domino/domino.yml +++ b/jjb/domino/domino.yml @@ -1,20 +1,21 @@ +--- - project: name: domino project: '{name}' jobs: - - 'domino-verify-{stream}' + - 'domino-verify-{stream}' stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - danube: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - danube: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false - job-template: name: 'domino-verify-{stream}' @@ -22,39 +23,39 @@ disabled: '{obj:disabled}' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' scm: - - git-scm-gerrit + - git-scm-gerrit triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**|.gitignore' + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + - draft-published-event + - comment-added-contains-event: + comment-contains-value: 'recheck' + - comment-added-contains-event: + comment-contains-value: 'reverify' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**|.gitignore' builders: - - shell: | - #!/bin/bash - ./tests/run.sh + - shell: | + #!/bin/bash + ./tests/run.sh diff --git a/jjb/dovetail/dovetail-ci-jobs.yml b/jjb/dovetail/dovetail-ci-jobs.yml index c13c93859..938fdf915 100644 --- a/jjb/dovetail/dovetail-ci-jobs.yml +++ b/jjb/dovetail/dovetail-ci-jobs.yml @@ -25,7 +25,7 @@ branch: 'stable/{stream}' dovetail-branch: master gs-pathname: '/{stream}' - docker-tag: 'cvp.0.5.0' + docker-tag: 'cvp.0.6.0' #----------------------------------- # POD, PLATFORM, AND BRANCH MAPPING @@ -165,7 +165,7 @@ - huawei-pod4: slave-label: huawei-pod4 SUT: apex - auto-trigger-name: 'apex-huawei-pod4-danube-trigger' + auto-trigger-name: 'apex-huawei-pod4-{testsuite}-danube-trigger' <<: *danube #-------------------------------- testsuite: @@ -196,7 +196,7 @@ - build-name: name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' - timeout: - timeout: 240 + timeout: 300 abort: true - fix-workspace-permissions @@ -268,6 +268,10 @@ # trigger macros #-------------------------- - trigger: - name: 'apex-huawei-pod4-danube-trigger' + name: 'apex-huawei-pod4-proposed_tests-danube-trigger' triggers: - - timed: '* 1 * * *' + - timed: '0 1 * * *' +- trigger: + name: 'apex-huawei-pod4-compliance_set-danube-trigger' + triggers: + - timed: '' diff --git a/jjb/escalator/escalator.yml b/jjb/escalator/escalator.yml index 041a41f91..d203dc113 100644 --- a/jjb/escalator/escalator.yml +++ b/jjb/escalator/escalator.yml @@ -1,31 +1,36 @@ +--- - project: name: 'escalator' project: 'escalator' -##################################### -# branch definitions -##################################### + + ##################################### + # branch definitions + ##################################### stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false -##################################### -# phases -##################################### + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + + ##################################### + # phases + ##################################### phase: - - 'basic': - slave-label: 'opnfv-build-centos' - - 'build': - slave-label: 'opnfv-build-centos' -##################################### -# jobs -##################################### + - 'basic': + slave-label: 'opnfv-build-centos' + - 'build': + slave-label: 'opnfv-build-centos' + + ##################################### + # jobs + ##################################### jobs: - - 'escalator-verify-{stream}' - - 'escalator-verify-{phase}-{stream}' - - 'escalator-merge-{stream}' - - 'escalator-merge-{phase}-{stream}' + - 'escalator-verify-{stream}' + - 'escalator-verify-{phase}-{stream}' + - 'escalator-merge-{stream}' + - 'escalator-merge-{phase}-{stream}' + ##################################### # job templates ##################################### @@ -39,85 +44,85 @@ concurrent: true properties: - - logrotate-default - - throttle: - enabled: true - max-total: 4 - option: 'project' + - logrotate-default + - throttle: + enabled: true + max-total: 4 + option: 'project' scm: - - git-scm-gerrit + - git-scm-gerrit wrappers: - - ssh-agent-wrapper - - timeout: - timeout: 360 - fail: true + - ssh-agent-wrapper + - timeout: + timeout: 360 + fail: true triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**|.gitignore' - readable-message: true + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + - draft-published-event + - comment-added-contains-event: + comment-contains-value: 'recheck' + - comment-added-contains-event: + comment-contains-value: 'reverify' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**|.gitignore' + readable-message: true parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-defaults' - - 'escalator-defaults': - gs-pathname: '{gs-pathname}' + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-defaults' + - 'escalator-defaults': + gs-pathname: '{gs-pathname}' builders: - - description-setter: - description: "Built on $NODE_NAME" - - multijob: - name: basic - condition: SUCCESSFUL - projects: - - name: 'escalator-verify-basic-{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: false - kill-phase-on: FAILURE - abort-all-job: true - - multijob: - name: build - condition: SUCCESSFUL - projects: - - name: 'escalator-verify-build-{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: false - kill-phase-on: FAILURE - abort-all-job: true + - description-setter: + description: "Built on $NODE_NAME" + - multijob: + name: basic + condition: SUCCESSFUL + projects: + - name: 'escalator-verify-basic-{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: false + kill-phase-on: FAILURE + abort-all-job: true + - multijob: + name: build + condition: SUCCESSFUL + projects: + - name: 'escalator-verify-build-{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: false + kill-phase-on: FAILURE + abort-all-job: true - job-template: name: 'escalator-verify-{phase}-{stream}' @@ -127,26 +132,26 @@ concurrent: true scm: - - git-scm-gerrit + - git-scm-gerrit wrappers: - - ssh-agent-wrapper - - timeout: - timeout: 360 - fail: true + - ssh-agent-wrapper + - timeout: + timeout: 360 + fail: true parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{slave-label}-defaults' - - 'escalator-defaults': - gs-pathname: '{gs-pathname}' + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{slave-label}-defaults' + - 'escalator-defaults': + gs-pathname: '{gs-pathname}' builders: - - description-setter: - description: "Built on $NODE_NAME" - - '{project}-verify-{phase}-macro' + - description-setter: + description: "Built on $NODE_NAME" + - '{project}-verify-{phase}-macro' - job-template: name: 'escalator-merge-{stream}' @@ -158,79 +163,79 @@ concurrent: true properties: - - logrotate-default - - throttle: - enabled: true - max-total: 4 - option: 'project' + - logrotate-default + - throttle: + enabled: true + max-total: 4 + option: 'project' scm: - - git-scm-gerrit + - git-scm-gerrit wrappers: - - ssh-agent-wrapper - - timeout: - timeout: 360 - fail: true + - ssh-agent-wrapper + - timeout: + timeout: 360 + fail: true triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - change-merged-event - - comment-added-contains-event: - comment-contains-value: 'remerge' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**|.gitignore' - readable-message: true + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - change-merged-event + - comment-added-contains-event: + comment-contains-value: 'remerge' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**|.gitignore' + readable-message: true parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-defaults' - - 'escalator-defaults': - gs-pathname: '{gs-pathname}' + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-defaults' + - 'escalator-defaults': + gs-pathname: '{gs-pathname}' builders: - - description-setter: - description: "Built on $NODE_NAME" - - multijob: - name: basic - condition: SUCCESSFUL - projects: - - name: 'escalator-merge-basic-{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: false - kill-phase-on: FAILURE - abort-all-job: true - - multijob: - name: build - condition: SUCCESSFUL - projects: - - name: 'escalator-merge-build-{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: false - kill-phase-on: FAILURE - abort-all-job: true + - description-setter: + description: "Built on $NODE_NAME" + - multijob: + name: basic + condition: SUCCESSFUL + projects: + - name: 'escalator-merge-basic-{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: false + kill-phase-on: FAILURE + abort-all-job: true + - multijob: + name: build + condition: SUCCESSFUL + projects: + - name: 'escalator-merge-build-{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: false + kill-phase-on: FAILURE + abort-all-job: true - job-template: name: 'escalator-merge-{phase}-{stream}' @@ -240,69 +245,73 @@ concurrent: true scm: - - git-scm + - git-scm wrappers: - - ssh-agent-wrapper - - timeout: - timeout: 360 - fail: true + - ssh-agent-wrapper + - timeout: + timeout: 360 + fail: true parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{slave-label}-defaults' - - 'escalator-defaults': - gs-pathname: '{gs-pathname}' + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{slave-label}-defaults' + - 'escalator-defaults': + gs-pathname: '{gs-pathname}' builders: - - description-setter: - description: "Built on $NODE_NAME" - - '{project}-merge-{phase}-macro' + - description-setter: + description: "Built on $NODE_NAME" + - '{project}-merge-{phase}-macro' + ##################################### # builder macros ##################################### - builder: name: 'escalator-verify-basic-macro' builders: - - shell: - !include-raw: ./escalator-basic.sh + - shell: + !include-raw: ./escalator-basic.sh - builder: name: 'escalator-verify-build-macro' builders: - - shell: - !include-raw: ./escalator-build.sh + - shell: + !include-raw: ./escalator-build.sh - builder: name: 'escalator-merge-basic-macro' builders: - - shell: - !include-raw: ./escalator-basic.sh + - shell: + !include-raw: ./escalator-basic.sh +# yamllint disable rule:indentation - builder: name: 'escalator-merge-build-macro' builders: - - shell: - !include-raw: - - ./escalator-build.sh - - ./escalator-upload-artifact.sh + - shell: + !include-raw: + - ./escalator-build.sh + - ./escalator-upload-artifact.sh +# yamllint enable rule:indentation + ##################################### # parameter macros ##################################### - parameter: name: 'escalator-defaults' parameters: - - string: - name: BUILD_DIRECTORY - default: $WORKSPACE/build_output - description: "Directory where the build artifact will be located upon the completion of the build." - - string: - name: CACHE_DIRECTORY - default: $HOME/opnfv/cache/$INSTALLER_TYPE - description: "Directory where the cache to be used during the build is located." - - string: - name: GS_URL - default: artifacts.opnfv.org/$PROJECT{gs-pathname} - description: "URL to Google Storage." + - string: + name: BUILD_DIRECTORY + default: $WORKSPACE/build_output + description: "Directory where the build artifact will be located upon the completion of the build." + - string: + name: CACHE_DIRECTORY + default: $HOME/opnfv/cache/$INSTALLER_TYPE + description: "Directory where the cache to be used during the build is located." + - string: + name: GS_URL + default: artifacts.opnfv.org/$PROJECT{gs-pathname} + description: "URL to Google Storage." diff --git a/jjb/fuel/fuel-daily-jobs.yml b/jjb/fuel/fuel-daily-jobs.yml index 17997e6da..4bdfa5b01 100644 --- a/jjb/fuel/fuel-daily-jobs.yml +++ b/jjb/fuel/fuel-daily-jobs.yml @@ -68,18 +68,12 @@ # HA scenarios - 'os-nosdn-nofeature-ha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - - 'os-odl_l2-nofeature-ha': - auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - - 'os-odl_l3-nofeature-ha': + - '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-odl_l2-sfc-ha': - auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - - 'os-odl_l2-bgpvpn-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': @@ -93,18 +87,12 @@ # NOHA scenarios - 'os-nosdn-nofeature-noha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - - 'os-odl_l2-nofeature-noha': - auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - - 'os-odl_l3-nofeature-noha': + - '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': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - - 'os-odl_l2-sfc-noha': - auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - - 'os-odl_l2-bgpvpn-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': @@ -113,6 +101,15 @@ 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' + # 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 + stream: euphrates jobs: - 'fuel-{scenario}-{pod}-daily-{stream}' @@ -199,8 +196,8 @@ # 3.only debug testsuite here(refstack, ha, ipv6, bgpvpn) # 4.not used for release criteria or compliance, # only to debug the dovetail tool bugs with bgpvpn and nosdn-nofeature - # 5.only run against scenario os-odl_l2-bgpvpn-ha(regex used here, can extend to more scenarios future) - # 6.ZTE pod1, os-nosdn-nofeature-ha and os-odl_l2-bgpvpn-ha, run against danube + # 5.only run against scenario os-odl-bgpvpn-ha(regex used here, can extend to more scenarios future) + # 6.ZTE pod1, os-nosdn-nofeature-ha and os-odl-bgpvpn-ha, run against danube - conditional-step: condition-kind: regex-match regex: os-(nosdn-nofeature|odl_l2-bgpvpn)-ha @@ -256,7 +253,7 @@ installer: '{installer}' - string: name: DEPLOY_SCENARIO - default: 'os-odl_l2-nofeature-ha' + default: 'os-odl-nofeature-ha' - string: name: DEPLOY_TIMEOUT default: '150' @@ -294,11 +291,7 @@ triggers: - timed: '5 20 * * *' - trigger: - name: 'fuel-os-odl_l2-nofeature-ha-baremetal-daily-master-trigger' - triggers: - - timed: '' # '5 23 * * *' -- trigger: - name: 'fuel-os-odl_l3-nofeature-ha-baremetal-daily-master-trigger' + name: 'fuel-os-odl-nofeature-ha-baremetal-daily-master-trigger' triggers: - timed: '5 2 * * *' - trigger: @@ -314,14 +307,6 @@ triggers: - timed: '' # '5 8 * * *' - trigger: - name: 'fuel-os-odl_l2-sfc-ha-baremetal-daily-master-trigger' - triggers: - - timed: '' # '5 11 * * *' -- trigger: - name: 'fuel-os-odl_l2-bgpvpn-ha-baremetal-daily-master-trigger' - triggers: - - timed: '' # '5 14 * * *' -- trigger: name: 'fuel-os-nosdn-kvm-ha-baremetal-daily-master-trigger' triggers: - timed: '' # '5 17 * * *' @@ -339,11 +324,7 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-nofeature-noha-baremetal-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l3-nofeature-noha-baremetal-daily-master-trigger' + name: 'fuel-os-odl-nofeature-noha-baremetal-daily-master-trigger' triggers: - timed: '' - trigger: @@ -355,14 +336,6 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-sfc-noha-baremetal-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l2-bgpvpn-noha-baremetal-daily-master-trigger' - triggers: - - timed: '' -- trigger: name: 'fuel-os-nosdn-kvm-noha-baremetal-daily-master-trigger' triggers: - timed: '' @@ -387,11 +360,7 @@ triggers: - timed: '' # '0 20 * * *' - trigger: - name: 'fuel-os-odl_l2-nofeature-ha-baremetal-daily-euphrates-trigger' - triggers: - - timed: '' # '0 23 * * *' -- trigger: - name: 'fuel-os-odl_l3-nofeature-ha-baremetal-daily-euphrates-trigger' + name: 'fuel-os-odl-nofeature-ha-baremetal-daily-euphrates-trigger' triggers: - timed: '' # '0 2 * * *' - trigger: @@ -403,14 +372,6 @@ triggers: - timed: '' # '0 8 * * *' - trigger: - name: 'fuel-os-odl_l2-sfc-ha-baremetal-daily-euphrates-trigger' - triggers: - - timed: '' # '0 11 * * *' -- trigger: - name: 'fuel-os-odl_l2-bgpvpn-ha-baremetal-daily-euphrates-trigger' - triggers: - - timed: '' # '0 14 * * *' -- trigger: name: 'fuel-os-nosdn-kvm-ha-baremetal-daily-euphrates-trigger' triggers: - timed: '' # '0 17 * * *' @@ -432,11 +393,7 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-nofeature-noha-baremetal-daily-euphrates-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l3-nofeature-noha-baremetal-daily-euphrates-trigger' + name: 'fuel-os-odl-nofeature-noha-baremetal-daily-euphrates-trigger' triggers: - timed: '' - trigger: @@ -448,14 +405,6 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-sfc-noha-baremetal-daily-euphrates-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l2-bgpvpn-noha-baremetal-daily-euphrates-trigger' - triggers: - - timed: '' -- trigger: name: 'fuel-os-nosdn-kvm-noha-baremetal-daily-euphrates-trigger' triggers: - timed: '' @@ -479,11 +428,7 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-nofeature-ha-virtual-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l3-nofeature-ha-virtual-daily-master-trigger' + name: 'fuel-os-odl-nofeature-ha-virtual-daily-master-trigger' triggers: - timed: '' - trigger: @@ -495,14 +440,6 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-bgpvpn-ha-virtual-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l2-sfc-ha-virtual-daily-master-trigger' - triggers: - - timed: '' -- trigger: name: 'fuel-os-nosdn-kvm-ha-virtual-daily-master-trigger' triggers: - timed: '' @@ -524,11 +461,7 @@ triggers: - timed: '5 13 * * *' - trigger: - name: 'fuel-os-odl_l2-nofeature-noha-virtual-daily-master-trigger' - triggers: - - timed: '35 15 * * *' -- trigger: - name: 'fuel-os-odl_l3-nofeature-noha-virtual-daily-master-trigger' + name: 'fuel-os-odl-nofeature-noha-virtual-daily-master-trigger' triggers: - timed: '5 18 * * *' - trigger: @@ -540,14 +473,6 @@ triggers: - timed: '' # '5 23 * * *' - trigger: - name: 'fuel-os-odl_l2-sfc-noha-virtual-daily-master-trigger' - triggers: - - timed: '' # '35 1 * * *' -- trigger: - name: 'fuel-os-odl_l2-bgpvpn-noha-virtual-daily-master-trigger' - triggers: - - timed: '' # '5 4 * * *' -- trigger: name: 'fuel-os-nosdn-kvm-noha-virtual-daily-master-trigger' triggers: - timed: '' # '35 6 * * *' @@ -571,11 +496,7 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-nofeature-ha-virtual-daily-euphrates-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l3-nofeature-ha-virtual-daily-euphrates-trigger' + name: 'fuel-os-odl-nofeature-ha-virtual-daily-euphrates-trigger' triggers: - timed: '' - trigger: @@ -587,14 +508,6 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-bgpvpn-ha-virtual-daily-euphrates-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l2-sfc-ha-virtual-daily-euphrates-trigger' - triggers: - - timed: '' -- trigger: name: 'fuel-os-nosdn-kvm-ha-virtual-daily-euphrates-trigger' triggers: - timed: '' @@ -616,11 +529,7 @@ triggers: - timed: '' # '0 13 * * *' - trigger: - name: 'fuel-os-odl_l2-nofeature-noha-virtual-daily-euphrates-trigger' - triggers: - - timed: '' # '30 15 * * *' -- trigger: - name: 'fuel-os-odl_l3-nofeature-noha-virtual-daily-euphrates-trigger' + name: 'fuel-os-odl-nofeature-noha-virtual-daily-euphrates-trigger' triggers: - timed: '' # '0 18 * * *' - trigger: @@ -632,14 +541,6 @@ triggers: - timed: '' # '0 23 * * *' - trigger: - name: 'fuel-os-odl_l2-sfc-noha-virtual-daily-euphrates-trigger' - triggers: - - timed: '' # '30 1 * * *' -- trigger: - name: 'fuel-os-odl_l2-bgpvpn-noha-virtual-daily-euphrates-trigger' - triggers: - - timed: '' # '0 4 * * *' -- trigger: name: 'fuel-os-nosdn-kvm-noha-virtual-daily-euphrates-trigger' triggers: - timed: '' # '30 6 * * *' @@ -663,11 +564,7 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-nofeature-ha-zte-pod1-daily-master-trigger' - triggers: - - timed: '0 10 * * *' -- trigger: - name: 'fuel-os-odl_l3-nofeature-ha-zte-pod1-daily-master-trigger' + name: 'fuel-os-odl-nofeature-ha-zte-pod1-daily-master-trigger' triggers: - timed: '' - trigger: @@ -679,21 +576,13 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-bgpvpn-ha-zte-pod1-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l2-sfc-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: '0 18 * * *' + - timed: '' - trigger: name: 'fuel-os-nosdn-kvm_ovs_dpdk-ha-zte-pod1-daily-master-trigger' triggers: @@ -708,11 +597,7 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-nofeature-noha-zte-pod1-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l3-nofeature-noha-zte-pod1-daily-master-trigger' + name: 'fuel-os-odl-nofeature-noha-zte-pod1-daily-master-trigger' triggers: - timed: '' - trigger: @@ -724,14 +609,6 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-sfc-noha-zte-pod1-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l2-bgpvpn-noha-zte-pod1-daily-master-trigger' - triggers: - - timed: '' -- trigger: name: 'fuel-os-nosdn-kvm-noha-zte-pod1-daily-master-trigger' triggers: - timed: '' @@ -753,13 +630,9 @@ - trigger: name: 'fuel-os-nosdn-nofeature-ha-zte-pod3-daily-master-trigger' triggers: - - timed: '0 10 * * *' -- trigger: - name: 'fuel-os-odl_l2-nofeature-ha-zte-pod3-daily-master-trigger' - triggers: - - timed: '' + - timed: '' # '0 10 * * *' - trigger: - name: 'fuel-os-odl_l3-nofeature-ha-zte-pod3-daily-master-trigger' + name: 'fuel-os-odl-nofeature-ha-zte-pod3-daily-master-trigger' triggers: - timed: '' - trigger: @@ -771,14 +644,6 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-bgpvpn-ha-zte-pod3-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l2-sfc-ha-zte-pod3-daily-master-trigger' - triggers: - - timed: '' -- trigger: name: 'fuel-os-nosdn-kvm-ha-zte-pod3-daily-master-trigger' triggers: - timed: '' @@ -800,11 +665,7 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-nofeature-noha-zte-pod3-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l3-nofeature-noha-zte-pod3-daily-master-trigger' + name: 'fuel-os-odl-nofeature-noha-zte-pod3-daily-master-trigger' triggers: - timed: '' - trigger: @@ -816,14 +677,6 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-sfc-noha-zte-pod3-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l2-bgpvpn-noha-zte-pod3-daily-master-trigger' - triggers: - - timed: '' -- trigger: name: 'fuel-os-nosdn-kvm-noha-zte-pod3-daily-master-trigger' triggers: - timed: '' @@ -847,11 +700,7 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-nofeature-ha-zte-pod1-daily-euphrates-trigger' - triggers: - - timed: '' # '0 2 * * *' -- trigger: - name: 'fuel-os-odl_l3-nofeature-ha-zte-pod1-daily-euphrates-trigger' + name: 'fuel-os-odl-nofeature-ha-zte-pod1-daily-euphrates-trigger' triggers: - timed: '' - trigger: @@ -863,14 +712,6 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-bgpvpn-ha-zte-pod1-daily-euphrates-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l2-sfc-ha-zte-pod1-daily-euphrates-trigger' - triggers: - - timed: '' -- trigger: name: 'fuel-os-nosdn-kvm-ha-zte-pod1-daily-euphrates-trigger' triggers: - timed: '' @@ -892,11 +733,7 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-nofeature-noha-zte-pod1-daily-euphrates-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l3-nofeature-noha-zte-pod1-daily-euphrates-trigger' + name: 'fuel-os-odl-nofeature-noha-zte-pod1-daily-euphrates-trigger' triggers: - timed: '' - trigger: @@ -908,14 +745,6 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-sfc-noha-zte-pod1-daily-euphrates-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l2-bgpvpn-noha-zte-pod1-daily-euphrates-trigger' - triggers: - - timed: '' -- trigger: name: 'fuel-os-nosdn-kvm-noha-zte-pod1-daily-euphrates-trigger' triggers: - timed: '' @@ -939,11 +768,7 @@ triggers: - timed: '' # '0 18 * * *' - trigger: - name: 'fuel-os-odl_l2-nofeature-ha-zte-pod3-daily-euphrates-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l3-nofeature-ha-zte-pod3-daily-euphrates-trigger' + name: 'fuel-os-odl-nofeature-ha-zte-pod3-daily-euphrates-trigger' triggers: - timed: '' - trigger: @@ -955,14 +780,6 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-bgpvpn-ha-zte-pod3-daily-euphrates-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l2-sfc-ha-zte-pod3-daily-euphrates-trigger' - triggers: - - timed: '' -- trigger: name: 'fuel-os-nosdn-kvm-ha-zte-pod3-daily-euphrates-trigger' triggers: - timed: '' # '0 2 * * *' @@ -984,11 +801,7 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-nofeature-noha-zte-pod3-daily-euphrates-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l3-nofeature-noha-zte-pod3-daily-euphrates-trigger' + name: 'fuel-os-odl-nofeature-noha-zte-pod3-daily-euphrates-trigger' triggers: - timed: '' - trigger: @@ -1000,14 +813,6 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-sfc-noha-zte-pod3-daily-euphrates-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l2-bgpvpn-noha-zte-pod3-daily-euphrates-trigger' - triggers: - - timed: '' -- trigger: name: 'fuel-os-nosdn-kvm-noha-zte-pod3-daily-euphrates-trigger' triggers: - timed: '' @@ -1031,11 +836,11 @@ triggers: - timed: '0 2 * * 6' - trigger: - name: 'fuel-os-odl_l2-nofeature-ha-zte-pod1-daily-danube-trigger' + name: 'fuel-os-odl_l2-bgpvpn-ha-zte-pod1-daily-danube-trigger' triggers: - - timed: '' + - timed: '0 2 * * 1,3,5' - trigger: - name: 'fuel-os-odl_l3-nofeature-ha-zte-pod1-daily-danube-trigger' + name: 'fuel-os-odl-nofeature-ha-zte-pod1-daily-danube-trigger' triggers: - timed: '' - trigger: @@ -1047,14 +852,6 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-bgpvpn-ha-zte-pod1-daily-danube-trigger' - triggers: - - timed: '0 2 * * 1,3,5' -- trigger: - name: 'fuel-os-odl_l2-sfc-ha-zte-pod1-daily-danube-trigger' - triggers: - - timed: '' -- trigger: name: 'fuel-os-nosdn-kvm-ha-zte-pod1-daily-danube-trigger' triggers: - timed: '' @@ -1076,11 +873,7 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-nofeature-noha-zte-pod1-daily-danube-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l3-nofeature-noha-zte-pod1-daily-danube-trigger' + name: 'fuel-os-odl-nofeature-noha-zte-pod1-daily-danube-trigger' triggers: - timed: '' - trigger: @@ -1092,14 +885,6 @@ triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-sfc-noha-zte-pod1-daily-danube-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl_l2-bgpvpn-noha-zte-pod1-daily-danube-trigger' - triggers: - - timed: '' -- trigger: name: 'fuel-os-nosdn-kvm-noha-zte-pod1-daily-danube-trigger' triggers: - timed: '' diff --git a/jjb/fuel/fuel-deploy.sh b/jjb/fuel/fuel-deploy.sh index 18b2fd730..6525c7ccb 100755 --- a/jjb/fuel/fuel-deploy.sh +++ b/jjb/fuel/fuel-deploy.sh @@ -43,7 +43,7 @@ POD_NAME=${NODE_NAME/*-} 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 +SUDO='sudo -E' if [ "${PROJECT}" = 'fuel' ]; then # Fuel does not use any POD-specific configuration for virtual deploys if [[ "${NODE_NAME}" =~ "virtual" ]]; then diff --git a/jjb/fuel/fuel-project-jobs.yml b/jjb/fuel/fuel-project-jobs.yml index 8b1210cb5..cfcbf3695 100644 --- a/jjb/fuel/fuel-project-jobs.yml +++ b/jjb/fuel/fuel-project-jobs.yml @@ -56,7 +56,7 @@ description: 'Git URL to use on this Jenkins Slave' - string: name: DEPLOY_SCENARIO - default: 'os-odl_l2-nofeature-ha' + default: 'os-odl-nofeature-ha' - node: name: SLAVE_NAME description: 'Slave name on Jenkins' diff --git a/jjb/fuel/fuel-verify-jobs.yml b/jjb/fuel/fuel-verify-jobs.yml index f5840bcab..45197fc4e 100644 --- a/jjb/fuel/fuel-verify-jobs.yml +++ b/jjb/fuel/fuel-verify-jobs.yml @@ -208,7 +208,7 @@ name: 'fuel-verify-deploy-virtual-macro' builders: - shell: - !include-raw-escape: ./fuel-deploy.sh + !include-raw: ./fuel-deploy.sh - builder: name: 'fuel-verify-smoke-test-macro' diff --git a/jjb/fuel/fuel-weekly-jobs.yml b/jjb/fuel/fuel-weekly-jobs.yml index 522c1d138..e1563ea38 100644 --- a/jjb/fuel/fuel-weekly-jobs.yml +++ b/jjb/fuel/fuel-weekly-jobs.yml @@ -154,7 +154,7 @@ installer: '{installer}' - string: name: DEPLOY_SCENARIO - default: 'os-odl_l2-nofeature-ha' + default: 'os-odl-nofeature-ha' - string: name: DEPLOY_TIMEOUT default: '150' diff --git a/jjb/fuel/fuel-workspace-cleanup.sh b/jjb/fuel/fuel-workspace-cleanup.sh deleted file mode 100755 index d8948c7a0..000000000 --- a/jjb/fuel/fuel-workspace-cleanup.sh +++ /dev/null @@ -1,15 +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 - -# delete the $WORKSPACE to open some space -/bin/rm -rf $WORKSPACE diff --git a/jjb/functest/functest-alpine.sh b/jjb/functest/functest-alpine.sh index f0e08e171..35311c3a9 100644..100755 --- a/jjb/functest/functest-alpine.sh +++ b/jjb/functest/functest-alpine.sh @@ -6,16 +6,20 @@ set +o pipefail [[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null" FUNCTEST_DIR=/home/opnfv/functest +DEPLOY_TYPE=baremetal +[[ $BUILD_TAG =~ "virtual" ]] && DEPLOY_TYPE=virt +HOST_ARCH=$(uname -m) # Prepare OpenStack credentials volume +rc_file=${HOME}/opnfv-openrc.sh + if [[ ${INSTALLER_TYPE} == 'joid' ]]; then rc_file=$LAB_CONFIG/admin-openrc elif [[ ${INSTALLER_TYPE} == 'compass' && ${BRANCH} == 'master' ]]; then cacert_file_vol="-v ${HOME}/os_cacert:${FUNCTEST_DIR}/conf/os_cacert" echo "export OS_CACERT=${FUNCTEST_DIR}/conf/os_cacert" >> ${HOME}/opnfv-openrc.sh - rc_file=${HOME}/opnfv-openrc.sh -else - rc_file=${HOME}/opnfv-openrc.sh +elif [[ ${INSTALLER_TYPE} == 'fuel' && ${DEPLOY_TYPE} == 'baremetal' ]]; then + cacert_file_vol="-v ${HOME}/os_cacert:/etc/ssl/certs/mcp_os_cacert" fi rc_file_vol="-v ${rc_file}:${FUNCTEST_DIR}/conf/openstack.creds" @@ -25,10 +29,6 @@ if ! sudo iptables -C FORWARD -j RETURN 2> ${redirect} || ! sudo iptables -L FOR sudo iptables -I FORWARD -j RETURN fi -DEPLOY_TYPE=baremetal -[[ $BUILD_TAG =~ "virtual" ]] && DEPLOY_TYPE=virt -HOST_ARCH=$(uname -m) - echo "Functest: Start Docker and prepare environment" echo "Functest: Download images that will be used by test cases" @@ -68,12 +68,23 @@ volumes="${images_vol} ${results_vol} ${sshkey_vol} ${rc_file_vol} ${cacert_file set +e -tiers=(healthcheck smoke features vnf) +if [ ${FUNCTEST_SUITE_NAME} == 'healthcheck' ]; then + tiers=(healthcheck) +else + if [ ${DEPLOY_TYPE} == 'baremetal' ]; then + tiers=(healthcheck smoke features vnf) + else + tiers=(healthcheck smoke features) + fi +fi + +cmd_opt='prepare_env start && run_tests -r -t all' + for tier in ${tiers[@]}; do - FUNCTEST_IMAGE=ollivier/functest-${tier} + FUNCTEST_IMAGE=opnfv/functest-${tier} echo "Functest: Pulling Functest Docker image ${FUNCTEST_IMAGE} ..." docker pull ${FUNCTEST_IMAGE}>/dev/null - cmd="docker run ${envs} ${volumes} ${FUNCTEST_IMAGE}" + cmd="docker run --privileged=true ${envs} ${volumes} ${FUNCTEST_IMAGE} /bin/bash -c '${cmd_opt}'" echo "Running Functest tier '${tier}'. CMD: ${cmd}" - ${cmd} + eval ${cmd} done diff --git a/jjb/functest/functest-daily-jobs.yml b/jjb/functest/functest-daily-jobs.yml index d34437265..23c6e490a 100644 --- a/jjb/functest/functest-daily-jobs.yml +++ b/jjb/functest/functest-daily-jobs.yml @@ -192,6 +192,8 @@ job-timeout: 60 - 'daily': job-timeout: 240 + - 'arm-daily': + job-timeout: 240 jobs: - 'functest-{installer}-{pod}-{testsuite}-{stream}' @@ -299,12 +301,21 @@ default: 'daily' description: "Daily suite name to run" - parameter: + name: functest-arm-daily-parameter + parameters: + - string: + name: FUNCTEST_SUITE_NAME + default: 'arm-daily' + description: "Daily suite name (Aarch64) to run" +- parameter: name: functest-suite-parameter parameters: - choice: name: FUNCTEST_SUITE_NAME choices: - - 'healthcheck' + - 'connection_check' + - 'api_check' + - 'snaps_health_check' - 'vping_userdata' - 'vping_ssh' - 'tempest_smoke_serial' @@ -312,16 +323,19 @@ - 'odl' - 'odl_netvirt' - 'onos' + - 'snaps_smoke' + - 'refstack_defcore' - 'promise' - 'doctor' - 'bgpvpn' + - 'parser' - 'security_scan' - 'tempest_full_parallel' - 'rally_full' - - 'vims' - - 'multisite' - - 'parser' - - 'opera_vims' + - 'cloudify_ims' + - 'cloudify_vrouter' + - 'orchestra_openims' + - 'orchestra_clearwaterims' - string: name: TESTCASE_OPTIONS default: '' @@ -364,9 +378,16 @@ name: functest-daily-builder builders: - 'functest-cleanup' - - 'set-functest-env' - 'functest-daily' - 'functest-store-results' + +- builder: + name: functest-arm-daily-builder + builders: + - 'functest-cleanup' + - 'set-functest-env' + - 'functest-arm-daily' + - 'functest-store-results' - 'functest-exit' - builder: @@ -381,20 +402,26 @@ - builder: name: functest-alpine-daily-builder builders: + - 'functest-cleanup' + - 'set-functest-env-alpine' + - 'functest-daily' + - 'functest-store-results' + +- builder: + name: functest-daily + builders: - shell: !include-raw: - ./functest-env-presetup.sh - ../../utils/fetch_os_creds.sh - ./functest-alpine.sh - - ../../utils/push-test-logs.sh - builder: - name: functest-daily + name: functest-arm-daily builders: - shell: !include-raw: ./functest-loop.sh - - builder: name: functest-suite builders: @@ -411,6 +438,14 @@ - ./set-functest-env.sh - builder: + name: set-functest-env-alpine + builders: + - shell: + !include-raw: + - ./functest-env-presetup.sh + - ../../utils/fetch_os_creds.sh + +- builder: name: functest-store-results builders: - shell: diff --git a/jjb/functest/set-functest-env.sh b/jjb/functest/set-functest-env.sh index f18f054a5..bb79dacbe 100755 --- a/jjb/functest/set-functest-env.sh +++ b/jjb/functest/set-functest-env.sh @@ -51,14 +51,15 @@ envs="-e INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} \ -e NODE_NAME=${NODE_NAME} -e DEPLOY_SCENARIO=${DEPLOY_SCENARIO} \ -e BUILD_TAG=${BUILD_TAG} -e CI_DEBUG=${CI_DEBUG} -e DEPLOY_TYPE=${DEPLOY_TYPE}" -if [[ ${INSTALLER_TYPE} == 'fuel' && ! -z ${SALT_MASTER_IP} ]]; then - HOST_ARCH=$(ssh -l ubuntu ${SALT_MASTER_IP} -i ${SSH_KEY} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no \ - "sudo salt 'cmp*' grains.get cpuarch --out yaml |awk '{print \$2; exit}'") - envs="${envs} -e POD_ARCH=${HOST_ARCH}" +ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" + +if [ "${INSTALLER_TYPE}" == 'fuel' ] && [ "$BRANCH" != 'stable/danube' ]; 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}" fi if [[ ${INSTALLER_TYPE} == 'compass' && ${DEPLOY_SCENARIO} == *'os-nosdn-openo-ha'* ]]; then - ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" openo_msb_port=${openo_msb_port:-80} openo_msb_endpoint="$(sshpass -p'root' ssh 2>/dev/null $ssh_options root@${installer_ip} \ 'mysql -ucompass -pcompass -Dcompass -e "select package_config from cluster;" \ diff --git a/jjb/global/installer-params.yml b/jjb/global/installer-params.yml index ecef6d3b7..8c01a9f1f 100644 --- a/jjb/global/installer-params.yml +++ b/jjb/global/installer-params.yml @@ -39,12 +39,8 @@ default: '10.20.0.2' description: 'IP of the installer' - string: - name: SALT_MASTER_IP - default: '192.168.10.100' - description: 'IP of the salt master (for mcp deployments)' - - string: name: SSH_KEY - default: "$HOME/opnfv/mcp.rsa" + default: "/var/lib/opnfv/mcp.rsa" description: 'Path to private SSH key to access environment nodes' - string: name: INSTALLER_TYPE diff --git a/jjb/global/releng-macros.yml b/jjb/global/releng-macros.yml index 20b13b8be..59415f5ca 100644 --- a/jjb/global/releng-macros.yml +++ b/jjb/global/releng-macros.yml @@ -468,6 +468,16 @@ fi - builder: + name: clean-workspace + builders: + - shell: | + #!/bin/bash + set -o errexit + set -o nounset + set -o pipefail + sudo /bin/rm -rf "$WORKSPACE" + +- builder: name: clean-workspace-log builders: - shell: | diff --git a/jjb/global/slave-params.yml b/jjb/global/slave-params.yml index a4ee4d9f1..19d5a9545 100644 --- a/jjb/global/slave-params.yml +++ b/jjb/global/slave-params.yml @@ -95,6 +95,21 @@ - lf-pod3 - parameter: + name: 'arm-pod5-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - arm-pod5 + default-slaves: + - arm-pod5 + - string: + name: BRIDGE + default: 'admin7_br0,mgmt7_br0,,public7_br0' + description: 'Pre-existing bridges used by Fuel' + +- parameter: name: 'lf-pod1-defaults' parameters: - node: @@ -114,6 +129,21 @@ description: 'SSH key to use for Apex' - parameter: + name: 'lf-pod2-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - lf-pod2 + default-slaves: + - lf-pod2 + - string: + name: BRIDGE + default: 'pxebr,br-ctl' + description: 'Pre-existing bridges used by Fuel' + +- parameter: name: 'lf-pod3-defaults' parameters: - node: @@ -455,6 +485,10 @@ default-slaves: - ericsson-pod1 - string: + name: INSTALLER_IP + default: '10.20.1.2' + description: 'IP of the installer' + - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT description: 'Git URL to use on this Jenkins Slave' @@ -835,6 +869,21 @@ description: 'SSH key to use for Apex' - parameter: + name: 'arm-virtual2-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - arm-virtual2 + default-slaves: + - arm-virtual2 + - string: + name: BRIDGE + default: ',,,public8_br0' + description: 'Pre-existing bridges used by Fuel' + +- parameter: name: 'intel-virtual6-defaults' parameters: - node: @@ -978,6 +1027,21 @@ default: https://gerrit.opnfv.org/gerrit/$PROJECT description: 'Git URL to use on this Jenkins Slave' +- parameter: + name: 'flex-pod1-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - flex-pod1 + default-slaves: + - flex-pod1 + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + ##################################################### # These slaves are just dummy slaves for sandbox jobs ##################################################### diff --git a/jjb/ipv6/ipv6.yml b/jjb/ipv6/ipv6.yml index b0db7640a..cc143bff9 100644 --- a/jjb/ipv6/ipv6.yml +++ b/jjb/ipv6/ipv6.yml @@ -1,3 +1,4 @@ +--- ################################################### # All the jobs except verify have been removed! # They will only be enabled on request by projects! @@ -8,17 +9,17 @@ project: '{name}' jobs: - - 'ipv6-verify-{stream}' + - 'ipv6-verify-{stream}' stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - danube: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - danube: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false - job-template: name: 'ipv6-verify-{stream}' @@ -26,38 +27,38 @@ disabled: '{obj:disabled}' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' scm: - - git-scm-gerrit + - git-scm-gerrit triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**|.gitignore' + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + - draft-published-event + - comment-added-contains-event: + comment-contains-value: 'recheck' + - comment-added-contains-event: + comment-contains-value: 'reverify' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**|.gitignore' builders: - - shell: | - echo "Nothing to verify!" + - shell: | + echo "Nothing to verify!" diff --git a/jjb/joid/joid-daily-jobs.yml b/jjb/joid/joid-daily-jobs.yml index 1c7b8cd0d..ac04962e0 100644 --- a/jjb/joid/joid-daily-jobs.yml +++ b/jjb/joid/joid-daily-jobs.yml @@ -1,3 +1,4 @@ +--- ######################## # Job configuration for joid ######################## @@ -9,73 +10,73 @@ installer: '{name}' -#-------------------------------- -# BRANCH ANCHORS -#-------------------------------- + # ------------------------------- + # BRANCH ANCHORS + # ------------------------------- master: &master - stream: master - branch: '{stream}' - disabled: false - gs-pathname: '' -#-------------------------------- -# POD, INSTALLER, AND BRANCH MAPPING -#-------------------------------- -# CI PODs -#-------------------------------- + stream: master + branch: '{stream}' + disabled: false + gs-pathname: '' + # ------------------------------- + # POD, INSTALLER, AND BRANCH MAPPING + # ------------------------------- + # CI PODs + # ------------------------------- pod: - - baremetal: - slave-label: joid-baremetal - <<: *master - - virtual: - slave-label: joid-virtual - <<: *master -#-------------------------------- -# None-CI PODs -#-------------------------------- - - orange-pod1: - slave-label: orange-pod1 - <<: *master - - cengn-pod1: - slave-label: cengn-pod1 - <<: *master -#-------------------------------- -# scenarios -#-------------------------------- + - baremetal: + slave-label: joid-baremetal + <<: *master + - virtual: + slave-label: joid-virtual + <<: *master + # ------------------------------- + # None-CI PODs + # ------------------------------- + - orange-pod1: + slave-label: orange-pod1 + <<: *master + - cengn-pod1: + slave-label: cengn-pod1 + <<: *master + # ------------------------------- + # scenarios + # ------------------------------- scenario: - - 'os-nosdn-nofeature-noha': - auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' - - 'os-nosdn-nofeature-ha': - auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' - - 'os-nosdn-lxd-ha': - auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' - - 'os-nosdn-lxd-noha': - auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' - - 'os-odl_l2-nofeature-ha': - auto-trigger-name: 'daily-trigger-disabled' - - 'os-onos-nofeature-ha': - auto-trigger-name: 'daily-trigger-disabled' - - 'os-odl_l2-nofeature-noha': - auto-trigger-name: 'daily-trigger-disabled' - - 'os-onos-nofeature-noha': - auto-trigger-name: 'daily-trigger-disabled' - - 'os-onos-sfc-ha': - auto-trigger-name: 'daily-trigger-disabled' - - 'os-ocl-nofeature-ha': - auto-trigger-name: 'daily-trigger-disabled' - - 'os-ocl-nofeature-noha': - auto-trigger-name: 'daily-trigger-disabled' - - 'k8-nosdn-nofeature-noha': - auto-trigger-name: 'daily-trigger-disabled' - - 'k8-nosdn-lb-noha': - auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' - - 'k8-ovn-lb-noha': - auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' - - 'os-nosdn-openbaton-ha': - auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' + - 'os-nosdn-nofeature-noha': + auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' + - 'os-nosdn-nofeature-ha': + auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' + - 'os-nosdn-lxd-ha': + auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' + - 'os-nosdn-lxd-noha': + auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' + - 'os-odl_l2-nofeature-ha': + auto-trigger-name: 'daily-trigger-disabled' + - 'os-onos-nofeature-ha': + auto-trigger-name: 'daily-trigger-disabled' + - 'os-odl_l2-nofeature-noha': + auto-trigger-name: 'daily-trigger-disabled' + - 'os-onos-nofeature-noha': + auto-trigger-name: 'daily-trigger-disabled' + - 'os-onos-sfc-ha': + auto-trigger-name: 'daily-trigger-disabled' + - 'os-ocl-nofeature-ha': + auto-trigger-name: 'daily-trigger-disabled' + - 'os-ocl-nofeature-noha': + auto-trigger-name: 'daily-trigger-disabled' + - 'k8-nosdn-nofeature-noha': + auto-trigger-name: 'daily-trigger-disabled' + - 'k8-nosdn-lb-noha': + auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' + - 'k8-ovn-lb-noha': + auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' + - 'os-nosdn-openbaton-ha': + auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' jobs: - - 'joid-{scenario}-{pod}-daily-{stream}' - - 'joid-deploy-{pod}-daily-{stream}' + - 'joid-{scenario}-{pod}-daily-{stream}' + - 'joid-deploy-{pod}-daily-{stream}' ######################## # job templates @@ -88,85 +89,86 @@ 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: - - 'joid-os-.*?-{pod}-daily-.*' - block-level: 'NODE' + - logrotate-default + - throttle: + enabled: true + max-total: 4 + max-per-node: 1 + option: 'project' + - build-blocker: + use-build-blocker: true + blocking-jobs: + - 'joid-os-.*?-{pod}-daily-.*' + block-level: 'NODE' wrappers: - - build-name: - name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' + - build-name: + name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' triggers: - - '{auto-trigger-name}' + - '{auto-trigger-name}' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{installer}-defaults' - - '{slave-label}-defaults': - installer: '{installer}' - - string: - name: DEPLOY_SCENARIO - default: '{scenario}' + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{installer}-defaults' + - '{slave-label}-defaults': + installer: '{installer}' + - string: + name: DEPLOY_SCENARIO + default: '{scenario}' builders: - - description-setter: - description: "POD: $NODE_NAME" - - trigger-builds: - - project: 'joid-deploy-{pod}-daily-{stream}' - current-parameters: true - predefined-parameters: - DEPLOY_SCENARIO={scenario} - same-node: true - block: true - - trigger-builds: - - project: 'functest-joid-{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' - - trigger-builds: - - project: 'yardstick-joid-{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.dovetail only master by now, not sync with A/B/C branches - # 2.here the stream means the SUT stream, dovetail stream is defined in its own job - # 3.only debug testsuite here(includes basic testcase, - # i.e. one tempest smoke ipv6, two vping from functest) - # 4.not used for release criteria or compliance, - # only to debug the dovetail tool bugs with joid - #- trigger-builds: - # - project: 'dovetail-joid-{pod}-proposed_tests-{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' + - description-setter: + description: "POD: $NODE_NAME" + - trigger-builds: + - project: 'joid-deploy-{pod}-daily-{stream}' + current-parameters: true + predefined-parameters: + DEPLOY_SCENARIO={scenario} + same-node: true + block: true + - trigger-builds: + - project: 'functest-joid-{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' + - trigger-builds: + - project: 'yardstick-joid-{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.dovetail only master by now, not sync with A/B/C branches +# 2.here the stream means the SUT stream, dovetail stream is defined in +# its own job +# 3.only debug testsuite here(includes basic testcase, +# i.e. one tempest smoke ipv6, two vping from functest) +# 4.not used for release criteria or compliance, +# only to debug the dovetail tool bugs with joid +# - trigger-builds: +# - project: 'dovetail-joid-{pod}-proposed_tests-{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: 'joid-deploy-{pod}-daily-{stream}' @@ -176,58 +178,58 @@ 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: - - 'joid-deploy-{pod}-daily-.*' - block-level: 'NODE' + - logrotate-default + - throttle: + enabled: true + max-total: 4 + max-per-node: 1 + option: 'project' + - build-blocker: + use-build-blocker: true + blocking-jobs: + - 'joid-deploy-{pod}-daily-.*' + block-level: 'NODE' wrappers: - - build-name: - name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' - - timeout: - timeout: 180 - fail: true + - build-name: + name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' + - timeout: + timeout: 180 + fail: true parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{installer}-defaults' - - '{slave-label}-defaults': - installer: '{installer}' - - string: - name: DEPLOY_SCENARIO - default: 'os-odl_l2-nofeature-ha' + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{installer}-defaults' + - '{slave-label}-defaults': + installer: '{installer}' + - string: + name: DEPLOY_SCENARIO + default: 'os-odl_l2-nofeature-ha' scm: - - git-scm + - git-scm builders: - - description-setter: - description: "POD: $NODE_NAME" - - 'builder-macro' + - description-setter: + description: "POD: $NODE_NAME" + - 'builder-macro' ######################## # builder macros ######################## - builder: name: 'builder-macro' builders: - - shell: | - #!/bin/bash - echo "Running $INSTALLER_TYPE with controller $SDN_CONTROLLER" - echo - echo "------ First Executing clean.sh ------" - cd $WORKSPACE/ci - ./clean.sh - - shell: - !include-raw: ./joid-deploy.sh + - shell: | + #!/bin/bash + echo "Running $INSTALLER_TYPE with controller $SDN_CONTROLLER" + echo + echo "------ First Executing clean.sh ------" + cd $WORKSPACE/ci + ./clean.sh + - shell: + !include-raw: ./joid-deploy.sh ######################## # trigger macros @@ -236,187 +238,187 @@ - trigger: name: 'joid-os-nosdn-nofeature-ha-baremetal-master-trigger' triggers: - - timed: '5 2 * * *' + - timed: '5 2 * * *' - trigger: name: 'joid-os-nosdn-nofeature-ha-virtual-master-trigger' triggers: - - timed: '' + - timed: '' - trigger: name: 'joid-os-nosdn-nofeature-ha-orange-pod1-master-trigger' triggers: - - timed: '' + - timed: '' - trigger: name: 'joid-os-nosdn-nofeature-ha-cengn-pod1-master-trigger' triggers: - - timed: '' + - timed: '' # os-odl_l2-nofeature-ha trigger - branch: master - trigger: name: 'joid-os-odl_l2-nofeature-ha-baremetal-master-trigger' triggers: - - timed: '5 7 * * *' + - timed: '5 7 * * *' - trigger: name: 'joid-os-odl_l2-nofeature-ha-virtual-master-trigger' triggers: - - timed: '' + - timed: '' - trigger: name: 'joid-os-odl_l2-nofeature-ha-orange-pod1-master-trigger' triggers: - - timed: '' + - timed: '' - trigger: name: 'joid-os-odl_l2-nofeature-ha-cengn-pod1-master-trigger' triggers: - - timed: '' + - timed: '' # os-onos-nofeature-ha trigger - branch: master - trigger: name: 'joid-os-onos-nofeature-ha-baremetal-master-trigger' triggers: - - timed: '5 12 * * *' + - timed: '5 12 * * *' - trigger: name: 'joid-os-onos-nofeature-ha-virtual-master-trigger' triggers: - - timed: '' + - timed: '' - trigger: name: 'joid-os-onos-nofeature-ha-orange-pod1-master-trigger' triggers: - - timed: '' + - timed: '' - trigger: name: 'joid-os-onos-nofeature-ha-cengn-pod1-master-trigger' triggers: - - timed: '' + - timed: '' # os-onos-sfc-ha trigger - branch: master - trigger: name: 'joid-os-onos-sfc-ha-baremetal-master-trigger' triggers: - - timed: '5 17 * * *' + - timed: '5 17 * * *' - trigger: name: 'joid-os-onos-sfc-ha-virtual-master-trigger' triggers: - - timed: '' + - timed: '' - trigger: name: 'joid-os-onos-sfc-ha-orange-pod1-master-trigger' triggers: - - timed: '' + - timed: '' - trigger: name: 'joid-os-onos-sfc-ha-cengn-pod1-master-trigger' triggers: - - timed: '' + - timed: '' # os-nosdn-lxd-noha trigger - branch: master - trigger: name: 'joid-os-nosdn-lxd-noha-baremetal-master-trigger' triggers: - - timed: '5 22 * * *' + - timed: '5 22 * * *' - trigger: name: 'joid-os-nosdn-lxd-noha-virtual-master-trigger' triggers: - - timed: '' + - timed: '' - trigger: name: 'joid-os-nosdn-lxd-noha-orange-pod1-master-trigger' triggers: - - timed: '' + - timed: '' - trigger: name: 'joid-os-nosdn-lxd-noha-cengn-pod1-master-trigger' triggers: - - timed: '' + - timed: '' # os-nosdn-lxd-ha trigger - branch: master - trigger: name: 'joid-os-nosdn-lxd-ha-baremetal-master-trigger' triggers: - - timed: '5 10 * * *' + - timed: '5 10 * * *' - trigger: name: 'joid-os-nosdn-lxd-ha-virtual-master-trigger' triggers: - - timed: '' + - timed: '' - trigger: name: 'joid-os-nosdn-lxd-ha-orange-pod1-master-trigger' triggers: - - timed: '' + - timed: '' - trigger: name: 'joid-os-nosdn-lxd-ha-cengn-pod1-master-trigger' triggers: - - timed: '' + - timed: '' # os-nosdn-nofeature-noha trigger - branch: master - trigger: name: 'joid-os-nosdn-nofeature-noha-baremetal-master-trigger' triggers: - - timed: '5 4 * * *' + - timed: '5 4 * * *' - trigger: name: 'joid-os-nosdn-nofeature-noha-virtual-master-trigger' triggers: - - timed: '' + - timed: '' - trigger: name: 'joid-os-nosdn-nofeature-noha-orange-pod1-master-trigger' triggers: - - timed: '' + - timed: '' - trigger: name: 'joid-os-nosdn-nofeature-noha-cengn-pod1-master-trigger' triggers: - - timed: '' + - timed: '' # k8-nosdn-nofeature-noha trigger - branch: master - trigger: name: 'joid-k8-nosdn-nofeature-noha-baremetal-master-trigger' triggers: - - timed: '5 15 * * *' + - timed: '5 15 * * *' - trigger: name: 'joid-k8-nosdn-nofeature-noha-virtual-master-trigger' triggers: - - timed: '' + - timed: '' - trigger: name: 'joid-k8-nosdn-nofeature-noha-orange-pod1-master-trigger' triggers: - - timed: '' + - timed: '' - trigger: name: 'joid-k8-nosdn-nofeature-noha-cengn-pod1-master-trigger' triggers: - - timed: '' + - timed: '' # k8-nosdn-lb-noha trigger - branch: master - trigger: name: 'joid-k8-nosdn-lb-noha-baremetal-master-trigger' triggers: - - timed: '5 20 * * *' + - timed: '5 20 * * *' - trigger: name: 'joid-k8-nosdn-lb-noha-virtual-master-trigger' triggers: - - timed: '' + - timed: '' - trigger: name: 'joid-k8-nosdn-lb-noha-orange-pod1-master-trigger' triggers: - - timed: '' + - timed: '' - trigger: name: 'joid-k8-nosdn-lb-noha-cengn-pod1-master-trigger' triggers: - - timed: '' + - timed: '' # k8-ovn-lb-noha trigger - branch: master - trigger: name: 'joid-k8-ovn-lb-noha-baremetal-master-trigger' triggers: - - timed: '5 17 * * *' + - timed: '5 17 * * *' - trigger: name: 'joid-k8-ovn-lb-noha-virtual-master-trigger' triggers: - - timed: '' + - timed: '' - trigger: name: 'joid-k8-ovn-lb-noha-orange-pod1-master-trigger' triggers: - - timed: '' + - timed: '' - trigger: name: 'joid-k8-ovn-lb-noha-cengn-pod1-master-trigger' triggers: - - timed: '' + - timed: '' # os-nosdn-openbaton-ha trigger - branch: master - trigger: name: 'joid-os-nosdn-openbaton-ha-baremetal-master-trigger' triggers: - - timed: '5 25 * * *' + - timed: '5 25 * * *' - trigger: name: 'joid-os-nosdn-openbaton-ha-virtual-master-trigger' triggers: - - timed: '' + - timed: '' - trigger: name: 'joid-os-nosdn-openbaton-ha-orange-pod1-master-trigger' triggers: - - timed: '' + - timed: '' - trigger: name: 'joid-os-nosdn-openbaton-ha-cengn-pod1-master-trigger' triggers: - - timed: '' + - timed: '' diff --git a/jjb/joid/joid-verify-jobs.yml b/jjb/joid/joid-verify-jobs.yml index 03fab553e..3b30cb6c9 100644 --- a/jjb/joid/joid-verify-jobs.yml +++ b/jjb/joid/joid-verify-jobs.yml @@ -1,37 +1,38 @@ +--- - project: name: 'joid-verify-jobs' project: 'joid' installer: 'joid' -##################################### -# branch definitions -##################################### + ##################################### + # branch definitions + ##################################### stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - danube: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false -##################################### -# patch verification phases -##################################### + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - danube: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + ##################################### + # patch verification phases + ##################################### phase: - - 'basic': - slave-label: 'opnfv-build-ubuntu' - - 'deploy-virtual': - slave-label: 'joid-virtual' - - 'smoke-test': - slave-label: 'joid-virtual' -##################################### -# jobs -##################################### + - 'basic': + slave-label: 'opnfv-build-ubuntu' + - 'deploy-virtual': + slave-label: 'joid-virtual' + - 'smoke-test': + slave-label: 'joid-virtual' + ##################################### + # jobs + ##################################### jobs: - - 'joid-verify-{stream}' - - 'joid-verify-{phase}-{stream}' + - 'joid-verify-{stream}' + - 'joid-verify-{phase}-{stream}' ##################################### # job templates ##################################### @@ -45,103 +46,103 @@ 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: - - 'joid-verify-master' - - 'joid-verify-danube' - block-level: 'NODE' + - logrotate-default + - throttle: + enabled: true + max-total: 4 + max-per-node: 1 + option: 'project' + - build-blocker: + use-build-blocker: true + blocking-jobs: + - 'joid-verify-master' + - 'joid-verify-danube' + block-level: 'NODE' scm: - - git-scm-gerrit + - git-scm-gerrit wrappers: - - ssh-agent-wrapper - - timeout: - timeout: 360 - fail: true + - ssh-agent-wrapper + - timeout: + timeout: 360 + fail: true triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**|.gitignore' - readable-message: true + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + - draft-published-event + - comment-added-contains-event: + comment-contains-value: 'recheck' + - comment-added-contains-event: + comment-contains-value: 'reverify' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**|.gitignore' + readable-message: true parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'joid-virtual-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'joid-virtual-defaults' builders: - - description-setter: - description: "Built on $NODE_NAME" - - multijob: - name: basic - condition: SUCCESSFUL - projects: - - name: 'joid-verify-basic-{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 - kill-phase-on: FAILURE - abort-all-job: true - - multijob: - name: deploy-virtual - condition: SUCCESSFUL - projects: - - name: 'joid-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: - - name: 'joid-verify-smoke-test-{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 + - description-setter: + description: "Built on $NODE_NAME" + - multijob: + name: basic + condition: SUCCESSFUL + projects: + - name: 'joid-verify-basic-{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 + kill-phase-on: FAILURE + abort-all-job: true + - multijob: + name: deploy-virtual + condition: SUCCESSFUL + projects: + - name: 'joid-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: + - name: 'joid-verify-smoke-test-{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 - job-template: name: 'joid-verify-{phase}-{stream}' @@ -151,62 +152,62 @@ 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: - - 'joid-verify-deploy-.*' - - 'joid-verify-test-.*' - block-level: 'NODE' + - logrotate-default + - throttle: + enabled: true + max-total: 4 + max-per-node: 1 + option: 'project' + - build-blocker: + use-build-blocker: true + blocking-jobs: + - 'joid-verify-deploy-.*' + - 'joid-verify-test-.*' + block-level: 'NODE' scm: - - git-scm-gerrit + - git-scm-gerrit wrappers: - - ssh-agent-wrapper - - timeout: - timeout: 360 - fail: true + - ssh-agent-wrapper + - timeout: + timeout: 360 + fail: true parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{installer}-defaults' - - '{slave-label}-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{installer}-defaults' + - '{slave-label}-defaults' builders: - - description-setter: - description: "Built on $NODE_NAME" - - '{project}-verify-{phase}-macro' + - description-setter: + description: "Built on $NODE_NAME" + - '{project}-verify-{phase}-macro' ##################################### # builder macros ##################################### - builder: name: 'joid-verify-basic-macro' builders: - - shell: | - #!/bin/bash + - shell: | + #!/bin/bash - echo "Not activated!" + echo "Not activated!" - builder: name: 'joid-verify-deploy-virtual-macro' builders: - - shell: | - #!/bin/bash + - shell: | + #!/bin/bash - echo "Not activated!" + echo "Not activated!" - builder: name: 'joid-verify-smoke-test-macro' builders: - - shell: | - #!/bin/bash + - shell: | + #!/bin/bash - echo "Not activated!" + echo "Not activated!" diff --git a/jjb/kvmfornfv/kvmfornfv.yml b/jjb/kvmfornfv/kvmfornfv.yml index a39249ad2..5aafb0947 100644 --- a/jjb/kvmfornfv/kvmfornfv.yml +++ b/jjb/kvmfornfv/kvmfornfv.yml @@ -1,42 +1,44 @@ +--- - project: name: kvmfornfv project: '{name}' stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - danube: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: true -##################################### -# patch verification phases -##################################### + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - danube: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: true + ##################################### + # patch verification phases + ##################################### phase: - - 'build': - slave-label: 'opnfv-build-ubuntu' - - 'test': - slave-label: 'intel-pod10' -##################################### -# patch verification phases -##################################### + - 'build': + slave-label: 'opnfv-build-ubuntu' + - 'test': + slave-label: 'intel-pod10' + ##################################### + # patch verification phases + ##################################### testname: - - 'cyclictest' - - 'packet_forward' - - 'livemigration' -##################################### -# patch verification phases -##################################### + - 'cyclictest' + - 'packet_forward' + - 'livemigration' + ##################################### + # patch verification phases + ##################################### jobs: - - 'kvmfornfv-verify-{stream}' - - 'kvmfornfv-verify-{phase}-{stream}' - - 'kvmfornfv-merge-{stream}' - - 'kvmfornfv-daily-{stream}' - - 'kvmfornfv-daily-build-{stream}' - - 'kvmfornfv-{testname}-daily-test-{stream}' + - 'kvmfornfv-verify-{stream}' + - 'kvmfornfv-verify-{phase}-{stream}' + - 'kvmfornfv-merge-{stream}' + - 'kvmfornfv-daily-{stream}' + - 'kvmfornfv-daily-build-{stream}' + - 'kvmfornfv-{testname}-daily-test-{stream}' + ##################################### # job templates ##################################### @@ -50,71 +52,72 @@ concurrent: true properties: - - logrotate-default - - throttle: - enabled: true - max-total: 3 - option: 'project' + - logrotate-default + - throttle: + enabled: true + max-total: 3 + option: 'project' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**' + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + - draft-published-event + - comment-added-contains-event: + comment-contains-value: 'recheck' + - comment-added-contains-event: + comment-contains-value: 'reverify' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**' builders: - - description-setter: - description: "Built on $NODE_NAME" - - multijob: - name: build - condition: SUCCESSFUL - projects: - - name: 'kvmfornfv-verify-build-{stream}' - current-parameters: false - predefined-parameters: | - BRANCH=$BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - node-parameters: false - kill-phase-on: FAILURE - abort-all-job: true - - multijob: - name: test - condition: SUCCESSFUL - projects: - - name: 'kvmfornfv-verify-test-{stream}' - current-parameters: false - predefined-parameters: | - BRANCH=$BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - node-parameters: false - kill-phase-on: FAILURE - abort-all-job: true + - description-setter: + description: "Built on $NODE_NAME" + - multijob: + name: build + condition: SUCCESSFUL + projects: + - name: 'kvmfornfv-verify-build-{stream}' + current-parameters: false + predefined-parameters: | + BRANCH=$BRANCH + GERRIT_REFSPEC=$GERRIT_REFSPEC + GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER + node-parameters: false + kill-phase-on: FAILURE + abort-all-job: true + - multijob: + name: test + condition: SUCCESSFUL + projects: + - name: 'kvmfornfv-verify-test-{stream}' + current-parameters: false + predefined-parameters: | + BRANCH=$BRANCH + GERRIT_REFSPEC=$GERRIT_REFSPEC + GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER + node-parameters: false + kill-phase-on: FAILURE + abort-all-job: true + - job-template: name: 'kvmfornfv-verify-{phase}-{stream}' @@ -123,29 +126,30 @@ concurrent: true scm: - - git-scm-gerrit + - git-scm-gerrit wrappers: - - ssh-agent-wrapper - - timeout: - timeout: 360 - fail: true + - ssh-agent-wrapper + - timeout: + timeout: 360 + fail: true + parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{slave-label}-defaults' - - 'kvmfornfv-defaults': - gs-pathname: '{gs-pathname}' - - string: - name: PHASE - default: '{phase}' - description: "Execution of kvmfornfv daily '{phase}' job ." + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{slave-label}-defaults' + - 'kvmfornfv-defaults': + gs-pathname: '{gs-pathname}' + - string: + name: PHASE + default: '{phase}' + description: "Execution of kvmfornfv daily '{phase}' job ." builders: - - description-setter: - description: "Built on $NODE_NAME" - - '{project}-verify-{phase}-macro' + - description-setter: + description: "Built on $NODE_NAME" + - '{project}-verify-{phase}-macro' - job-template: name: 'kvmfornfv-merge-{stream}' @@ -153,33 +157,33 @@ disabled: '{obj:disabled}' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - 'kvmfornfv-defaults': - gs-pathname: '{gs-pathname}' + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' + - 'kvmfornfv-defaults': + gs-pathname: '{gs-pathname}' scm: - - git-scm + - git-scm triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - change-merged-event - - comment-added-contains-event: - comment-contains-value: 'remerge' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - change-merged-event + - comment-added-contains-event: + comment-contains-value: 'remerge' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' builders: - - shell: - !include-raw: ./kvmfornfv-build.sh + - shell: + !include-raw: ./kvmfornfv-build.sh - job-template: name: 'kvmfornfv-daily-{stream}' @@ -191,63 +195,62 @@ concurrent: false parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - 'kvmfornfv-defaults': - gs-pathname: '{gs-pathname}' + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' + - 'kvmfornfv-defaults': + gs-pathname: '{gs-pathname}' scm: - - git-scm + - git-scm triggers: - - timed: '@midnight' + - timed: '@midnight' builders: - - description-setter: - description: "Built on $NODE_NAME" - - multijob: - name: cyclictest-build - condition: SUCCESSFUL - projects: - - name: 'kvmfornfv-daily-build-{stream}' - current-parameters: false - node-parameters: false - git-revision: true - kill-phase-on: FAILURE - abort-all-job: true - - multijob: - name: cyclictest-test - condition: SUCCESSFUL - projects: - - name: 'kvmfornfv-cyclictest-daily-test-{stream}' - current-parameters: false - node-parameters: false - git-revision: true - kill-phase-on: FAILURE - abort-all-job: true - - multijob: - name: packetforward-test - condition: SUCCESSFUL - projects: - - name: 'kvmfornfv-packet_forward-daily-test-{stream}' - current-parameters: false - node-parameters: false - git-revision: true - kill-phase-on: FAILURE - abort-all-job: true - - multijob: - name: livemigration-test - condition: SUCCESSFUL - projects: - - name: 'kvmfornfv-livemigration-daily-test-{stream}' - current-parameters: false - node-parameters: false - git-revision: true - kill-phase-on: FAILURE - abort-all-job: true - + - description-setter: + description: "Built on $NODE_NAME" + - multijob: + name: cyclictest-build + condition: SUCCESSFUL + projects: + - name: 'kvmfornfv-daily-build-{stream}' + current-parameters: false + node-parameters: false + git-revision: true + kill-phase-on: FAILURE + abort-all-job: true + - multijob: + name: cyclictest-test + condition: SUCCESSFUL + projects: + - name: 'kvmfornfv-cyclictest-daily-test-{stream}' + current-parameters: false + node-parameters: false + git-revision: true + kill-phase-on: FAILURE + abort-all-job: true + - multijob: + name: packetforward-test + condition: SUCCESSFUL + projects: + - name: 'kvmfornfv-packet_forward-daily-test-{stream}' + current-parameters: false + node-parameters: false + git-revision: true + kill-phase-on: FAILURE + abort-all-job: true + - multijob: + name: livemigration-test + condition: SUCCESSFUL + projects: + - name: 'kvmfornfv-livemigration-daily-test-{stream}' + current-parameters: false + node-parameters: false + git-revision: true + kill-phase-on: FAILURE + abort-all-job: true - job-template: name: 'kvmfornfv-daily-build-{stream}' @@ -257,29 +260,29 @@ concurrent: false scm: - - git-scm + - git-scm wrappers: - - ssh-agent-wrapper - - timeout: - timeout: 360 - fail: true + - ssh-agent-wrapper + - timeout: + timeout: 360 + fail: true parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - 'kvmfornfv-defaults': - gs-pathname: '{gs-pathname}' - - string: - name: PHASE - default: 'build' - description: "Execution of kvmfornfv daily 'build' job ." + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' + - 'kvmfornfv-defaults': + gs-pathname: '{gs-pathname}' + - string: + name: PHASE + default: 'build' + description: "Execution of kvmfornfv daily 'build' job ." builders: - - description-setter: - description: "Built on $NODE_NAME" - - '{project}-daily-build-macro' + - description-setter: + description: "Built on $NODE_NAME" + - '{project}-daily-build-macro' - job-template: name: 'kvmfornfv-{testname}-daily-test-{stream}' @@ -289,80 +292,87 @@ concurrent: false scm: - - git-scm + - git-scm wrappers: - - ssh-agent-wrapper - - timeout: - timeout: 360 - fail: true + - ssh-agent-wrapper + - timeout: + timeout: 360 + fail: true + parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'intel-pod10-defaults' - - 'kvmfornfv-defaults': - gs-pathname: '{gs-pathname}' - - string: - name: TEST_NAME - default: '{testname}' - description: "Daily job to execute kvmfornfv '{testname}' testcase." - - string: - name: PHASE - default: 'test' - description: "Execution of kvmfornfv daily 'test' job ." + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'intel-pod10-defaults' + - 'kvmfornfv-defaults': + gs-pathname: '{gs-pathname}' + - string: + name: TEST_NAME + default: '{testname}' + description: "Daily job to execute kvmfornfv '{testname}' testcase." + - string: + name: PHASE + default: 'test' + description: "Execution of kvmfornfv daily 'test' job ." builders: - - description-setter: - description: "Built on $NODE_NAME" - - '{project}-{testname}-daily-test-macro' + - description-setter: + description: "Built on $NODE_NAME" + - '{project}-{testname}-daily-test-macro' + ##################################### # builder macros ##################################### - builder: name: 'kvmfornfv-verify-build-macro' builders: - - shell: - !include-raw: ./kvmfornfv-build.sh - - shell: - !include-raw: ./kvmfornfv-upload-artifact.sh + - shell: + !include-raw: ./kvmfornfv-build.sh + - shell: + !include-raw: ./kvmfornfv-upload-artifact.sh + - builder: name: 'kvmfornfv-verify-test-macro' builders: - - shell: - !include-raw: ./kvmfornfv-download-artifact.sh - - shell: - !include-raw: ./kvmfornfv-test.sh + - shell: + !include-raw: ./kvmfornfv-download-artifact.sh + - shell: + !include-raw: ./kvmfornfv-test.sh + - builder: name: 'kvmfornfv-daily-build-macro' builders: - - shell: - !include-raw: ./kvmfornfv-build.sh - - shell: - !include-raw: ./kvmfornfv-upload-artifact.sh + - shell: + !include-raw: ./kvmfornfv-build.sh + - shell: + !include-raw: ./kvmfornfv-upload-artifact.sh + - builder: name: 'kvmfornfv-cyclictest-daily-test-macro' builders: - - shell: - !include-raw: ./kvmfornfv-download-artifact.sh - - shell: - !include-raw: ./kvmfornfv-test.sh - - shell: - !include-raw: ./kvmfornfv-upload-artifact.sh + - shell: + !include-raw: ./kvmfornfv-download-artifact.sh + - shell: + !include-raw: ./kvmfornfv-test.sh + - shell: + !include-raw: ./kvmfornfv-upload-artifact.sh + - builder: name: 'kvmfornfv-packet_forward-daily-test-macro' builders: - - shell: - !include-raw: ./kvmfornfv-download-artifact.sh - - shell: - !include-raw: ./kvmfornfv-test.sh + - shell: + !include-raw: ./kvmfornfv-download-artifact.sh + - shell: + !include-raw: ./kvmfornfv-test.sh + - builder: name: 'kvmfornfv-livemigration-daily-test-macro' builders: - - shell: - !include-raw: ./kvmfornfv-download-artifact.sh - - shell: - !include-raw: ./kvmfornfv-test.sh + - shell: + !include-raw: ./kvmfornfv-download-artifact.sh + - shell: + !include-raw: ./kvmfornfv-test.sh ##################################### # parameter macros @@ -370,7 +380,7 @@ - parameter: name: 'kvmfornfv-defaults' parameters: - - string: - name: GS_URL - default: artifacts.opnfv.org/$PROJECT{gs-pathname} - description: "URL to Google Storage." + - string: + name: GS_URL + default: artifacts.opnfv.org/$PROJECT{gs-pathname} + description: "URL to Google Storage." diff --git a/jjb/models/models.yml b/jjb/models/models.yml index 683103678..3a9f4c614 100644 --- a/jjb/models/models.yml +++ b/jjb/models/models.yml @@ -1,3 +1,4 @@ +--- ################################################### # All the jobs except verify have been removed! # They will only be enabled on request by projects! @@ -8,17 +9,17 @@ project: '{name}' jobs: - - 'models-verify-{stream}' + - 'models-verify-{stream}' stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - danube: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - danube: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false - job-template: name: 'models-verify-{stream}' @@ -26,43 +27,43 @@ disabled: '{obj:disabled}' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' scm: - - git-scm-gerrit + - git-scm-gerrit triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**|.gitignore' + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + - draft-published-event + - comment-added-contains-event: + comment-contains-value: 'recheck' + - comment-added-contains-event: + comment-contains-value: 'reverify' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**|.gitignore' builders: - - shell: | - #!/bin/bash - set -o errexit - set -o nounset - set -o pipefail + - shell: | + #!/bin/bash + set -o errexit + set -o nounset + set -o pipefail - # shellcheck -f tty tests/*.sh + # shellcheck -f tty tests/*.sh diff --git a/jjb/moon/moon.yml b/jjb/moon/moon.yml index fb28feb53..573b098c9 100644 --- a/jjb/moon/moon.yml +++ b/jjb/moon/moon.yml @@ -1,54 +1,55 @@ +--- - project: name: moon project: '{name}' jobs: - - 'moon-verify-{stream}' + - 'moon-verify-{stream}' stream: - - master: - branch: '{stream}' - gs-pathname: '' + - master: + branch: '{stream}' + gs-pathname: '' - job-template: name: 'moon-verify-{stream}' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' scm: - - git-scm-gerrit + - git-scm-gerrit triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**|.gitignore' + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + - draft-published-event + - comment-added-contains-event: + comment-contains-value: 'recheck' + - comment-added-contains-event: + comment-contains-value: 'reverify' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**|.gitignore' builders: - - shell: - #!/bin/bash - echo "launch Moon unit tests" - nosetest $WORKSPACE/keystone-moon/keystone/tests/moon/unit + - shell: + #!/bin/bash + echo "launch Moon unit tests" + nosetest $WORKSPACE/keystone-moon/keystone/tests/moon/unit diff --git a/jjb/netready/netready.yml b/jjb/netready/netready.yml index 2702c45b3..b72eeaa46 100644 --- a/jjb/netready/netready.yml +++ b/jjb/netready/netready.yml @@ -1,17 +1,18 @@ +--- - project: name: netready project: '{name}' jobs: - - 'netready-verify-{stream}' - - 'netready-build-gluon-packages-daily-{stream}' + - 'netready-verify-{stream}' + - 'netready-build-gluon-packages-daily-{stream}' stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false - job-template: name: 'netready-verify-{stream}' @@ -19,40 +20,39 @@ disabled: '{obj:disabled}' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' + - project-parameter: + project: '{project}' + branch: '{branch}' scm: - - git-scm-gerrit + - git-scm-gerrit triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**' + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + - draft-published-event + - comment-added-contains-event: + comment-contains-value: 'recheck' + - comment-added-contains-event: + comment-contains-value: 'reverify' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**' builders: - - shell: | - echo "Nothing to verify!" - + - shell: | + echo "Nothing to verify!" - job-template: @@ -63,21 +63,21 @@ concurrent: true parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - 'netready-parameter': - gs-pathname: '{gs-pathname}' + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' + - 'netready-parameter': + gs-pathname: '{gs-pathname}' scm: - - git-scm + - git-scm builders: - - 'netready-gluon-build' + - 'netready-gluon-build' triggers: - - timed: '@midnight' + - timed: '@midnight' ######################## @@ -87,10 +87,10 @@ - builder: name: 'netready-gluon-build' builders: - - shell: - !include-raw: ./netready-gluon-build.sh - - shell: - !include-raw: ./netready-upload-gluon-packages.sh + - shell: + !include-raw: ./netready-gluon-build.sh + - shell: + !include-raw: ./netready-upload-gluon-packages.sh ######################## @@ -100,11 +100,11 @@ - parameter: name: netready-parameter parameters: - - string: - name: BUILD_DIRECTORY - default: $WORKSPACE/build - description: "Directory where the build artifact will be located upon the completion of the build." - - string: - name: GS_URL - default: artifacts.opnfv.org/$PROJECT{gs-pathname} - description: "URL to Google Storage." + - string: + name: BUILD_DIRECTORY + default: $WORKSPACE/build + description: "Directory where the build artifact will be located upon the completion of the build." + - string: + name: GS_URL + default: artifacts.opnfv.org/$PROJECT{gs-pathname} + description: "URL to Google Storage." diff --git a/jjb/nfvbench/nfvbench.yml b/jjb/nfvbench/nfvbench.yml index 85486c8a8..62776d566 100644 --- a/jjb/nfvbench/nfvbench.yml +++ b/jjb/nfvbench/nfvbench.yml @@ -1,18 +1,19 @@ +--- - project: name: nfvbench project: '{name}' jobs: - - 'nfvbench-build-{stream}' - - 'nfvbench-verify-{stream}' + - 'nfvbench-build-{stream}' + - 'nfvbench-verify-{stream}' stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - docker-tag: 'latest' + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + docker-tag: 'latest' - job-template: name: 'nfvbench-build-{stream}' @@ -20,35 +21,37 @@ disabled: '{obj:disabled}' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW." - - 'opnfv-build-ubuntu-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + # yamllint disable rule:line-length + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW." + # yamllint enable rule:line-length + - 'opnfv-build-ubuntu-defaults' scm: - - git-scm-gerrit + - git-scm-gerrit triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - comment-added-contains-event: - comment-contains-value: 'buildvm' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - comment-added-contains-event: + comment-contains-value: 'buildvm' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' builders: - - shell: | - cd $WORKSPACE/nfvbenchvm/dib - bash build-image.sh + - shell: | + cd $WORKSPACE/nfvbenchvm/dib + bash build-image.sh - job-template: name: 'nfvbench-verify-{stream}' @@ -56,35 +59,35 @@ disabled: '{obj:disabled}' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW." - - 'opnfv-build-ubuntu-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + # yamllint disable rule:line-length + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW." + # yamllint enable rule:line-length + - 'opnfv-build-ubuntu-defaults' scm: - - git-scm-gerrit + - git-scm-gerrit triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' builders: - - shell: | - echo "pass" - - + - shell: | + echo "pass" diff --git a/jjb/onosfw/onosfw.yml b/jjb/onosfw/onosfw.yml index 9d6b037e1..6029204d7 100644 --- a/jjb/onosfw/onosfw.yml +++ b/jjb/onosfw/onosfw.yml @@ -1,22 +1,23 @@ +--- - project: name: onosfw jobs: - - 'onosfw-verify-{stream}' - - 'onosfw-daily-{stream}' - - 'onosfw-build-{stream}' + - 'onosfw-verify-{stream}' + - 'onosfw-daily-{stream}' + - 'onosfw-build-{stream}' -# only master branch is enabled at the moment to keep no of jobs sane + # only master branch is enabled at the moment to keep no of jobs sane stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - danube: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - danube: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false project: 'onosfw' @@ -29,40 +30,40 @@ disabled: '{obj:disabled}' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' scm: - - git-scm-gerrit + - git-scm-gerrit triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**|.gitignore' + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + - draft-published-event + - comment-added-contains-event: + comment-contains-value: 'recheck' + - comment-added-contains-event: + comment-contains-value: 'reverify' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**|.gitignore' builders: - - 'builder-onosfw-helloworld' + - 'builder-onosfw-helloworld' - job-template: name: 'onosfw-daily-{stream}' @@ -70,19 +71,19 @@ disabled: '{obj:disabled}' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' scm: - - git-scm + - git-scm triggers: - - timed: '@midnight' + - timed: '@midnight' builders: - - trigger-builds: + - trigger-builds: - project: 'onosfw-build-{stream}' git-revision: true block: true @@ -93,20 +94,20 @@ disabled: '{obj:disabled}' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - string: - name: GS_URL - default: '$GS_BASE{gs-pathname}' - description: "Directory where the build artifact will be located upon the completion of the build." + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' + - string: + name: GS_URL + default: '$GS_BASE{gs-pathname}' + description: "Directory where the build artifact will be located upon the completion of the build." scm: - - git-scm + - git-scm builders: - - 'builder-onosfw-helloworld' + - 'builder-onosfw-helloworld' ######################## # builder macros @@ -114,76 +115,78 @@ - builder: name: 'builder-onosfw-build' builders: - - shell: | - #!/bin/bash - set -o errexit - set -o nounset - set -o pipefail - - # log info to console - echo "Starting the build of $PROJECT. This could take some time..." - echo "--------------------------------------------------------" - echo - - # create the cache directory if it doesn't exist - [[ -d $CACHE_DIRECTORY ]] || mkdir -p $CACHE_DIRECTORY - [[ -d $BUILD_DIRECTORY ]] || mkdir -p $BUILD_DIRECTORY - - # set OPNFV_ARTIFACT_VERSION - export OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d_%H-%M-%S") - - # start the build - cd $WORKSPACE/ - ./ci/build.sh $BUILD_DIRECTORY/ - - # list the build artifacts - ls -al $BUILD_DIRECTORY - - # save information regarding artifact into file - ( - echo "OPNFV_ARTIFACT_VERSION=$OPNFV_ARTIFACT_VERSION" - echo "OPNFV_GIT_URL=$(git config --get remote.origin.url)" - echo "OPNFV_GIT_SHA1=$(git rev-parse HEAD)" - echo "OPNFV_ARTIFACT_URL=$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso" - echo "OPNFV_ARTIFACT_SHA512SUM=$(sha512sum $BUILD_DIRECTORY/onosfw.iso | cut -d' ' -f1)" - echo "OPNFV_BUILD_URL=$BUILD_URL" - ) > $BUILD_DIRECTORY/opnfv.properties - echo - echo "--------------------------------------------------------" - echo "Done!" - - + - shell: | + #!/bin/bash + set -o errexit + set -o nounset + set -o pipefail + + # log info to console + echo "Starting the build of $PROJECT. This could take some time..." + echo "--------------------------------------------------------" + echo + + # create the cache directory if it doesn't exist + [[ -d $CACHE_DIRECTORY ]] || mkdir -p $CACHE_DIRECTORY + [[ -d $BUILD_DIRECTORY ]] || mkdir -p $BUILD_DIRECTORY + + # set OPNFV_ARTIFACT_VERSION + export OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d_%H-%M-%S") + + # start the build + cd $WORKSPACE/ + ./ci/build.sh $BUILD_DIRECTORY/ + + # list the build artifacts + ls -al $BUILD_DIRECTORY + + # save information regarding artifact into file + ( + echo "OPNFV_ARTIFACT_VERSION=$OPNFV_ARTIFACT_VERSION" + echo "OPNFV_GIT_URL=$(git config --get remote.origin.url)" + echo "OPNFV_GIT_SHA1=$(git rev-parse HEAD)" + echo "OPNFV_ARTIFACT_URL=$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso" + echo "OPNFV_ARTIFACT_SHA512SUM=$(sha512sum $BUILD_DIRECTORY/onosfw.iso | cut -d' ' -f1)" + echo "OPNFV_BUILD_URL=$BUILD_URL" + ) > $BUILD_DIRECTORY/opnfv.properties + echo + echo "--------------------------------------------------------" + echo "Done!" + + +# yamllint disable rule:line-length - builder: name: 'builder-onosfw-upload-artifact' builders: - - shell: | - #!/bin/bash - set -o errexit - set -o nounset - set -o pipefail + - shell: | + #!/bin/bash + set -o errexit + set -o nounset + set -o pipefail - # log info to console - echo "Uploading the $INSTALLER artifact. This could take some time..." - echo "--------------------------------------------------------" - echo + # log info to console + echo "Uploading the $INSTALLER artifact. This could take some time..." + echo "--------------------------------------------------------" + echo - # source the opnfv.properties to get ARTIFACT_VERSION - source $BUILD_DIRECTORY/opnfv.properties + # source the opnfv.properties to get ARTIFACT_VERSION + source $BUILD_DIRECTORY/opnfv.properties - # upload artifact and additional files to google storage - gsutil cp $BUILD_DIRECTORY/onosfw.iso gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso > gsutil.iso.log 2>&1 - gsutil cp $BUILD_DIRECTORY/opnfv.properties gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.properties > gsutil.properties.log 2>&1 - gsutil cp $BUILD_DIRECTORY/opnfv.properties gs://$GS_URL/latest.properties > gsutil.latest.log 2>&1 + # upload artifact and additional files to google storage + gsutil cp $BUILD_DIRECTORY/onosfw.iso gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso > gsutil.iso.log 2>&1 + gsutil cp $BUILD_DIRECTORY/opnfv.properties gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.properties > gsutil.properties.log 2>&1 + gsutil cp $BUILD_DIRECTORY/opnfv.properties gs://$GS_URL/latest.properties > gsutil.latest.log 2>&1 - echo - echo "--------------------------------------------------------" - echo "Done!" - echo "Artifact is available as http://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso" + echo + echo "--------------------------------------------------------" + echo "Done!" + echo "Artifact is available as http://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso" +# yamllint enable rule:line-length - builder: name: 'builder-onosfw-helloworld' builders: - - shell: | - #!/bin/bash - echo "Hello world!" + - shell: | + #!/bin/bash + echo "Hello world!" diff --git a/jjb/opera/opera-daily-jobs.yml b/jjb/opera/opera-daily-jobs.yml index 596d3771f..d0dd0525a 100644 --- a/jjb/opera/opera-daily-jobs.yml +++ b/jjb/opera/opera-daily-jobs.yml @@ -1,31 +1,32 @@ +--- - project: name: 'opera-daily-jobs' project: 'opera' -##################################### -# branch definitions -##################################### + ##################################### + # branch definitions + ##################################### master: &master - stream: master - branch: '{stream}' - gs-pathname: '' - disabled: false + stream: master + branch: '{stream}' + gs-pathname: '' + disabled: false -##################################### -# pod definitions -##################################### + ##################################### + # pod definitions + ##################################### pod: - - virtual: - slave-label: 'huawei-virtual7' - os-version: 'xenial' - <<: *master + - virtual: + slave-label: 'huawei-virtual7' + os-version: 'xenial' + <<: *master -##################################### -# jobs -##################################### + ##################################### + # jobs + ##################################### jobs: - - 'opera-{pod}-daily-{stream}' + - 'opera-{pod}-daily-{stream}' ##################################### # job templates @@ -40,59 +41,58 @@ concurrent: false properties: - - logrotate-default - - throttle: - enabled: true - max-total: 1 - max-per-node: 1 - option: 'project' + - logrotate-default + - throttle: + enabled: true + max-total: 1 + max-per-node: 1 + option: 'project' scm: - - git-scm + - git-scm wrappers: - - ssh-agent-wrapper - - - timeout: - timeout: 240 - fail: true + - ssh-agent-wrapper + - timeout: + timeout: 240 + fail: true triggers: - - timed: '@midnight' + - timed: '@midnight' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - string: - name: DEPLOY_SCENARIO - default: os-nosdn-openo-ha - - '{slave-label}-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - string: + name: DEPLOY_SCENARIO + default: os-nosdn-openo-ha + - '{slave-label}-defaults' builders: - - description-setter: - description: "Built on $NODE_NAME" - - multijob: - name: deploy - condition: SUCCESSFUL - projects: - - name: 'compass-deploy-{pod}-daily-{stream}' - current-parameters: false - predefined-parameters: | - DEPLOY_SCENARIO=os-nosdn-openo-ha - COMPASS_OS_VERSION=xenial - node-parameters: true - kill-phase-on: FAILURE - abort-all-job: true - - multijob: - name: functest - condition: SUCCESSFUL - projects: - - name: 'functest-compass-{pod}-suite-{stream}' - current-parameters: false - predefined-parameters: | - DEPLOY_SCENARIO=os-nosdn-openo-ha - FUNCTEST_SUITE_NAME=opera_vims - node-parameters: true - kill-phase-on: NEVER - abort-all-job: true + - description-setter: + description: "Built on $NODE_NAME" + - multijob: + name: deploy + condition: SUCCESSFUL + projects: + - name: 'compass-deploy-{pod}-daily-{stream}' + current-parameters: false + predefined-parameters: | + DEPLOY_SCENARIO=os-nosdn-openo-ha + COMPASS_OS_VERSION=xenial + node-parameters: true + kill-phase-on: FAILURE + abort-all-job: true + - multijob: + name: functest + condition: SUCCESSFUL + projects: + - name: 'functest-compass-{pod}-suite-{stream}' + current-parameters: false + predefined-parameters: | + DEPLOY_SCENARIO=os-nosdn-openo-ha + FUNCTEST_SUITE_NAME=opera_vims + node-parameters: true + kill-phase-on: NEVER + abort-all-job: true diff --git a/jjb/opera/opera-project-jobs.yml b/jjb/opera/opera-project-jobs.yml index 38efbc159..f866342a4 100644 --- a/jjb/opera/opera-project-jobs.yml +++ b/jjb/opera/opera-project-jobs.yml @@ -1,3 +1,4 @@ +--- - project: name: opera-project @@ -5,12 +6,12 @@ project: 'opera' stream: - - master: - branch: '{stream}' - gs-pathname: '' + - master: + branch: '{stream}' + gs-pathname: '' jobs: - - 'opera-build-{stream}' + - 'opera-build-{stream}' ######################## # job templates @@ -21,27 +22,27 @@ concurrent: true properties: - - logrotate-default - - throttle: - enabled: true - max-total: 1 - max-per-node: 1 - option: 'project' + - logrotate-default + - throttle: + enabled: true + max-total: 1 + max-per-node: 1 + option: 'project' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' scm: - - git-scm + - git-scm triggers: - - timed: 'H 23 * * *' + - timed: 'H 23 * * *' builders: - - 'opera-build-macro' + - 'opera-build-macro' ##################################### # builder macros @@ -49,9 +50,7 @@ - builder: name: 'opera-build-macro' builders: - - shell: | - #!/bin/bash - - echo "Hello world!" - + - shell: | + #!/bin/bash + echo "Hello world!" diff --git a/jjb/opera/opera-verify-jobs.yml b/jjb/opera/opera-verify-jobs.yml index 4da41d8d9..ad93d4653 100644 --- a/jjb/opera/opera-verify-jobs.yml +++ b/jjb/opera/opera-verify-jobs.yml @@ -1,30 +1,31 @@ +--- - project: name: 'opera-verify-jobs' project: 'opera' -##################################### -# branch definitions -##################################### + ##################################### + # branch definitions + ##################################### stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - -##################################### -# patch verification phases -##################################### + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + + ##################################### + # patch verification phases + ##################################### phase: - - 'basic' - - 'deploy' + - 'basic' + - 'deploy' -##################################### -# jobs -##################################### + ##################################### + # jobs + ##################################### jobs: - - 'opera-verify-{stream}' - - 'opera-verify-{phase}-{stream}' + - 'opera-verify-{stream}' + - 'opera-verify-{phase}-{stream}' ##################################### # job templates ##################################### @@ -38,77 +39,77 @@ concurrent: true properties: - - logrotate-default - - throttle: - enabled: true - max-total: 1 - max-per-node: 1 - option: 'project' + - logrotate-default + - throttle: + enabled: true + max-total: 1 + max-per-node: 1 + option: 'project' scm: - - git-scm-gerrit + - git-scm-gerrit wrappers: - - ssh-agent-wrapper - - timeout: - timeout: 120 - fail: true + - ssh-agent-wrapper + - timeout: + timeout: 120 + fail: true triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - file-paths: - - compare-type: ANT - pattern: '**/*' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**' - readable-message: true + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + - draft-published-event + - comment-added-contains-event: + comment-contains-value: 'recheck' + - comment-added-contains-event: + comment-contains-value: 'reverify' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + file-paths: + - compare-type: ANT + pattern: '**/*' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**' + readable-message: true parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'huawei-pod7-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'huawei-pod7-defaults' builders: - - description-setter: - description: "Built on $NODE_NAME" - - multijob: - name: basic - condition: SUCCESSFUL - projects: - - name: 'opera-verify-basic-{stream}' - current-parameters: true - node-parameters: true - kill-phase-on: FAILURE - abort-all-job: true - - multijob: - name: deploy - condition: SUCCESSFUL - projects: - - name: 'opera-verify-deploy-{stream}' - current-parameters: true - node-parameters: true - kill-phase-on: FAILURE - abort-all-job: true + - description-setter: + description: "Built on $NODE_NAME" + - multijob: + name: basic + condition: SUCCESSFUL + projects: + - name: 'opera-verify-basic-{stream}' + current-parameters: true + node-parameters: true + kill-phase-on: FAILURE + abort-all-job: true + - multijob: + name: deploy + condition: SUCCESSFUL + projects: + - name: 'opera-verify-deploy-{stream}' + current-parameters: true + node-parameters: true + kill-phase-on: FAILURE + abort-all-job: true - job-template: name: 'opera-verify-{phase}-{stream}' @@ -118,25 +119,25 @@ concurrent: true properties: - - logrotate-default - - throttle: - enabled: true - max-per-node: 1 - option: 'project' + - logrotate-default + - throttle: + enabled: true + max-per-node: 1 + option: 'project' scm: - - git-scm-gerrit + - git-scm-gerrit wrappers: - - ssh-agent-wrapper - - timeout: - timeout: 120 - fail: true + - ssh-agent-wrapper + - timeout: + timeout: 120 + fail: true builders: - - description-setter: - description: "Built on $NODE_NAME" - - '{project}-verify-{phase}-macro' + - description-setter: + description: "Built on $NODE_NAME" + - '{project}-verify-{phase}-macro' ##################################### # builder macros @@ -144,14 +145,13 @@ - builder: name: 'opera-verify-basic-macro' builders: - - shell: | - #!/bin/bash - echo "Hello world!" + - shell: | + #!/bin/bash + echo "Hello world!" - builder: name: 'opera-verify-deploy-macro' builders: - - shell: | - #!/bin/bash - echo "Hello world!" - + - shell: | + #!/bin/bash + echo "Hello world!" diff --git a/jjb/opnfvdocs/docs-rtd.yaml b/jjb/opnfvdocs/docs-rtd.yaml index 864626b06..f81feab22 100644 --- a/jjb/opnfvdocs/docs-rtd.yaml +++ b/jjb/opnfvdocs/docs-rtd.yaml @@ -1,14 +1,15 @@ +--- - project: name: docs-rtd jobs: - - 'docs-merge-rtd-{stream}' - - 'docs-verify-rtd-{stream}' + - 'docs-merge-rtd-{stream}' + - 'docs-verify-rtd-{stream}' stream: - - master: - branch: 'master' - - danube: - branch: 'stable/{stream}' + - master: + branch: 'master' + - danube: + branch: 'stable/{stream}' project: 'opnfvdocs' rtdproject: 'opnfv' @@ -20,28 +21,28 @@ project-type: freestyle parameters: - - label: - name: SLAVE_LABEL - default: 'lf-build1' - description: 'Slave label on Jenkins' - - project-parameter: - project: '{project}' - branch: '{branch}' + - label: + name: SLAVE_LABEL + default: 'lf-build1' + description: 'Slave label on Jenkins' + - project-parameter: + project: '{project}' + branch: '{branch}' triggers: - - gerrit-trigger-change-merged: - project: '**' - branch: '{branch}' - files: 'docs/**/*.*' + - gerrit-trigger-change-merged: + project: '**' + branch: '{branch}' + files: 'docs/**/*.*' builders: - - shell: | - if [ $GERRIT_BRANCH == "master" ]; then - RTD_BUILD_VERSION=latest - else - RTD_BUILD_VERSION=${{GERRIT_BRANCH/\//-}} - fi - curl -X POST --data "version_slug=$RTD_BUILD_VERSION" https://readthedocs.org/build/opnfvdocsdemo + - shell: | + if [ $GERRIT_BRANCH == "master" ]; then + RTD_BUILD_VERSION=latest + else + RTD_BUILD_VERSION=${{GERRIT_BRANCH/\//-}} + fi + curl -X POST --data "version_slug=$RTD_BUILD_VERSION" https://readthedocs.org/build/opnfvdocsdemo - job-template: @@ -50,42 +51,43 @@ project-type: freestyle parameters: - - label: - name: SLAVE_LABEL - default: 'lf-build2' - description: 'Slave label on Jenkins' - - project-parameter: - project: '{project}' - branch: '{branch}' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/opnfvdocs - description: 'Git URL to use on this Jenkins Slave' + - label: + name: SLAVE_LABEL + default: 'lf-build2' + description: 'Slave label on Jenkins' + - project-parameter: + project: '{project}' + branch: '{branch}' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/opnfvdocs + description: 'Git URL to use on this Jenkins Slave' + scm: - - git-scm-with-submodules: - branch: '{branch}' + - git-scm-with-submodules: + branch: '{branch}' triggers: - - gerrit-trigger-patchset-created: - server: 'gerrit.opnfv.org' - project: '**' - branch: '{branch}' - files: 'docs/**/*.*' - - timed: 'H H * * *' + - gerrit-trigger-patchset-created: + server: 'gerrit.opnfv.org' + project: '**' + branch: '{branch}' + files: 'docs/**/*.*' + - timed: 'H H * * *' builders: - - shell: | - if [ "$GERRIT_PROJECT" != "opnfvdocs" ]; then - cd docs/submodules/$GERRIT_PROJECT - git fetch origin $GERRIT_REFSPEC && git checkout FETCH_HEAD - else - git fetch origin $GERRIT_REFSPEC && git checkout FETCH_HEAD - fi - - shell: | - sudo pip install virtualenv - virtualenv $WORKSPACE/venv - . $WORKSPACE/venv/bin/activate - pip install --upgrade pip - pip freeze - pip install tox - tox -edocs + - shell: | + if [ "$GERRIT_PROJECT" != "opnfvdocs" ]; then + cd docs/submodules/$GERRIT_PROJECT + git fetch origin $GERRIT_REFSPEC && git checkout FETCH_HEAD + else + git fetch origin $GERRIT_REFSPEC && git checkout FETCH_HEAD + fi + - shell: | + sudo pip install virtualenv + virtualenv $WORKSPACE/venv + . $WORKSPACE/venv/bin/activate + pip install --upgrade pip + pip freeze + pip install tox + tox -edocs diff --git a/jjb/opnfvdocs/opnfvdocs.yml b/jjb/opnfvdocs/opnfvdocs.yml index fc825ff64..6f63db96b 100644 --- a/jjb/opnfvdocs/opnfvdocs.yml +++ b/jjb/opnfvdocs/opnfvdocs.yml @@ -1,3 +1,4 @@ +--- ######################## # Job configuration for opnfvdocs ######################## @@ -8,19 +9,19 @@ project: '{name}' jobs: - - 'opnfvdocs-verify-shellcheck-{stream}' - - 'opnfvdocs-merge-shellcheck-{stream}' - - 'opnfvdocs-daily-{stream}' + - 'opnfvdocs-verify-shellcheck-{stream}' + - 'opnfvdocs-merge-shellcheck-{stream}' + - 'opnfvdocs-daily-{stream}' stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - danube: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - danube: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false ######################## # job templates @@ -32,44 +33,44 @@ disabled: '{obj:disabled}' parameters: - - project-parameter: - project: $GERRIT_PROJECT - branch: '{branch}' - - string: - name: GIT_CLONE_BASE - default: ssh://gerrit.opnfv.org:29418 - description: "Used for overriding the GIT URL coming from parameters macro." + - project-parameter: + project: $GERRIT_PROJECT + branch: '{branch}' + - string: + name: GIT_CLONE_BASE + default: ssh://gerrit.opnfv.org:29418 + description: "Used for overriding the GIT URL coming from parameters macro." scm: - - git-scm-gerrit + - git-scm-gerrit triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'REG_EXP' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - skip-vote: - successful: true - failed: true - unstable: true - notbuilt: true + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + - draft-published-event + - comment-added-contains-event: + comment-contains-value: 'recheck' + - comment-added-contains-event: + comment-contains-value: 'reverify' + projects: + - project-compare-type: 'REG_EXP' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + skip-vote: + successful: true + failed: true + unstable: true + notbuilt: true builders: - - check-bash-syntax + - check-bash-syntax - job-template: name: 'opnfvdocs-merge-shellcheck-{stream}' @@ -77,37 +78,37 @@ disabled: '{obj:disabled}' parameters: - - project-parameter: - project: $GERRIT_PROJECT - branch: '{branch}' - - string: - name: GIT_CLONE_BASE - default: ssh://gerrit.opnfv.org:29418 - description: "Used for overriding the GIT URL coming from parameters macro." - - string: - name: GS_URL - default: '$GS_BASE{gs-pathname}' - description: "Directory where the build artifact will be located upon the completion of the build." + - project-parameter: + project: $GERRIT_PROJECT + branch: '{branch}' + - string: + name: GIT_CLONE_BASE + default: ssh://gerrit.opnfv.org:29418 + description: "Used for overriding the GIT URL coming from parameters macro." + - string: + name: GS_URL + default: '$GS_BASE{gs-pathname}' + description: "Directory where the build artifact will be located upon the completion of the build." scm: - - git-scm + - git-scm triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - change-merged-event - - comment-added-contains-event: - comment-contains-value: 'remerge' - projects: - - project-compare-type: 'REG_EXP' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - change-merged-event + - comment-added-contains-event: + comment-contains-value: 'remerge' + projects: + - project-compare-type: 'REG_EXP' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' builders: - - check-bash-syntax + - check-bash-syntax - job-template: name: 'opnfvdocs-daily-{stream}' @@ -115,24 +116,24 @@ disabled: true parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - string: - name: GS_URL - default: '$GS_BASE{gs-pathname}' - description: "Directory where the build artifact will be located upon the completion of the build." - - string: - name: GIT_CLONE_BASE - default: ssh://gerrit.opnfv.org:29418 - description: "Used for overriding the GIT URL coming from parameters macro." + - project-parameter: + project: '{project}' + branch: '{branch}' + - string: + name: GS_URL + default: '$GS_BASE{gs-pathname}' + description: "Directory where the build artifact will be located upon the completion of the build." + - string: + name: GIT_CLONE_BASE + default: ssh://gerrit.opnfv.org:29418 + description: "Used for overriding the GIT URL coming from parameters macro." scm: - - git-scm + - git-scm triggers: - - timed: '0 H/6 * * *' + - timed: '0 H/6 * * *' builders: - - build-html-and-pdf-docs-output -# - upload-generated-docs-to-opnfv-artifacts + - build-html-and-pdf-docs-output +# - upload-generated-docs-to-opnfv-artifacts diff --git a/jjb/orchestra/orchestra-daily-jobs.yml b/jjb/orchestra/orchestra-daily-jobs.yml index 6baaab896..74c997cad 100644 --- a/jjb/orchestra/orchestra-daily-jobs.yml +++ b/jjb/orchestra/orchestra-daily-jobs.yml @@ -1,3 +1,4 @@ +--- ################################### # job configuration for orchestra ################################### @@ -6,26 +7,26 @@ project: 'orchestra' -#-------------------------------- -# BRANCH ANCHORS -#-------------------------------- + # ------------------------------- + # BRANCH ANCHORS + # ------------------------------- master: &master - stream: master - branch: '{stream}' - gs-pathname: '' - disabled: false + stream: master + branch: '{stream}' + gs-pathname: '' + disabled: false -#------------------------------------------------------- -# POD, INSTALLER, AND BRANCH MAPPING -#------------------------------------------------------- + # ------------------------------------------------------ + # POD, INSTALLER, AND BRANCH MAPPING + # ------------------------------------------------------ pod: - - virtual: - slave-label: 'joid-virtual' - os-version: 'xenial' - <<: *master + - virtual: + slave-label: 'joid-virtual' + os-version: 'xenial' + <<: *master jobs: - - 'orchestra-{pod}-daily-{stream}' + - 'orchestra-{pod}-daily-{stream}' ################################ # job template @@ -40,59 +41,59 @@ concurrent: false properties: - - logrotate-default - - throttle: - enabled: true - max-total: 1 - max-per-node: 1 - option: 'project' + - logrotate-default + - throttle: + enabled: true + max-total: 1 + max-per-node: 1 + option: 'project' scm: - - git-scm + - git-scm wrappers: - - ssh-agent-wrapper + - ssh-agent-wrapper - - timeout: - timeout: 240 - fail: true + - timeout: + timeout: 240 + fail: true triggers: - - timed: '@daily' + - timed: '@daily' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - string: - name: DEPLOY_SCENARIO - default: os-nosdn-openbaton-ha - - '{slave-label}-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - string: + name: DEPLOY_SCENARIO + default: os-nosdn-openbaton-ha + - '{slave-label}-defaults' builders: - - description-setter: - description: "Built on $NODE_NAME" - - multijob: - name: deploy - condition: SUCCESSFUL - projects: - - name: 'joid-deploy-{pod}-daily-{stream}' - current-parameters: false - predefined-parameters: | - DEPLOY_SCENARIO=os-nosdn-openbaton-ha - COMPASS_OS_VERSION=xenial - node-parameters: true - kill-phase-on: FAILURE - abort-all-job: true - - multijob: - name: functest - condition: SUCCESSFUL - projects: - - name: 'functest-joid-{pod}-daily-{stream}' - current-parameters: false - predefined-parameters: | - DEPLOY_SCENARIO=os-nosdn-openbaton-ha - FUNCTEST_SUITE_NAME=orchestra_ims - node-parameters: true - kill-phase-on: NEVER - abort-all-job: true + - description-setter: + description: "Built on $NODE_NAME" + - multijob: + name: deploy + condition: SUCCESSFUL + projects: + - name: 'joid-deploy-{pod}-daily-{stream}' + current-parameters: false + predefined-parameters: | + DEPLOY_SCENARIO=os-nosdn-openbaton-ha + COMPASS_OS_VERSION=xenial + node-parameters: true + kill-phase-on: FAILURE + abort-all-job: true + - multijob: + name: functest + condition: SUCCESSFUL + projects: + - name: 'functest-joid-{pod}-daily-{stream}' + current-parameters: false + predefined-parameters: | + DEPLOY_SCENARIO=os-nosdn-openbaton-ha + FUNCTEST_SUITE_NAME=orchestra_ims + node-parameters: true + kill-phase-on: NEVER + abort-all-job: true diff --git a/jjb/orchestra/orchestra-project-jobs.yml b/jjb/orchestra/orchestra-project-jobs.yml index 0f0c0f6c9..60732ce03 100644 --- a/jjb/orchestra/orchestra-project-jobs.yml +++ b/jjb/orchestra/orchestra-project-jobs.yml @@ -1,3 +1,4 @@ +--- - project: name: orchestra-project @@ -5,12 +6,12 @@ project: 'orchestra' stream: - - master: - branch: '{stream}' - gs-pathname: '' + - master: + branch: '{stream}' + gs-pathname: '' jobs: - - 'orchestra-build-{stream}' + - 'orchestra-build-{stream}' - job-template: name: 'orchestra-build-{stream}' @@ -18,33 +19,31 @@ concurrent: true properties: - - logrotate-default - - throttle: - enabled: true - max-total: 1 - max-per-node: 1 - option: 'project' + - logrotate-default + - throttle: + enabled: true + max-total: 1 + max-per-node: 1 + option: 'project' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' + - project-parameter: + project: '{project}' + branch: '{branch}' scm: - - git-scm + - git-scm triggers: - - timed: 'H 23 * * *' + - timed: 'H 23 * * *' builders: - - 'orchestra-build-macro' + - 'orchestra-build-macro' - builder: name: 'orchestra-build-macro' builders: - - shell: | - #!/bin/bash - - echo "Hello world!" - + - shell: | + #!/bin/bash + echo "Hello world!" diff --git a/jjb/ovn4nfv/ovn4nfv-daily-jobs.yml b/jjb/ovn4nfv/ovn4nfv-daily-jobs.yml index ed6df41e3..a4c5865c0 100644 --- a/jjb/ovn4nfv/ovn4nfv-daily-jobs.yml +++ b/jjb/ovn4nfv/ovn4nfv-daily-jobs.yml @@ -1,22 +1,23 @@ +--- - project: name: 'ovn4nfv-daily-jobs' project: 'ovn4nfv' master: &master - stream: master - branch: '{stream}' - gs-pathname: '' - disabled: false + stream: master + branch: '{stream}' + gs-pathname: '' + disabled: false pod: - - virtual: - slave-label: 'joid-virtual' - os-version: 'xenial' - <<: *master + - virtual: + slave-label: 'joid-virtual' + os-version: 'xenial' + <<: *master jobs: - - 'ovn4nfv-{pod}-daily-{stream}' + - 'ovn4nfv-{pod}-daily-{stream}' - job-template: name: 'ovn4nfv-{pod}-daily-{stream}' @@ -28,60 +29,59 @@ concurrent: false properties: - - logrotate-default - - throttle: - enabled: true - max-total: 1 - max-per-node: 1 - option: 'project' + - logrotate-default + - throttle: + enabled: true + max-total: 1 + max-per-node: 1 + option: 'project' scm: - - git-scm + - git-scm wrappers: - - ssh-agent-wrapper + - ssh-agent-wrapper - - timeout: - timeout: 240 - fail: true + - timeout: + timeout: 240 + fail: true triggers: - - timed: '@daily' + - timed: '@daily' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - string: - name: DEPLOY_SCENARIO - default: os-ovn-nofeature-noha - - '{slave-label}-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - string: + name: DEPLOY_SCENARIO + default: os-ovn-nofeature-noha + - '{slave-label}-defaults' builders: - - description-setter: - description: "Built on $NODE_NAME" - - multijob: - name: deploy - condition: SUCCESSFUL - projects: - - name: 'joid-deploy-{pod}-daily-{stream}' - current-parameters: false - predefined-parameters: | - DEPLOY_SCENARIO=os-ovn-nofeature-noha - COMPASS_OS_VERSION=xenial - node-parameters: true - kill-phase-on: FAILURE - abort-all-job: true - - multijob: - name: functest - condition: SUCCESSFUL - projects: - - name: 'functest-joid-{pod}-daily-{stream}' - current-parameters: false - predefined-parameters: | - DEPLOY_SCENARIO=os-ovn-nofeature-ha - FUNCTEST_SUITE_NAME=ovn4nfv_test_suite - node-parameters: true - kill-phase-on: NEVER - abort-all-job: true - + - description-setter: + description: "Built on $NODE_NAME" + - multijob: + name: deploy + condition: SUCCESSFUL + projects: + - name: 'joid-deploy-{pod}-daily-{stream}' + current-parameters: false + predefined-parameters: | + DEPLOY_SCENARIO=os-ovn-nofeature-noha + COMPASS_OS_VERSION=xenial + node-parameters: true + kill-phase-on: FAILURE + abort-all-job: true + - multijob: + name: functest + condition: SUCCESSFUL + projects: + - name: 'functest-joid-{pod}-daily-{stream}' + current-parameters: false + predefined-parameters: | + DEPLOY_SCENARIO=os-ovn-nofeature-ha + FUNCTEST_SUITE_NAME=ovn4nfv_test_suite + node-parameters: true + kill-phase-on: NEVER + abort-all-job: true diff --git a/jjb/ovn4nfv/ovn4nfv-project-jobs.yml b/jjb/ovn4nfv/ovn4nfv-project-jobs.yml index 805aa04a6..8c82cac5e 100644 --- a/jjb/ovn4nfv/ovn4nfv-project-jobs.yml +++ b/jjb/ovn4nfv/ovn4nfv-project-jobs.yml @@ -1,3 +1,4 @@ +--- - project: name: ovn4nfv @@ -5,13 +6,13 @@ stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false jobs: - - 'ovn4nfv-build-{stream}' + - 'ovn4nfv-build-{stream}' - job-template: name: 'ovn4nfv-build-{stream}' @@ -21,31 +22,31 @@ disabled: '{obj:disabled}' properties: - - logrotate-default - - throttle: - enabled: true - max-total: 1 - max-per-node: 1 - option: 'project' + - logrotate-default + - throttle: + enabled: true + max-total: 1 + max-per-node: 1 + option: 'project' parametert: - - project-parameter: - project: '{project}' - branch: '{branch}' + - project-parameter: + project: '{project}' + branch: '{branch}' scm: - - git-scm + - git-scm triggers: - - timed: 'H 23 * * *' + - timed: 'H 23 * * *' builders: - - 'ovn4nfv-build-macro' + - 'ovn4nfv-build-macro' - builder: name: 'ovn4nfv-build-macro' builders: - - shell: | - #!/bin/bash + - shell: | + #!/bin/bash - echo "hello world" + echo "hello world" diff --git a/jjb/ovsnfv/ovsnfv.yml b/jjb/ovsnfv/ovsnfv.yml index 62f6de05a..4a72ac18f 100644 --- a/jjb/ovsnfv/ovsnfv.yml +++ b/jjb/ovsnfv/ovsnfv.yml @@ -1,22 +1,23 @@ +--- - project: name: ovsnfv project: '{name}' jobs: - - 'ovsnfv-verify-{stream}' - - 'ovsnfv-merge-{stream}' - - 'ovsnfv-daily-{stream}' + - 'ovsnfv-verify-{stream}' + - 'ovsnfv-merge-{stream}' + - 'ovsnfv-daily-{stream}' stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - danube: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - danube: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false - job-template: name: 'ovsnfv-verify-{stream}' @@ -24,45 +25,45 @@ disabled: '{obj:disabled}' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-centos-defaults' - - string: - name: GS_URL - default: '$GS_BASE{gs-pathname}' - description: "Directory where the build artifact will be located upon the completion of the build." + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-centos-defaults' + - string: + name: GS_URL + default: '$GS_BASE{gs-pathname}' + description: "Directory where the build artifact will be located upon the completion of the build." scm: - - git-scm-gerrit + - git-scm-gerrit triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - file-paths: - - compare-type: ANT - pattern: 'build/**' - - compare-type: ANT - pattern: 'ci/**' + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + - draft-published-event + - comment-added-contains-event: + comment-contains-value: 'recheck' + - comment-added-contains-event: + comment-contains-value: 'reverify' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + file-paths: + - compare-type: ANT + pattern: 'build/**' + - compare-type: ANT + pattern: 'ci/**' builders: - - build-rpms + - build-rpms - job-template: name: 'ovsnfv-merge-{stream}' @@ -70,44 +71,44 @@ disabled: '{obj:disabled}' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-centos-defaults' - - string: - name: GS_URL - default: '$GS_BASE{gs-pathname}' - description: "Directory where the build artifact will be located upon the completion of the build." + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-centos-defaults' + - string: + name: GS_URL + default: '$GS_BASE{gs-pathname}' + description: "Directory where the build artifact will be located upon the completion of the build." scm: - - git-scm + - git-scm wrappers: - - timeout: - timeout: 24 - fail: true + - timeout: + timeout: 24 + fail: true triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - change-merged-event - - comment-added-contains-event: - comment-contains-value: 'remerge' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - file-paths: - - compare-type: ANT - pattern: 'build/**' - - compare-type: ANT - pattern: 'ci/**' + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - change-merged-event + - comment-added-contains-event: + comment-contains-value: 'remerge' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + file-paths: + - compare-type: ANT + pattern: 'build/**' + - compare-type: ANT + pattern: 'ci/**' builders: - - build-rpms + - build-rpms - job-template: name: 'ovsnfv-daily-{stream}' @@ -115,42 +116,42 @@ disabled: '{obj:disabled}' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-centos-defaults' - - string: - name: GS_URL - default: '$GS_BASE{gs-pathname}' - description: "Directory where the build artifact will be located upon the completion of the build." + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-centos-defaults' + - string: + name: GS_URL + default: '$GS_BASE{gs-pathname}' + description: "Directory where the build artifact will be located upon the completion of the build." scm: - - git-scm + - git-scm wrappers: - - timeout: - timeout: 24 - fail: true + - timeout: + timeout: 24 + fail: true triggers: - - timed: '@midnight' + - timed: '@midnight' builders: - - build-rpms + - build-rpms publishers: - - email: - recipients: therbert@redhat.com mark.d.gray@intel.com billy.o.mahony@intel.com - - email-jenkins-admins-on-failure + - email: + recipients: therbert@redhat.com mark.d.gray@intel.com billy.o.mahony@intel.com + - email-jenkins-admins-on-failure - builder: name: build-rpms builders: - - shell: | - #!/bin/bash - set -o errexit - set -o nounset - set -o pipefail - - cd $WORKSPACE/ci - ./build.sh + - shell: | + #!/bin/bash + set -o errexit + set -o nounset + set -o pipefail + + cd $WORKSPACE/ci + ./build.sh diff --git a/jjb/parser/parser.yml b/jjb/parser/parser.yml index 35e97c3b3..e9a4c9dc7 100644 --- a/jjb/parser/parser.yml +++ b/jjb/parser/parser.yml @@ -1,3 +1,4 @@ +--- ################################################### # All the jobs except verify have been removed! # They will only be enabled on request by projects! @@ -8,17 +9,17 @@ project: '{name}' jobs: - - 'parser-verify-{stream}' + - 'parser-verify-{stream}' stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - danube: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - danube: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false - job-template: name: 'parser-verify-{stream}' @@ -26,52 +27,52 @@ disabled: '{obj:disabled}' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' scm: - - git-scm-gerrit + - git-scm-gerrit triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**' - - compare-type: ANT - pattern: 'governance/**' - - compare-type: ANT - pattern: '*.txt|.gitignore|.gitreview|INFO|LICENSE' + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + - draft-published-event + - comment-added-contains-event: + comment-contains-value: 'recheck' + - comment-added-contains-event: + comment-contains-value: 'reverify' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**' + - compare-type: ANT + pattern: 'governance/**' + - compare-type: ANT + pattern: '*.txt|.gitignore|.gitreview|INFO|LICENSE' builders: - - shell: | - #!/bin/bash - set -o errexit - set -o pipefail - set -o xtrace - export PATH=$PATH:/usr/local/bin/ + - shell: | + #!/bin/bash + set -o errexit + set -o pipefail + set -o xtrace + export PATH=$PATH:/usr/local/bin/ - # ut and pep8 check parser/tosca2heat - echo "Running tox on tosca2heat/tosca-parser ..." - cd $WORKSPACE/tosca2heat/tosca-parser && tox - echo "Running tox on tosca2heat/heat-translator ..." - cd $WORKSPACE/tosca2heat/heat-translator && tox + # ut and pep8 check parser/tosca2heat + echo "Running tox on tosca2heat/tosca-parser ..." + cd $WORKSPACE/tosca2heat/tosca-parser && tox + echo "Running tox on tosca2heat/heat-translator ..." + cd $WORKSPACE/tosca2heat/heat-translator && tox diff --git a/jjb/pharos/pharos.yml b/jjb/pharos/pharos.yml index 12ae5cabe..1009d6497 100644 --- a/jjb/pharos/pharos.yml +++ b/jjb/pharos/pharos.yml @@ -1,3 +1,4 @@ +--- ################################################### # All the jobs except verify have been removed! # They will only be enabled on request by projects! @@ -8,17 +9,17 @@ project: '{name}' jobs: - - 'pharos-verify-{stream}' + - 'pharos-verify-{stream}' stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - danube: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - danube: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false - job-template: name: 'pharos-verify-{stream}' @@ -26,38 +27,38 @@ disabled: '{obj:disabled}' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' scm: - - git-scm-gerrit + - git-scm-gerrit triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**|.gitignore' + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + - draft-published-event + - comment-added-contains-event: + comment-contains-value: 'recheck' + - comment-added-contains-event: + comment-contains-value: 'reverify' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**|.gitignore' builders: - - shell: | - echo "Nothing to verify!" + - shell: | + echo "Nothing to verify!" diff --git a/jjb/prediction/prediction.yml b/jjb/prediction/prediction.yml index a153a9bb0..09f9700b7 100644 --- a/jjb/prediction/prediction.yml +++ b/jjb/prediction/prediction.yml @@ -1,3 +1,4 @@ +--- ################################################### # All the jobs except verify have been removed! # They will only be enabled on request by projects! @@ -8,17 +9,17 @@ project: '{name}' jobs: - - 'prediction-verify-{stream}' + - 'prediction-verify-{stream}' stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - danube: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - danube: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false - job-template: name: 'prediction-verify-{stream}' @@ -26,38 +27,38 @@ disabled: '{obj:disabled}' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' scm: - - git-scm-gerrit + - git-scm-gerrit triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**|.gitignore' + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + - draft-published-event + - comment-added-contains-event: + comment-contains-value: 'recheck' + - comment-added-contains-event: + comment-contains-value: 'reverify' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**|.gitignore' builders: - - shell: | - echo "Nothing to verify!" + - shell: | + echo "Nothing to verify!" diff --git a/jjb/promise/promise.yml b/jjb/promise/promise.yml index eeace5f78..3e328dc84 100644 --- a/jjb/promise/promise.yml +++ b/jjb/promise/promise.yml @@ -1,3 +1,4 @@ +--- ################################################### # All the jobs except verify have been removed! # They will only be enabled on request by projects! @@ -8,17 +9,17 @@ project: '{name}' jobs: - - 'promise-verify-{stream}' + - 'promise-verify-{stream}' stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - danube: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - danube: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false - job-template: name: 'promise-verify-{stream}' @@ -26,38 +27,38 @@ disabled: '{obj:disabled}' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' scm: - - git-scm-gerrit + - git-scm-gerrit triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**|.gitignore' + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + - draft-published-event + - comment-added-contains-event: + comment-contains-value: 'recheck' + - comment-added-contains-event: + comment-contains-value: 'reverify' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**|.gitignore' builders: - - shell: | - echo "Nothing to verify!" + - shell: | + echo "Nothing to verify!" diff --git a/jjb/qtip/qtip-experimental-jobs.yml b/jjb/qtip/qtip-experimental-jobs.yml index 05445d898..23e441a1c 100644 --- a/jjb/qtip/qtip-experimental-jobs.yml +++ b/jjb/qtip/qtip-experimental-jobs.yml @@ -1,3 +1,4 @@ +--- ########################################### # Experimental jobs for development purpose ########################################### @@ -6,12 +7,12 @@ name: qtip-experimental-jobs project: qtip jobs: - - 'qtip-experimental-{stream}' + - 'qtip-experimental-{stream}' stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false ################################ ## job templates @@ -23,22 +24,22 @@ disabled: '{obj:disabled}' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - # Pin the tests on zte-pod4 with apex deployment - - apex-defaults - - zte-pod4-defaults + - project-parameter: + project: '{project}' + branch: '{branch}' + # Pin the tests on zte-pod4 with apex deployment + - apex-defaults + - zte-pod4-defaults scm: - - git-scm-gerrit + - git-scm-gerrit triggers: - - experimental: - project: '{project}' - branch: '{branch}' - files: '**' + - experimental: + project: '{project}' + branch: '{branch}' + files: '**' builders: - - shell: | - #!/bin/bash - source tests/ci/experimental.sh + - shell: | + #!/bin/bash + source tests/ci/experimental.sh diff --git a/jjb/qtip/qtip-validate-jobs.yml b/jjb/qtip/qtip-validate-jobs.yml index e64173ca7..b63782b8c 100644 --- a/jjb/qtip/qtip-validate-jobs.yml +++ b/jjb/qtip/qtip-validate-jobs.yml @@ -1,3 +1,4 @@ +--- ####################### # validate after MERGE ####################### @@ -5,33 +6,33 @@ name: qtip project: qtip -#-------------------------------- -# BRANCH ANCHORS -#-------------------------------- + # ------------------------------- + # BRANCH ANCHORS + # ------------------------------- master: &master - stream: master - branch: '{stream}' - gs-pathname: '' - docker-tag: latest + stream: master + branch: '{stream}' + gs-pathname: '' + docker-tag: latest -#-------------------------------- -# JOB VARIABLES -#-------------------------------- + # ------------------------------- + # JOB VARIABLES + # ------------------------------- qpi: - - compute: - installer: apex - pod: zte-pod4 - <<: *master - - storage: - installer: apex - pod: zte-pod4 - <<: *master + - compute: + installer: apex + pod: zte-pod4 + <<: *master + - storage: + installer: apex + pod: zte-pod4 + <<: *master -#-------------------------------- -# JOB LIST -#-------------------------------- + # ------------------------------- + # JOB LIST + # ------------------------------- jobs: - - 'qtip-{qpi}-{installer}-{stream}' + - 'qtip-{qpi}-{installer}-{stream}' ################################ # job templates @@ -40,66 +41,69 @@ name: 'qtip-{qpi}-{installer}-{stream}' disabled: false parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{installer}-defaults' - - '{pod}-defaults' - - string: - name: DEPLOY_SCENARIO - default: generic - - string: - name: DOCKER_TAG - default: '{docker-tag}' - description: 'Tag to pull docker image' - - string: - name: CI_DEBUG - default: 'false' - description: "Show debug output information" - - string: - name: TEST_SUITE - default: '{qpi}' + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{installer}-defaults' + - '{pod}-defaults' + - string: + name: DEPLOY_SCENARIO + default: generic + - string: + name: DOCKER_TAG + default: '{docker-tag}' + description: 'Tag to pull docker image' + - string: + name: CI_DEBUG + default: 'false' + description: "Show debug output information" + - string: + name: TEST_SUITE + default: '{qpi}' scm: - - git-scm + - git-scm + triggers: - - 'qtip-daily' + - 'qtip-daily' + builders: - - description-setter: - description: "POD: $NODE_NAME" - - shell: | - #!/bin/bash - source tests/ci/periodic.sh + - description-setter: + description: "POD: $NODE_NAME" + - shell: | + #!/bin/bash + source tests/ci/periodic.sh + publishers: - - qtip-common-publishers - - email-jenkins-admins-on-failure + - qtip-common-publishers + - email-jenkins-admins-on-failure ################ # MARCOS ################ -#--------- +# -------- # builder -#--------- +# -------- -#----------- +# ---------- # parameter -#----------- +# ---------- -#----------- +# ---------- # publisher -#----------- +# ---------- - publisher: name: qtip-common-publishers publishers: - - email: - recipients: wu.zhihui1@zte.com.cn, zhang.yujunz@zte.com.cn + - email: + recipients: wu.zhihui1@zte.com.cn, zhang.yujunz@zte.com.cn -#--------- +# -------- # trigger -#--------- +# -------- - trigger: name: 'qtip-daily' triggers: - - timed: '0 15 * * *' + - timed: '0 15 * * *' diff --git a/jjb/qtip/qtip-verify-jobs.yml b/jjb/qtip/qtip-verify-jobs.yml index a273c858f..26a97066f 100644 --- a/jjb/qtip/qtip-verify-jobs.yml +++ b/jjb/qtip/qtip-verify-jobs.yml @@ -1,3 +1,4 @@ +--- ###################### # verify before MERGE ###################### @@ -6,18 +7,18 @@ name: qtip-verify-jobs project: qtip jobs: - - 'qtip-verify-{stream}' - - 'qtip-review-notebook-{stream}' - - 'qtip-merge-{stream}' + - 'qtip-verify-{stream}' + - 'qtip-review-notebook-{stream}' + - 'qtip-merge-{stream}' stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - danube: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - danube: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false ################################ ## job templates @@ -28,43 +29,43 @@ disabled: '{obj:disabled}' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' scm: - - git-scm-gerrit + - git-scm-gerrit triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**|.gitignore' + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + - draft-published-event + - comment-added-contains-event: + comment-contains-value: 'recheck' + - comment-added-contains-event: + comment-contains-value: 'reverify' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**|.gitignore' builders: - - qtip-unit-tests-and-docs-build + - qtip-unit-tests-and-docs-build publishers: - - publish-coverage - - email-jenkins-admins-on-failure + - publish-coverage + - email-jenkins-admins-on-failure # upload juypter notebook to artifacts for review - job-template: @@ -73,40 +74,41 @@ disabled: '{obj:disabled}' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' scm: - - git-scm-gerrit + - git-scm-gerrit triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - disable-strict-forbidden-file-verification: 'true' - file-paths: - - compare-type: ANT - pattern: 'examples/**' + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + - draft-published-event + - comment-added-contains-event: + comment-contains-value: 'recheck' + - comment-added-contains-event: + comment-contains-value: 'reverify' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + disable-strict-forbidden-file-verification: 'true' + file-paths: + - compare-type: ANT + pattern: 'examples/**' + builders: - - upload-under-review-notebooks-to-opnfv-artifacts - - report-build-result-to-gerrit + - upload-under-review-notebooks-to-opnfv-artifacts + - report-build-result-to-gerrit - job-template: name: 'qtip-merge-{stream}' @@ -114,40 +116,40 @@ disabled: '{obj:disabled}' parameters: - - project-parameter: - project: $GERRIT_PROJECT - branch: '{branch}' - - string: - name: GS_URL - default: '$GS_BASE{gs-pathname}' - description: "Directory where the build artifact will be located upon the completion of the build." - - string: - name: GERRIT_REFSPEC - default: 'refs/heads/{branch}' - description: "JJB configured GERRIT_REFSPEC parameter" + - project-parameter: + project: $GERRIT_PROJECT + branch: '{branch}' + - string: + name: GS_URL + default: '$GS_BASE{gs-pathname}' + description: "Directory where the build artifact will be located upon the completion of the build." + - string: + name: GERRIT_REFSPEC + default: 'refs/heads/{branch}' + description: "JJB configured GERRIT_REFSPEC parameter" scm: - - git-scm + - git-scm triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - change-merged-event - - comment-added-contains-event: - comment-contains-value: 'remerge' - projects: - - project-compare-type: 'ANT' - project-pattern: '*' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - file-paths: - - compare-type: ANT - pattern: examples/** + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - change-merged-event + - comment-added-contains-event: + comment-contains-value: 'remerge' + projects: + - project-compare-type: 'ANT' + project-pattern: '*' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + file-paths: + - compare-type: ANT + pattern: examples/** builders: - - remove-old-docs-from-opnfv-artifacts + - remove-old-docs-from-opnfv-artifacts ################################ ## job builders @@ -155,42 +157,43 @@ - builder: name: qtip-unit-tests-and-docs-build builders: - - shell: | - #!/bin/bash - set -o errexit - set -o pipefail - set -o xtrace + - shell: | + #!/bin/bash + set -o errexit + set -o pipefail + set -o xtrace - tox + tox -# modified from upload-under-review-docs-to-opnfv-artifacts in global/releng-macro.yml +# modified from upload-under-review-docs-to-opnfv-artifacts +# in global/releng-macro.yml - builder: name: upload-under-review-notebooks-to-opnfv-artifacts builders: - - shell: | - #!/bin/bash - set -o errexit - set -o pipefail - set -o xtrace - export PATH=$PATH:/usr/local/bin/ - - [[ $GERRIT_CHANGE_NUMBER =~ .+ ]] - [[ -d examples ]] || exit 0 - - echo - echo "###########################" - echo "UPLOADING DOCS UNDER REVIEW" - echo "###########################" - echo - - gs_base="artifacts.opnfv.org/$PROJECT/review" - gs_path="$gs_base/$GERRIT_CHANGE_NUMBER" - local_path="upload/$GERRIT_CHANGE_NUMBER" - - mkdir -p upload - cp -r examples "$local_path" - gsutil -m cp -r "$local_path" "gs://$gs_base/" - - echo "Document link(s):" >> gerrit_comment.txt - find "$local_path" | grep -e 'ipynb$' | \ - sed -e "s|^$local_path| https://nbviewer.jupyter.org/url/$gs_path|" >> gerrit_comment.txt + - shell: | + #!/bin/bash + set -o errexit + set -o pipefail + set -o xtrace + export PATH=$PATH:/usr/local/bin/ + + [[ $GERRIT_CHANGE_NUMBER =~ .+ ]] + [[ -d examples ]] || exit 0 + + echo + echo "###########################" + echo "UPLOADING DOCS UNDER REVIEW" + echo "###########################" + echo + + gs_base="artifacts.opnfv.org/$PROJECT/review" + gs_path="$gs_base/$GERRIT_CHANGE_NUMBER" + local_path="upload/$GERRIT_CHANGE_NUMBER" + + mkdir -p upload + cp -r examples "$local_path" + gsutil -m cp -r "$local_path" "gs://$gs_base/" + + echo "Document link(s):" >> gerrit_comment.txt + find "$local_path" | grep -e 'ipynb$' | \ + sed -e "s|^$local_path| https://nbviewer.jupyter.org/url/$gs_path|" >> gerrit_comment.txt diff --git a/jjb/releng/automate.yml b/jjb/releng/automate.yml index c6ca37fa9..908e9a196 100644 --- a/jjb/releng/automate.yml +++ b/jjb/releng/automate.yml @@ -247,7 +247,7 @@ builders: - shell: | sudo bash ./jjb/releng/docker-deploy.sh "sudo docker run -itd --name reporting -p 8084:8000 opnfv/reporting" \ - "http://testresults.opnfv.org/reporting2/reporting/index.html" "reporting" + "http://testresults.opnfv.org/reporting/index.html" "reporting" - builder: name: mongodb-backup diff --git a/jjb/releng/generate-job-list.sh b/jjb/releng/generate-job-list.sh new file mode 100755 index 000000000..4bf8974e4 --- /dev/null +++ b/jjb/releng/generate-job-list.sh @@ -0,0 +1,70 @@ +#!/bin/bash +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2016 Linux Foundation 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 + +# Job Number Formatter +function JOBS { + local NUMS=$1 + if [ $NUMS == 1 ]; then + echo -n "Job" + else + echo -n "Jobs" + fi +} + +# Activiate the virtualenv so we have access to 'jenkins-jobs' +source /opt/virtualenv/jenkins-job-builder/bin/activate + +echo "> Generating list of current JJB jobs..." +jenkins-jobs -l ERROR test -r jjb -o job_output + +echo "> Generating list of previous JJB jobs..." +git checkout -b previous-commit HEAD^ +jenkins-jobs -l ERROR test -r jjb -o job_output_prev +git checkout - && git branch -d previous-commit + +echo "> Finding job changes ..." +diff -r -q job_output job_output_prev &> job_diff.txt || true + +# Only in (job_output) = NEW +# Only in (job_output_prev) = DELETED +# Files ... differ = MODIFIED + +declare -a JOBS_ADDED=($(grep 'job_output:' job_diff.txt | cut -d':' -f2- | sed 's/^[ \t]*//;s/[ \t]*$//')) +declare -a JOBS_MODIFIED=($(grep 'differ$' job_diff.txt | sed "s/Files job_output\/\(.*\) and.*/\1/g")) +declare -a JOBS_REMOVED=($(grep 'job_output_prev:' job_diff.txt | cut -d ':' -f2- | sed 's/^[ \t]*//;s/[ \t]*$//')) + +NUM_JOBS_ADDED=${#JOBS_ADDED[@]} +NUM_JOBS_MODIFIED=${#JOBS_MODIFIED[@]} +NUM_JOBS_REMOVED=${#JOBS_REMOVED[@]} + +echo "> Writing gerrit comment ..." +if [ $NUM_JOBS_ADDED -gt 0 ]; then + JOB_STRING="$(JOBS $NUM_JOBS_ADDED)" + { printf "Added %s %s:\n\n" "${NUM_JOBS_ADDED}" "$JOB_STRING"; + printf '* %s\n' "${JOBS_ADDED[@]}"; + printf "\n"; } >> gerrit_comment.txt +fi + +if [ $NUM_JOBS_MODIFIED -gt 0 ]; then + JOB_STRING="$(JOBS $NUM_JOBS_MODIFIED)" + { printf "Modified %s %s:\n\n" "${NUM_JOBS_MODIFIED}" "$JOB_STRING"; + printf '* %s\n' "${JOBS_MODIFIED[@]}"; + printf "\n"; } >> gerrit_comment.txt +fi + +if [ $NUM_JOBS_REMOVED -gt 0 ]; then + JOB_STRING="$(JOBS $NUM_JOBS_REMOVED)" + { printf "Removed %s %s:\n\n" "${NUM_JOBS_REMOVED}" "$JOB_STRING"; + printf '* %s\n' "${JOBS_REMOVED[@]}"; + printf "\n"; } >> gerrit_comment.txt +fi diff --git a/jjb/releng/opnfv-docker-arm.yml b/jjb/releng/opnfv-docker-arm.yml index d70640a7c..21d569880 100644 --- a/jjb/releng/opnfv-docker-arm.yml +++ b/jjb/releng/opnfv-docker-arm.yml @@ -23,27 +23,89 @@ cristina.pauna@enea.com alexandru.avadanii@enea.com alexandru.nemes@enea.com + storperf-arm-receivers: &storperf-arm-receivers + receivers: > + cristina.pauna@enea.com + alexandru.avadanii@enea.com + mark.beierl@emc.com + yardstick-arm-receivers: &yardstick-arm-receivers + receivers: > + cristina.pauna@enea.com + alexandru.avadanii@enea.com + alexandru.nemes@enea.com + catalina.focsa@enea.com other-receivers: &other-receivers receivers: '' - project: + dockerfile: "Dockerfile.aarch64" + dockerdir: "docker" + docker_repo_name: "opnfv/{project}_aarch64" + arch_tag: "" + + dockerrepo: # projects with jobs for master - 'functest': + project: 'functest' <<: *master <<: *functest-arm-receivers - 'dovetail': + project: 'dovetail' <<: *master <<: *dovetail-arm-receivers + - 'storperf-master': + project: 'storperf' + dockerdir: 'docker/storperf-master' + dockerfile: 'Dockerfile' + docker_repo_name: 'opnfv/storperf-master' + arch_tag: 'aarch64' + <<: *master + <<: *storperf-arm-receivers + - 'storperf-graphite': + project: 'storperf' + dockerdir: 'docker/storperf-graphite' + dockerfile: 'Dockerfile' + docker_repo_name: 'opnfv/storperf-graphite' + arch_tag: 'aarch64' + <<: *master + <<: *storperf-arm-receivers + - 'storperf-httpfrontend': + project: 'storperf' + dockerdir: 'docker/storperf-httpfrontend' + dockerfile: 'Dockerfile' + docker_repo_name: 'opnfv/storperf-httpfrontend' + arch_tag: 'aarch64' + <<: *master + <<: *storperf-arm-receivers + - 'storperf-reporting': + project: 'storperf' + dockerdir: 'docker/storperf-reporting' + dockerfile: 'Dockerfile' + docker_repo_name: 'opnfv/storperf-reporting' + arch_tag: 'aarch64' + <<: *master + <<: *storperf-arm-receivers + - 'storperf-swaggerui': + project: 'storperf' + dockerdir: 'docker/storperf-swaggerui' + dockerfile: 'Dockerfile' + docker_repo_name: 'opnfv/storperf-swaggerui' + arch_tag: 'aarch64' + <<: *master + <<: *storperf-arm-receivers + - 'yardstick': + project: 'yardstick' + <<: *master + <<: *yardstick-arm-receivers # projects with jobs for stable jobs: - - '{project}-docker-build-arm-push-{stream}' + - '{dockerrepo}-docker-build-arm-push-{stream}' ######################## # job templates ######################## - job-template: - name: '{project}-docker-build-arm-push-{stream}' + name: '{dockerrepo}-docker-build-arm-push-{stream}' disabled: '{obj:disabled}' @@ -58,7 +120,7 @@ description: "To enable/disable pushing the image to Dockerhub." - string: name: DOCKER_REPO_NAME - default: "opnfv/{project}_aarch64" + default: "{docker_repo_name}" description: "Dockerhub repo to be pushed to." - string: name: RELEASE_VERSION @@ -66,12 +128,16 @@ description: "Release version, e.g. 1.0, 2.0, 3.0" - string: name: DOCKER_DIR - default: "docker" + default: "{dockerdir}" description: "Directory containing files needed by the Dockerfile" - string: name: DOCKERFILE - default: "Dockerfile.aarch64" + default: "{dockerfile}" description: "Dockerfile to use for creating the image." + - string: + name: ARCH_TAG + default: "{arch_tag}" + description: "If set, this value will be added to the docker image tag" scm: - git-scm diff --git a/jjb/releng/opnfv-docker.sh b/jjb/releng/opnfv-docker.sh index 0de3df28e..b03505e81 100644 --- a/jjb/releng/opnfv-docker.sh +++ b/jjb/releng/opnfv-docker.sh @@ -89,11 +89,19 @@ if [[ -n "${COMMIT_ID-}" && -n "${RELEASE_VERSION-}" ]]; then BUILD_BRANCH=$COMMIT_ID fi +ARCH_BUILD_ARG="" +ARCH_TAG=${ARCH_TAG:-} +if [[ -n "${ARCH_TAG}" ]]; then + DOCKER_TAG=${ARCH_TAG}-${DOCKER_TAG} + ARCH_BUILD_ARG="--build-arg ARCH=${ARCH_TAG}" +fi + # Start the build echo "Building docker image: $DOCKER_REPO_NAME:$DOCKER_TAG" echo "--------------------------------------------------------" echo cmd="docker build --no-cache -t $DOCKER_REPO_NAME:$DOCKER_TAG --build-arg BRANCH=$BUILD_BRANCH + $ARCH_BUILD_ARG -f $DOCKERFILE ." echo ${cmd} diff --git a/jjb/releng/opnfv-docker.yml b/jjb/releng/opnfv-docker.yml index 414eba255..649591562 100644 --- a/jjb/releng/opnfv-docker.yml +++ b/jjb/releng/opnfv-docker.yml @@ -20,11 +20,15 @@ cedric.ollivier@orange.com feng.xiaowei@zte.com.cn yaohelan@huawei.com helanyao@gmail.com juha.kosonen@nokia.com + storperf-receivers: &storperf-receivers + receivers: > + mark.beierl@emc.com other-receivers: &other-receivers receivers: '' dockerfile: "Dockerfile" dockerdir: "docker" + arch_tag: "" # This is the dockerhub repo the image will be pushed to as # 'opnfv/{dockerrepo}. See: DOCKER_REPO_NAME parameter. @@ -51,6 +55,10 @@ project: 'functest' <<: *master <<: *functest-receivers + - 'nfvbench': + project: 'nfvbench' + <<: *master + <<: *other-receivers - 'qtip': project: 'qtip' <<: *master @@ -58,28 +66,33 @@ - 'storperf-master': project: 'storperf' dockerdir: 'docker/storperf-master' + arch_tag: 'x86_64' <<: *master - <<: *other-receivers + <<: *storperf-receivers - 'storperf-graphite': project: 'storperf' dockerdir: 'docker/storperf-graphite' + arch_tag: 'x86_64' <<: *master - <<: *other-receivers + <<: *storperf-receivers - 'storperf-httpfrontend': project: 'storperf' dockerdir: 'docker/storperf-httpfrontend' + arch_tag: 'x86_64' <<: *master - <<: *other-receivers + <<: *storperf-receivers - 'storperf-reporting': project: 'storperf' dockerdir: 'docker/storperf-reporting' + arch_tag: 'x86_64' <<: *master - <<: *other-receivers + <<: *storperf-receivers - 'storperf-swaggerui': project: 'storperf' dockerdir: 'docker/storperf-swaggerui' + arch_tag: 'x86_64' <<: *master - <<: *other-receivers + <<: *storperf-receivers - 'yardstick': project: 'yardstick' <<: *master @@ -116,6 +129,7 @@ dockerfile: "Dockerfile" dockerdir: "docker" + arch_tag: "" project: # projects with jobs for master @@ -166,6 +180,10 @@ name: DOCKERFILE default: "{dockerfile}" description: "Dockerfile to use for creating the image." + - string: + name: ARCH_TAG + default: "{arch_tag}" + description: "If set, this value will be added to the docker image tag as a prefix" scm: - git-scm diff --git a/jjb/releng/releng-ci-jobs.yml b/jjb/releng/releng-ci-jobs.yml index dc9bfd5dc..fd58ef2b8 100644 --- a/jjb/releng/releng-ci-jobs.yml +++ b/jjb/releng/releng-ci-jobs.yml @@ -3,6 +3,7 @@ jobs: - 'releng-verify-jjb' - 'releng-merge-jjb' + - 'releng-comment-jjb' - 'releng-generate-artifacts-api' project: 'releng' @@ -55,6 +56,27 @@ - email-jenkins-admins-on-failure - job-template: + name: releng-comment-jjb + + parameters: + - project-parameter: + project: '{project}' + branch: 'master' + scm: + - git-scm-gerrit + + triggers: + - experimental: + project: '{project}' + branch: 'master' + files: 'jjb/**' + + builders: + - shell: + !include-raw-escape: generate-job-list.sh + - report-build-result-to-gerrit + +- job-template: name: 'releng-merge-jjb' # builder-merge job to run JJB update diff --git a/jjb/storperf/storperf-verify-jobs.yml b/jjb/storperf/storperf-verify-jobs.yml index 55c4e4ce0..f99ceeacb 100644 --- a/jjb/storperf/storperf-verify-jobs.yml +++ b/jjb/storperf/storperf-verify-jobs.yml @@ -122,7 +122,7 @@ wrappers: - ssh-agent-wrapper - build-timeout: - timeout: 30 + timeout: 60 parameters: - project-parameter: diff --git a/jjb/ves/ves.yml b/jjb/ves/ves.yml index e6243f32c..2d21aa5be 100644 --- a/jjb/ves/ves.yml +++ b/jjb/ves/ves.yml @@ -1,3 +1,4 @@ +--- ################################################### # All the jobs except verify have been removed! # They will only be enabled on request by projects! @@ -8,17 +9,17 @@ project: '{name}' jobs: - - 'ves-verify-{stream}' + - 'ves-verify-{stream}' stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - danube: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - danube: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false - job-template: name: 'ves-verify-{stream}' @@ -26,44 +27,44 @@ disabled: '{obj:disabled}' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' scm: - - git-scm-gerrit + - git-scm-gerrit triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**|.gitignore' + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + - draft-published-event + - comment-added-contains-event: + comment-contains-value: 'recheck' + - comment-added-contains-event: + comment-contains-value: 'reverify' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**|.gitignore' builders: - - shell: | - #!/bin/bash - set -o errexit - set -o nounset - set -o pipefail + - shell: | + #!/bin/bash + set -o errexit + set -o nounset + set -o pipefail - # shellcheck -f tty tests/*.sh - # shellcheck -f tty utils/*.sh + # shellcheck -f tty tests/*.sh + # shellcheck -f tty utils/*.sh diff --git a/jjb/vswitchperf/vswitchperf.yml b/jjb/vswitchperf/vswitchperf.yml index c5c81c898..d05f4c1ee 100644 --- a/jjb/vswitchperf/vswitchperf.yml +++ b/jjb/vswitchperf/vswitchperf.yml @@ -1,3 +1,4 @@ +--- - project: name: vswitchperf @@ -5,21 +6,21 @@ project: '{name}' jobs: - - 'vswitchperf-verify-{stream}' - - 'vswitchperf-merge-{stream}' - - 'vswitchperf-daily-{stream}' + - 'vswitchperf-verify-{stream}' + - 'vswitchperf-merge-{stream}' + - 'vswitchperf-daily-{stream}' stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - slave-label: 'opnfv-build-ubuntu' - - danube: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false - slave-label: 'opnfv-build-ubuntu' + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + slave-label: 'opnfv-build-ubuntu' + - danube: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + slave-label: 'opnfv-build-ubuntu' - job-template: @@ -28,28 +29,28 @@ disabled: '{obj:disabled}' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'intel-pod12-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'intel-pod12-defaults' scm: - - git-scm + - git-scm triggers: - - pollscm: - cron: '@midnight' + - pollscm: + cron: '@midnight' builders: - - shell: | - pwd - cd src - make clobber - make MORE_MAKE_FLAGS="-j 10" - # run basic sanity test - make sanity - cd ../ci - scl enable python33 "source ~/vsperfenv/bin/activate ; ./build-vsperf.sh daily" + - shell: | + pwd + cd src + make clobber + make MORE_MAKE_FLAGS="-j 10" + # run basic sanity test + make sanity + cd ../ci + scl enable python33 "source ~/vsperfenv/bin/activate ; ./build-vsperf.sh daily" - job-template: name: 'vswitchperf-verify-{stream}' @@ -61,57 +62,57 @@ concurrent: true properties: - - logrotate-default - - build-blocker: - use-build-blocker: true - blocking-jobs: - - 'vswitchperf-verify-.*' - - 'vswitchperf-merge-.*' - block-level: 'NODE' + - logrotate-default + - build-blocker: + use-build-blocker: true + blocking-jobs: + - 'vswitchperf-verify-.*' + - 'vswitchperf-merge-.*' + block-level: 'NODE' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{slave-label}-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{slave-label}-defaults' scm: - - git-scm-gerrit + - git-scm-gerrit triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**' + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + - draft-published-event + - comment-added-contains-event: + comment-contains-value: 'recheck' + - comment-added-contains-event: + comment-contains-value: 'reverify' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**' builders: - - shell: | - pwd - cd src - make clobber - make MORE_MAKE_FLAGS="-j 5" - # run basic sanity test - make sanity - cd ../ci - ./build-vsperf.sh verify + - shell: | + pwd + cd src + make clobber + make MORE_MAKE_FLAGS="-j 5" + # run basic sanity test + make sanity + cd ../ci + ./build-vsperf.sh verify - job-template: name: 'vswitchperf-merge-{stream}' @@ -123,46 +124,46 @@ concurrent: true properties: - - logrotate-default - - build-blocker: - use-build-blocker: true - blocking-jobs: - - 'vswitchperf-verify-.*' - - 'vswitchperf-merge-.*' - block-level: 'NODE' + - logrotate-default + - build-blocker: + use-build-blocker: true + blocking-jobs: + - 'vswitchperf-verify-.*' + - 'vswitchperf-merge-.*' + block-level: 'NODE' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{slave-label}-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{slave-label}-defaults' scm: - - git-scm + - git-scm triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - change-merged-event - - comment-added-contains-event: - comment-contains-value: 'remerge' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**' + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - change-merged-event + - comment-added-contains-event: + comment-contains-value: 'remerge' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**' builders: - - shell: | - pwd - cd src - make clobber - make MORE_MAKE_FLAGS="-j 5" - cd ../ci - ./build-vsperf.sh merge + - shell: | + pwd + cd src + make clobber + make MORE_MAKE_FLAGS="-j 5" + cd ../ci + ./build-vsperf.sh merge diff --git a/jjb/xci/bifrost-periodic-jobs.yml b/jjb/xci/bifrost-periodic-jobs.yml index a1892fc5f..67151891f 100644 --- a/jjb/xci/bifrost-periodic-jobs.yml +++ b/jjb/xci/bifrost-periodic-jobs.yml @@ -120,9 +120,6 @@ name: SLAVE_LABEL default: '{slave-label}' - string: - name: ANSIBLE_VERBOSITY - default: '' - - string: name: XCI_LOOP default: 'periodic' diff --git a/jjb/xci/bifrost-verify-jobs.yml b/jjb/xci/bifrost-verify-jobs.yml index af51c2b79..f9106831c 100644 --- a/jjb/xci/bifrost-verify-jobs.yml +++ b/jjb/xci/bifrost-verify-jobs.yml @@ -21,19 +21,19 @@ #-------------------------------- distro: - 'xenial': - disabled: false + disabled: true dib-os-release: 'xenial' dib-os-element: 'ubuntu-minimal' dib-os-packages: 'vlan,vim,less,bridge-utils,language-pack-en,iputils-ping,rsyslog,curl' extra-dib-elements: 'openssh-server' - 'centos7': - disabled: false + disabled: true dib-os-release: '7' dib-os-element: 'centos-minimal' dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl' extra-dib-elements: 'openssh-server' - 'suse': - disabled: false + disabled: true dib-os-release: '42.3' dib-os-element: 'opensuse-minimal' dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl' @@ -138,9 +138,6 @@ name: BIFROST_LOG_URL default: 'http://artifacts.opnfv.org/cross-community-ci/openstack/bifrost/$GERRIT_NAME/$GERRIT_CHANGE_NUMBER/$GERRIT_PATCHSET_NUMBER/$JOB_NAME' - string: - name: ANSIBLE_VERBOSITY - default: '-vvvv' - - string: name: XCI_LOOP default: 'verify' diff --git a/jjb/xci/osa-periodic-jobs.yml b/jjb/xci/osa-periodic-jobs.yml index 7311baab4..86910ac4f 100644 --- a/jjb/xci/osa-periodic-jobs.yml +++ b/jjb/xci/osa-periodic-jobs.yml @@ -162,9 +162,6 @@ name: FUNCTEST_SUITE_NAME default: 'healthcheck' - string: - name: ANSIBLE_VERBOSITY - default: '-vvvv' - - string: name: FORCE_MASTER default: 'true' - string: diff --git a/jjb/xci/xci-daily-jobs.yml b/jjb/xci/xci-daily-jobs.yml index c39d07e39..64659da40 100644 --- a/jjb/xci/xci-daily-jobs.yml +++ b/jjb/xci/xci-daily-jobs.yml @@ -209,12 +209,15 @@ name: SLAVE_LABEL default: '{slave-label}' - string: - name: ANSIBLE_VERBOSITY - default: '' - - string: name: XCI_LOOP default: 'daily' - + - string: + name: INSTALLER_TYPE + default: 'osa' + - string: + name: FUNCTEST_SUITE_NAME + default: 'daily' + description: "Daily suite name to run" builders: - description-setter: description: "Built on $NODE_NAME - Scenario: $DEPLOY_SCENARIO" @@ -232,5 +235,16 @@ - builder: name: xci-functest-builder builders: - - shell: - !include-raw: ./xci-functest.sh + - shell: | + #!/bin/bash + + echo "Hello World!" + +# this will be enabled once the xci is prepared +#- builder: +# name: xci-functest-builder +# builders: +# - shell: +# !include-raw: +# - ../../utils/fetch_os_creds.sh +# - ../functest/functest-alpine.sh diff --git a/jjb/xci/xci-functest.sh b/jjb/xci/xci-functest.sh deleted file mode 100755 index 0f58dfefc..000000000 --- a/jjb/xci/xci-functest.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -echo "Functional testing with functest" diff --git a/jjb/xci/xci-verify-jobs.yml b/jjb/xci/xci-verify-jobs.yml index 61d25585c..f0a673bd8 100644 --- a/jjb/xci/xci-verify-jobs.yml +++ b/jjb/xci/xci-verify-jobs.yml @@ -87,7 +87,10 @@ branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' - disable-strict-forbidden-file-verification: 'false' + disable-strict-forbidden-file-verification: 'true' + file-paths: + - compare-type: ANT + pattern: 'xci/**' forbidden-file-paths: - compare-type: ANT pattern: 'bifrost/**' @@ -97,6 +100,8 @@ pattern: 'upstream/**' - compare-type: ANT pattern: '**/README.rst' + - compare-type: ANT + pattern: 'docs/**' readable-message: true parameters: @@ -177,8 +182,8 @@ name: OPNFV_RELENG_DEV_PATH default: $WORKSPACE/ - string: - name: ANSIBLE_VERBOSITY - default: '-vvvv' + name: INSTALLER_TYPE + default: 'osa' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -207,6 +212,12 @@ - shell: | #!/bin/bash + # skip the deployment if the patch doesn't impact the deployment + if [[ "$GERRIT_TOPIC" =~ 'skip-verify' ]]; then + echo "Skipping the deployment!" + exit 0 + fi + # for some reason, the PATH is not set correctly # setting PATH for ansible stuff export PATH=/home/jenkins/.local/bin:$PATH @@ -214,10 +225,26 @@ cd $WORKSPACE/xci ./xci-deploy.sh + - builder: name: 'xci-verify-healthcheck-macro' builders: - shell: | #!/bin/bash + # skip the healthcheck if the patch doesn't impact the deployment + if [[ "$GERRIT_TOPIC" =~ 'skip-verify' ]]; then + echo "Skipping the healthcheck!" + exit 0 + fi + echo "Hello World!" + +# this will be enabled once the xci is prepared +#- builder: +# name: 'xci-verify-healthcheck-macro' +# builders: +# - shell: +# !include-raw: ../../utils/fetch_os_creds.sh +# - shell: +# !include-raw: ../functest/functest-alpine.sh diff --git a/jjb/yardstick/yardstick-cleanup.sh b/jjb/yardstick/yardstick-cleanup.sh index 51455b593..47bf9bd10 100755 --- a/jjb/yardstick/yardstick-cleanup.sh +++ b/jjb/yardstick/yardstick-cleanup.sh @@ -1,36 +1,36 @@ #!/bin/bash -[[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null" +[[ ${CI_DEBUG} == true ]] && redirect="/dev/stdout" || redirect="/dev/null" # Remove containers along with image opnfv/yardstick*:<none> -dangling_images=($(docker images -f "dangling=true" | grep opnfv/yardstick | awk '{print $3}')) -if [[ -n ${dangling_images} ]]; then +dangling_images=($(docker images -f "dangling=true" | awk '/opnfv[/]yardstick/ {print $3}')) +if [[ ${#dangling_images[@]} -eq 0 ]] ; then echo "Removing opnfv/yardstick:<none> images and their containers..." for image_id in "${dangling_images[@]}"; do echo " Removing image_id: $image_id and its containers" - containers=$(docker ps -a | grep $image_id | awk '{print $1}') + containers=$(docker ps -a | awk "/${image_id}/ {print \$1}") if [[ -n "$containers" ]];then - docker rm -f $containers >${redirect} + docker rm -f "${containers}" >${redirect} fi - docker rmi $image_id >${redirect} + docker rmi "${image_id}" >${redirect} done fi echo "Cleaning up docker containers/images..." # Remove previous running containers if exist -if [[ ! -z $(docker ps -a | grep opnfv/yardstick) ]]; then +if docker ps -a | grep -q opnfv/yardstick; then echo "Removing existing opnfv/yardstick containers..." - docker ps -a | grep opnfv/yardstick | awk '{print $1}' | xargs docker rm -f >$redirect + docker ps -a | awk "/${image_id}/ {print \$1}" | xargs docker rm -f >${redirect} fi # Remove existing images if exist -if [[ ! -z $(docker images | grep opnfv/yardstick) ]]; then +if docker images | grep -q opnfv/yardstick; then echo "Docker images to remove:" docker images | head -1 && docker images | grep opnfv/yardstick - image_tags=($(docker images | grep opnfv/yardstick | awk '{print $2}')) - for tag in "${image_tags[@]}"; do - echo "Removing docker image opnfv/yardstick:$tag..." - docker rmi opnfv/yardstick:$tag >$redirect + image_ids=($(docker images | awk '/opnfv[/]yardstick/ {print $3}')) + for id in "${image_ids[@]}"; do + echo "Removing docker image id $id..." + docker rmi "${id}" >${redirect} done fi diff --git a/jjb/yardstick/yardstick-daily-jobs.yml b/jjb/yardstick/yardstick-daily-jobs.yml index 937e83fb5..5d38a0b7d 100644 --- a/jjb/yardstick/yardstick-daily-jobs.yml +++ b/jjb/yardstick/yardstick-daily-jobs.yml @@ -186,6 +186,11 @@ installer: compass auto-trigger-name: 'daily-trigger-disabled' <<: *master + - flex-pod1: + slave-label: '{pod}' + installer: apex + auto-trigger-name: 'daily-trigger-disabled' + <<: *master #-------------------------------- testsuite: - 'daily' @@ -457,6 +462,14 @@ default: '-i 104.197.68.199:8086' description: 'Arguments to use in order to choose the backend DB' +- parameter: + name: 'yardstick-params-flex-pod1' + parameters: + - string: + name: YARDSTICK_DB_BACKEND + default: '-i 104.197.68.199:8086' + description: 'Arguments to use in order to choose the backend DB' + ####################### ## trigger macros ####################### diff --git a/jjb/yardstick/yardstick-daily.sh b/jjb/yardstick/yardstick-daily.sh index aaefba26e..8b3980fbc 100755 --- a/jjb/yardstick/yardstick-daily.sh +++ b/jjb/yardstick/yardstick-daily.sh @@ -48,8 +48,12 @@ envs="-e INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} \ -e DEPLOY_SCENARIO=${DEPLOY_SCENARIO}" # Pull the image with correct tag -echo "Yardstick: Pulling image opnfv/yardstick:${DOCKER_TAG}" -docker pull opnfv/yardstick:$DOCKER_TAG >$redirect +DOCKER_REPO='opnfv/yardstick' +if [ "$(uname -m)" = 'aarch64' ]; then + DOCKER_REPO="${DOCKER_REPO}_$(uname -m)" +fi +echo "Yardstick: Pulling image ${DOCKER_REPO}:${DOCKER_TAG}" +docker pull ${DOCKER_REPO}:$DOCKER_TAG >$redirect # map log directory branch=${BRANCH##*/} @@ -61,9 +65,9 @@ map_log_dir="-v ${dir_result}:/tmp/yardstick" # Run docker if [[ ${INSTALLER_TYPE} == "joid" && "${DEPLOY_SCENARIO:0:2}" == "k8" ]];then juju ssh kubernetes-master/0 sudo apt-get install -y docker.io - cmd="juju ssh kubernetes-master/0 sudo docker run ${opts} ${envs} ${rc_file_vol} ${cacert_file_vol} ${map_log_dir} ${sshkey} opnfv/yardstick:${DOCKER_TAG} exec_tests.sh ${YARDSTICK_DB_BACKEND} ${YARDSTICK_SCENARIO_SUITE_NAME}" + cmd="juju ssh kubernetes-master/0 sudo docker run ${opts} ${envs} ${rc_file_vol} ${cacert_file_vol} ${map_log_dir} ${sshkey} ${DOCKER_REPO}:${DOCKER_TAG} exec_tests.sh ${YARDSTICK_DB_BACKEND} ${YARDSTICK_SCENARIO_SUITE_NAME}" else - cmd="sudo docker run ${opts} ${envs} ${rc_file_vol} ${cacert_file_vol} ${map_log_dir} ${sshkey} opnfv/yardstick:${DOCKER_TAG} \ + cmd="sudo docker run ${opts} ${envs} ${rc_file_vol} ${cacert_file_vol} ${map_log_dir} ${sshkey} ${DOCKER_REPO}:${DOCKER_TAG} \ exec_tests.sh ${YARDSTICK_DB_BACKEND} ${YARDSTICK_SCENARIO_SUITE_NAME}" fi |