From: Serena Feng Date: Thu, 21 Sep 2017 08:01:51 +0000 (+0000) Subject: Merge "[QTIP]Enable qtip validate jobs for euphrates" X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=commitdiff_plain;h=d25197e5d50d6a01e07dd52a9ca4d9c6ee33fd32;hp=fddc24441b3733bff881e8b3935cae0080ef1605;p=releng.git Merge "[QTIP]Enable qtip validate jobs for euphrates" --- diff --git a/jjb/apex/apex-deploy.sh b/jjb/apex/apex-deploy.sh index a79c9e726..b8ae75a1f 100755 --- a/jjb/apex/apex-deploy.sh +++ b/jjb/apex/apex-deploy.sh @@ -10,8 +10,6 @@ echo "Starting the Apex deployment." echo "--------------------------------------------------------" echo -sudo rm -rf /tmp/tmp* - if [ -z "$DEPLOY_SCENARIO" ]; then echo "Deploy scenario not set!" exit 1 diff --git a/jjb/apex/apex-download-artifact.sh b/jjb/apex/apex-download-artifact.sh index a11fb65b8..68baf59da 100755 --- a/jjb/apex/apex-download-artifact.sh +++ b/jjb/apex/apex-download-artifact.sh @@ -39,7 +39,13 @@ else VERSION_EXTENSION=$(echo $(basename $RPM_LIST) | grep -Eo '[0-9]+\.[0-9]+-([0-9]{8}|[a-z]+-[0-9]\.[0-9]+)') # build RPM List which already includes base Apex RPM RPM_LIST+=" opnfv-apex-undercloud-${VERSION_EXTENSION}.noarch.rpm" - RPM_LIST+=" python34-opnfv-apex-${VERSION_EXTENSION}.noarch.rpm" + + # add back legacy support for danube + if [ "$BRANCH" == 'stable/danube' ]; then + RPM_LIST+=" opnfv-apex-common-${VERSION_EXTENSION}.noarch.rpm" + else + RPM_LIST+=" python34-opnfv-apex-${VERSION_EXTENSION}.noarch.rpm" + fi # remove old / install new RPMs if rpm -q opnfv-apex > /dev/null; then diff --git a/jjb/apex/apex-project-jobs.yml b/jjb/apex/apex-project-jobs.yml index 973ad913a..58072865d 100644 --- a/jjb/apex/apex-project-jobs.yml +++ b/jjb/apex/apex-project-jobs.yml @@ -9,7 +9,11 @@ gs-pathname: '' concurrent-builds: 3 disabled: false - + - euphrates: &euphrates + branch: 'stable/euphrates' + gs-pathname: '/euphrates' + concurrent-builds: 3 + disabled: true - danube: &danube branch: 'stable/danube' gs-pathname: '/danube' @@ -29,7 +33,7 @@ # Required Variables: # stream: branch with - in place of / (eg. stable) # branch: branch (eg. stable) - node: 'apex-build-{stream}' + node: 'apex-build-master' disabled: false @@ -78,7 +82,7 @@ # Required Variables: # stream: branch with - in place of / (eg. stable) # branch: branch (eg. stable) - node: 'apex-virtual-{stream}' + node: 'apex-virtual-master' disabled: false diff --git a/jjb/apex/apex.yml b/jjb/apex/apex.yml index baad8d353..bed67f416 100644 --- a/jjb/apex/apex.yml +++ b/jjb/apex/apex.yml @@ -6,9 +6,9 @@ - 'apex-verify-gate-{stream}' - 'apex-verify-unit-tests-{stream}' - 'apex-runner-cperf-{stream}' + - 'apex-virtual-{stream}' - 'apex-deploy-{platform}-{stream}' - - 'apex-daily-master' - - 'apex-daily-danube' + - 'apex-daily-{stream}' - 'apex-csit-promote-daily-{stream}' - 'apex-fdio-promote-daily-{stream}' - 'apex-{scenario}-baremetal-{scenario_stream}' @@ -28,7 +28,14 @@ baremetal-slave: 'apex-baremetal-master' verify-scenario: 'os-odl-nofeature-ha' scenario_stream: 'master' - + - euphrates: &euphrates + branch: 'stable/euphrates' + gs-pathname: '/euphrates' + build-slave: 'apex-build-master' + virtual-slave: 'apex-virtual-master' + baremetal-slave: 'apex-baremetal-master' + verify-scenario: 'os-odl-nofeature-ha' + scenario_stream: 'euphrates' - danube: &danube branch: 'stable/danube' gs-pathname: '/danube' @@ -134,6 +141,48 @@ <<: *master - 'os-odl-fdio-dvr-ha': <<: *master + - 'os-nosdn-nofeature-noha': + <<: *euphrates + - 'os-nosdn-nofeature-ha': + <<: *euphrates + - 'os-odl-nofeature-ha': + <<: *euphrates + - 'os-odl-nofeature-noha': + <<: *euphrates + - 'os-odl-bgpvpn-ha': + <<: *euphrates + - 'os-ovn-nofeature-noha': + <<: *euphrates + - 'os-nosdn-fdio-noha': + <<: *euphrates + - 'os-nosdn-fdio-ha': + <<: *euphrates + - 'os-odl-fdio-noha': + <<: *euphrates + - 'os-odl-fdio-ha': + <<: *euphrates + - 'os-nosdn-bar-ha': + <<: *euphrates + - 'os-nosdn-bar-noha': + <<: *euphrates + - 'os-nosdn-nofeature-ha-ipv6': + <<: *euphrates + - 'os-nosdn-ovs_dpdk-noha': + <<: *euphrates + - 'os-nosdn-ovs_dpdk-ha': + <<: *euphrates + - 'os-nosdn-kvm_ovs_dpdk-noha': + <<: *euphrates + - 'os-nosdn-kvm_ovs_dpdk-ha': + <<: *euphrates + - 'os-odl-sfc-noha': + <<: *euphrates + - 'os-odl-sfc-ha': + <<: *euphrates + - 'os-odl-fdio-dvr-noha': + <<: *euphrates + - 'os-odl-fdio-dvr-ha': + <<: *euphrates platform: - 'baremetal' @@ -296,13 +345,8 @@ properties: - logrotate-default - - build-blocker: - use-build-blocker: true - block-level: 'NODE' - blocking-jobs: - - 'apex-verify.*' - throttle: - max-per-node: 1 + max-per-node: 3 max-total: 10 option: 'project' @@ -344,7 +388,7 @@ name: deploy-virtual condition: SUCCESSFUL projects: - - name: 'apex-deploy-virtual-{stream}' + - name: 'apex-virtual-{stream}' current-parameters: false predefined-parameters: | ARTIFACT_VERSION=$ARTIFACT_VERSION @@ -358,23 +402,6 @@ kill-phase-on: FAILURE abort-all-job: true git-revision: true - - multijob: - name: functest-smoke - condition: SUCCESSFUL - projects: - - name: 'functest-apex-virtual-suite-{stream}' - current-parameters: false - predefined-parameters: | - DEPLOY_SCENARIO={verify-scenario} - FUNCTEST_SUITE_NAME=healthcheck - GERRIT_BRANCH=$GERRIT_BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE - node-parameters: true - kill-phase-on: NEVER - abort-all-job: true - git-revision: false # Verify Scenario Gate - job-template: @@ -435,6 +462,7 @@ block-level: 'NODE' blocking-jobs: - 'apex-verify.*' + - 'apex-virtual.*' - throttle: max-per-node: 1 max-total: 10 @@ -606,6 +634,87 @@ - 'clean-workspace' +# Virtual Deploy and Test +- job-template: + name: 'apex-virtual-{stream}' + + project-type: 'multijob' + + disabled: false + + scm: + - git-scm-gerrit + + parameters: + - '{project}-defaults' + - '{project}-virtual-{stream}-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - apex-parameter: + gs-pathname: '{gs-pathname}' + - string: + name: DEPLOY_SCENARIO + default: '{verify-scenario}' + description: "Scenario to deploy with." + - string: + name: ARTIFACT_VERSION + default: dev + description: "Used for overriding the ARTIFACT_VERSION" + properties: + - logrotate-default + - build-blocker: + use-build-blocker: true + block-level: 'NODE' + blocking-jobs: + - 'apex-runner.*' + - 'apex-.*-promote.*' + - 'apex-run.*' + - 'apex-virtual-.*' + - 'apex-verify-gate-.*' + - throttle: + max-per-node: 1 + max-total: 10 + option: 'project' + builders: + - description-setter: + description: "Deployed on $NODE_NAME - Scenario: $DEPLOY_SCENARIO" + - multijob: + name: deploy-virtual + condition: SUCCESSFUL + projects: + - name: 'apex-deploy-virtual-{stream}' + current-parameters: false + predefined-parameters: | + ARTIFACT_VERSION=$ARTIFACT_VERSION + DEPLOY_SCENARIO=$DEPLOY_SCENARIO + OPNFV_CLEAN=yes + GERRIT_BRANCH=$GERRIT_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 + git-revision: true + - multijob: + name: functest-smoke + condition: SUCCESSFUL + projects: + - name: 'functest-apex-virtual-suite-{stream}' + current-parameters: false + predefined-parameters: | + DEPLOY_SCENARIO=$DEPLOY_SCENARIO + FUNCTEST_SUITE_NAME=healthcheck + GERRIT_BRANCH=$GERRIT_BRANCH + GERRIT_REFSPEC=$GERRIT_REFSPEC + GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER + GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE + node-parameters: true + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + # Baremetal Deploy and Test - job-template: name: 'apex-{scenario}-baremetal-{scenario_stream}' @@ -777,10 +886,8 @@ # steps: # - shell: 'echo "Tests Passed"' - -# danube Daily - job-template: - name: 'apex-daily-danube' + name: 'apex-daily-{stream}' # Job template for daily build # @@ -789,7 +896,7 @@ # branch: branch (eg. stable) project-type: 'multijob' - node: 'apex-baremetal-danube' + node: '{baremetal-slave}' disabled: false @@ -798,25 +905,25 @@ parameters: - '{project}-defaults' - - '{project}-baremetal-danube-defaults' + - '{project}-baremetal-{stream}-defaults' - project-parameter: project: '{project}' - branch: 'stable/danube' + branch: '{branch}' - apex-parameter: - gs-pathname: '/danube' + gs-pathname: '{gs-pathname}' properties: - logrotate-default triggers: - - 'apex-danube' + - 'apex-{stream}' builders: - multijob: name: build condition: SUCCESSFUL projects: - - name: 'apex-build-danube' + - name: 'apex-build-{stream}' current-parameters: false predefined-parameters: | GERRIT_BRANCH=$GERRIT_BRANCH @@ -831,10 +938,10 @@ name: 'Verify and upload ISO' condition: SUCCESSFUL projects: - - name: 'apex-verify-iso-danube' + - name: 'apex-verify-iso-{stream}' current-parameters: false predefined-parameters: | - BUILD_DIRECTORY=$WORKSPACE/../apex-build-danube/.build + BUILD_DIRECTORY=$WORKSPACE/../apex-build-{stream}/.build GERRIT_BRANCH=$GERRIT_BRANCH GERRIT_REFSPEC= GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER @@ -843,52 +950,482 @@ kill-phase-on: FAILURE abort-all-job: true git-revision: true + - apex-builder-{stream} + +# snapshot create +- job-template: + name: 'apex-create-snapshot' + + # Job template for clean + # + # Required Variables: + # stream: branch with - in place of / (eg. stable) + + disabled: false + + builders: + - shell: + !include-raw-escape: ./apex-snapshot-create.sh + +# snapshot upload +- job-template: + name: 'apex-upload-snapshot' + + # Job template for clean + # + # Required Variables: + # stream: branch with - in place of / (eg. stable) + + disabled: false + + builders: + - inject: + properties-content: ARTIFACT_TYPE=snapshot + - 'apex-upload-artifact' + +# CSIT promote +- job-template: + name: 'apex-csit-promote-daily-{stream}' + + # Job template for promoting CSIT Snapshots + # + # Required Variables: + # stream: branch with - in place of / (eg. stable) + # branch: branch (eg. stable) + node: '{virtual-slave}' + project-type: 'multijob' + disabled: false + + scm: + - git-scm + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - apex-parameter: + gs-pathname: '{gs-pathname}' + + properties: + - build-blocker: + use-build-blocker: true + block-level: 'NODE' + blocking-jobs: + - 'apex-verify.*' + - 'apex-deploy.*' + - 'apex-runner.*' + - 'apex-daily.*' + + triggers: + - timed: '0 12 * * 0' + + builders: - multijob: - name: Baremetal Deploy and Test Phase + name: build condition: SUCCESSFUL projects: - - - name: 'apex-os-nosdn-nofeature-noha-baremetal-danube' - node-parameters: false - current-parameters: false - predefined-parameters: | - OPNFV_CLEAN=yes - kill-phase-on: NEVER - abort-all-job: true - git-revision: false - - - name: 'apex-os-nosdn-nofeature-ha-baremetal-danube' - node-parameters: false + - name: 'apex-build-{stream}' current-parameters: false predefined-parameters: | - OPNFV_CLEAN=yes - kill-phase-on: NEVER - abort-all-job: true - git-revision: false - - - name: 'apex-os-nosdn-nofeature-ha-ipv6-baremetal-danube' + GERRIT_BRANCH=$GERRIT_BRANCH + GERRIT_REFSPEC=$GERRIT_REFSPEC + GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER + GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE node-parameters: false - current-parameters: false - predefined-parameters: | - OPNFV_CLEAN=yes - kill-phase-on: NEVER + kill-phase-on: FAILURE abort-all-job: true - git-revision: false - - - name: 'apex-os-nosdn-ovs-noha-baremetal-danube' - node-parameters: false + git-revision: true + - multijob: + name: deploy-virtual + condition: SUCCESSFUL + projects: + - name: 'apex-deploy-virtual-{stream}' current-parameters: false predefined-parameters: | + DEPLOY_SCENARIO=os-odl_l3-csit-noha OPNFV_CLEAN=yes - kill-phase-on: NEVER + GERRIT_BRANCH=$GERRIT_BRANCH + GERRIT_REFSPEC=$GERRIT_REFSPEC + GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER + GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE + PROMOTE=True + node-parameters: true + kill-phase-on: FAILURE abort-all-job: true git-revision: false - - - name: 'apex-os-nosdn-ovs-ha-baremetal-danube' - node-parameters: false - current-parameters: false - predefined-parameters: | - OPNFV_CLEAN=yes + - multijob: + name: functest-smoke + condition: SUCCESSFUL + projects: + - name: 'functest-apex-virtual-suite-{stream}' + current-parameters: false + predefined-parameters: | + DEPLOY_SCENARIO=os-odl_l3-nofeature-noha + FUNCTEST_SUITE_NAME=tempest_smoke_serial + GERRIT_BRANCH=$GERRIT_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 + git-revision: false + - multijob: + name: create snapshot + condition: SUCCESSFUL + projects: + - name: 'apex-create-snapshot' + current-parameters: false + predefined-parameters: | + SNAP_TYPE=csit + node-parameters: true + kill-phase-on: FAILURE + abort-all-job: true + git-revision: false + - multijob: + name: upload snapshot + condition: SUCCESSFUL + projects: + - name: 'apex-upload-snapshot' + current-parameters: false + predefined-parameters: | + SNAP_TYPE=csit + node-parameters: true + kill-phase-on: FAILURE + abort-all-job: true + git-revision: false + +# FDIO promote +- job-template: + name: 'apex-fdio-promote-daily-{stream}' + + # Job template for promoting CSIT Snapshots + # + # Required Variables: + # stream: branch with - in place of / (eg. stable) + # branch: branch (eg. stable) + node: '{virtual-slave}' + project-type: 'multijob' + disabled: false + + scm: + - git-scm + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - apex-parameter: + gs-pathname: '{gs-pathname}' + + properties: + - build-blocker: + use-build-blocker: true + block-level: 'NODE' + blocking-jobs: + - 'apex-verify.*' + - 'apex-deploy.*' + - 'apex-runner.*' + - 'apex-daily.*' + + builders: + - multijob: + name: build + condition: SUCCESSFUL + projects: + - name: 'apex-build-{stream}' + current-parameters: false + predefined-parameters: | + GERRIT_BRANCH=$GERRIT_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 + git-revision: true + - multijob: + name: deploy-virtual + condition: SUCCESSFUL + projects: + - name: 'apex-deploy-virtual-{stream}' + current-parameters: false + predefined-parameters: | + DEPLOY_SCENARIO=os-odl_netvirt-fdio-noha + OPNFV_CLEAN=yes + GERRIT_BRANCH=$GERRIT_BRANCH + GERRIT_REFSPEC=$GERRIT_REFSPEC + GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER + GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE + PROMOTE=True + node-parameters: true + kill-phase-on: FAILURE + abort-all-job: true + git-revision: false + - multijob: + name: create snapshot + condition: SUCCESSFUL + projects: + - name: 'apex-create-snapshot' + current-parameters: false + predefined-parameters: | + SNAP_TYPE=fdio + node-parameters: true + kill-phase-on: FAILURE + abort-all-job: true + git-revision: false + - multijob: + name: upload snapshot + condition: SUCCESSFUL + projects: + - name: 'apex-upload-snapshot' + current-parameters: false + predefined-parameters: | + SNAP_TYPE=fdio + node-parameters: true + kill-phase-on: FAILURE + 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 1 * * *' + + 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 +######################## +- parameter: + name: apex-parameter + parameters: + - string: + name: ARTIFACT_NAME + default: 'latest' + description: "RPM Artifact name that will be appended to GS_URL to deploy a specific artifact" + - string: + name: ARTIFACT_VERSION + default: 'daily' + description: "Artifact version type" + - string: + name: BUILD_DIRECTORY + default: $WORKSPACE/.build + description: "Directory where the build artifact will be located upon the completion of the build." + - string: + name: CACHE_DIRECTORY + default: $HOME/opnfv/apex-cache{gs-pathname} + description: "Directory where the cache to be used during the build is located." + - 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." + - string: + name: GS_PATHNAME + default: '{gs-pathname}' + description: "Version directory where opnfv artifacts are stored in gs repository" + - string: + name: GS_URL + default: $GS_BASE{gs-pathname} + description: "URL to Google Storage." + - string: + name: PROMOTE + default: 'False' + description: "Flag to know if we should promote/upload snapshot artifacts." + +######################## +# builder macros +######################## + +# danube Builder +- builder: + name: apex-builder-danube + builders: + - multijob: + name: Baremetal Deploy and Test Phase + condition: SUCCESSFUL + projects: + + - name: 'apex-os-nosdn-nofeature-noha-baremetal-danube' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + + - name: 'apex-os-nosdn-nofeature-ha-baremetal-danube' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + + - name: 'apex-os-nosdn-nofeature-ha-ipv6-baremetal-danube' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + + - name: 'apex-os-nosdn-ovs-noha-baremetal-danube' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + + - name: 'apex-os-nosdn-ovs-ha-baremetal-danube' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes kill-phase-on: NEVER abort-all-job: true git-revision: false @@ -1075,79 +1612,18 @@ - name: 'apex-os-ovn-nofeature-noha-baremetal-danube' node-parameters: false - current-parameters: false - predefined-parameters: | - OPNFV_CLEAN=yes - kill-phase-on: NEVER - abort-all-job: true - git-revision: false - - -# master Daily -- job-template: - name: 'apex-daily-master' - - # Job template for daily build - # - # Required Variables: - # stream: branch with - in place of / (eg. stable) - # branch: branch (eg. stable) - project-type: 'multijob' - - node: 'apex-baremetal-master' - - disabled: false - - scm: - - git-scm - - parameters: - - '{project}-defaults' - - '{project}-baremetal-master-defaults' - - project-parameter: - project: '{project}' - branch: 'master' - - apex-parameter: - gs-pathname: '' - - properties: - - logrotate-default - - triggers: - - 'apex-master' - - builders: - - multijob: - name: build - condition: SUCCESSFUL - projects: - - name: 'apex-build-master' - current-parameters: false - predefined-parameters: | - GERRIT_BRANCH=$GERRIT_BRANCH - 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 - git-revision: true - - multijob: - name: 'Verify and upload ISO' - condition: SUCCESSFUL - projects: - - name: 'apex-verify-iso-master' - current-parameters: false - predefined-parameters: | - BUILD_DIRECTORY=$WORKSPACE/../apex-build-master/.build - GERRIT_BRANCH=$GERRIT_BRANCH - GERRIT_REFSPEC= - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE - node-parameters: true - kill-phase-on: FAILURE + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER abort-all-job: true - git-revision: true + git-revision: false + + +# master Builder +- builder: + name: apex-builder-master + builders: - multijob: name: Baremetal Deploy and Test Phase condition: SUCCESSFUL @@ -1343,430 +1819,206 @@ git-revision: false - -# snapshot create -- job-template: - name: 'apex-create-snapshot' - - # Job template for clean - # - # Required Variables: - # stream: branch with - in place of / (eg. stable) - - disabled: false - - builders: - - shell: - !include-raw-escape: ./apex-snapshot-create.sh - -# snapshot upload -- job-template: - name: 'apex-upload-snapshot' - - # Job template for clean - # - # Required Variables: - # stream: branch with - in place of / (eg. stable) - - disabled: false - - builders: - - inject: - properties-content: ARTIFACT_TYPE=snapshot - - 'apex-upload-artifact' - -# CSIT promote -- job-template: - name: 'apex-csit-promote-daily-{stream}' - - # Job template for promoting CSIT Snapshots - # - # Required Variables: - # stream: branch with - in place of / (eg. stable) - # branch: branch (eg. stable) - node: '{virtual-slave}' - project-type: 'multijob' - disabled: false - - scm: - - git-scm - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - apex-parameter: - gs-pathname: '{gs-pathname}' - - properties: - - build-blocker: - use-build-blocker: true - block-level: 'NODE' - blocking-jobs: - - 'apex-verify.*' - - 'apex-deploy.*' - - 'apex-runner.*' - - 'apex-daily.*' - - triggers: - - timed: '0 12 * * 0' - - builders: +# euphrates Builder +- builder: + name: apex-builder-euphrates + builders: - multijob: - name: build + name: Baremetal Deploy and Test Phase condition: SUCCESSFUL projects: - - name: 'apex-build-{stream}' + + - name: 'apex-os-nosdn-nofeature-noha-baremetal-euphrates' + node-parameters: false current-parameters: false predefined-parameters: | - GERRIT_BRANCH=$GERRIT_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 + OPNFV_CLEAN=yes + kill-phase-on: NEVER abort-all-job: true - git-revision: true - - multijob: - name: deploy-virtual - condition: SUCCESSFUL - projects: - - name: 'apex-deploy-virtual-{stream}' + git-revision: false + + - name: 'apex-os-nosdn-nofeature-ha-baremetal-euphrates' + node-parameters: false current-parameters: false predefined-parameters: | - DEPLOY_SCENARIO=os-odl_l3-csit-noha OPNFV_CLEAN=yes - GERRIT_BRANCH=$GERRIT_BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE - PROMOTE=True - node-parameters: true - kill-phase-on: FAILURE + kill-phase-on: NEVER abort-all-job: true git-revision: false - - multijob: - name: functest-smoke - condition: SUCCESSFUL - projects: - - name: 'functest-apex-virtual-suite-{stream}' - current-parameters: false - predefined-parameters: | - DEPLOY_SCENARIO=os-odl_l3-nofeature-noha - FUNCTEST_SUITE_NAME=tempest_smoke_serial - GERRIT_BRANCH=$GERRIT_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 - git-revision: false - - multijob: - name: create snapshot - condition: SUCCESSFUL - projects: - - name: 'apex-create-snapshot' - current-parameters: false - predefined-parameters: | - SNAP_TYPE=csit - node-parameters: true - kill-phase-on: FAILURE - abort-all-job: true - git-revision: false - - multijob: - name: upload snapshot - condition: SUCCESSFUL - projects: - - name: 'apex-upload-snapshot' - current-parameters: false - predefined-parameters: | - SNAP_TYPE=csit - node-parameters: true - kill-phase-on: FAILURE - abort-all-job: true - git-revision: false - -# FDIO promote -- job-template: - name: 'apex-fdio-promote-daily-{stream}' - - # Job template for promoting CSIT Snapshots - # - # Required Variables: - # stream: branch with - in place of / (eg. stable) - # branch: branch (eg. stable) - node: '{virtual-slave}' - project-type: 'multijob' - disabled: false - - scm: - - git-scm - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - apex-parameter: - gs-pathname: '{gs-pathname}' - - properties: - - build-blocker: - use-build-blocker: true - block-level: 'NODE' - blocking-jobs: - - 'apex-verify.*' - - 'apex-deploy.*' - - 'apex-runner.*' - - 'apex-daily.*' - builders: - - multijob: - name: build - condition: SUCCESSFUL - projects: - - name: 'apex-build-{stream}' + - name: 'apex-os-odl-nofeature-ha-baremetal-euphrates' + node-parameters: false current-parameters: false predefined-parameters: | - GERRIT_BRANCH=$GERRIT_BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + + - name: 'apex-os-odl-nofeature-noha-baremetal-euphrates' node-parameters: false - kill-phase-on: FAILURE + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER abort-all-job: true - git-revision: true - - multijob: - name: deploy-virtual - condition: SUCCESSFUL - projects: - - name: 'apex-deploy-virtual-{stream}' + git-revision: false + + - name: 'apex-os-odl-bgpvpn-ha-baremetal-euphrates' + node-parameters: false current-parameters: false predefined-parameters: | - DEPLOY_SCENARIO=os-odl_netvirt-fdio-noha OPNFV_CLEAN=yes - GERRIT_BRANCH=$GERRIT_BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE - PROMOTE=True - node-parameters: true - kill-phase-on: FAILURE + kill-phase-on: NEVER abort-all-job: true git-revision: false - - multijob: - name: create snapshot - condition: SUCCESSFUL - projects: - - name: 'apex-create-snapshot' - current-parameters: false - predefined-parameters: | - SNAP_TYPE=fdio - node-parameters: true - kill-phase-on: FAILURE - abort-all-job: true - git-revision: false - - multijob: - name: upload snapshot - condition: SUCCESSFUL - projects: - - name: 'apex-upload-snapshot' - current-parameters: false - predefined-parameters: | - SNAP_TYPE=fdio - node-parameters: true - kill-phase-on: FAILURE - abort-all-job: true - git-revision: false -# Flex job -- job-template: - name: 'apex-flex-daily-os-nosdn-nofeature-ha-{stream}' + - name: 'apex-os-ovn-nofeature-noha-baremetal-euphrates' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false - project-type: 'multijob' + - name: 'apex-os-nosdn-fdio-noha-baremetal-euphrates' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false - disabled: false + - name: 'apex-os-nosdn-fdio-ha-baremetal-euphrates' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false - node: 'flex-pod2' + - name: 'apex-os-odl-fdio-noha-baremetal-euphrates' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false - 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 + - name: 'apex-os-odl-fdio-ha-baremetal-euphrates' + node-parameters: false + current-parameters: false predefined-parameters: | OPNFV_CLEAN=yes - GERRIT_BRANCH=$GERRIT_BRANCH - GERRIT_REFSPEC= - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - kill-phase-on: FAILURE + kill-phase-on: NEVER abort-all-job: true git-revision: false - - multijob: - name: Yardstick - condition: ALWAYS - projects: - - name: 'yardstick-apex-baremetal-daily-{stream}' - node-parameters: true + + - name: 'apex-os-nosdn-bar-ha-baremetal-euphrates' + node-parameters: false current-parameters: false - predefined-parameters: - DEPLOY_SCENARIO=$DEPLOY_SCENARIO + predefined-parameters: | + OPNFV_CLEAN=yes kill-phase-on: NEVER - abort-all-job: false + abort-all-job: true git-revision: false -# Dovetail Danube test job -- job-template: - name: 'apex-dovetail-daily-os-nosdn-nofeature-ha-baremetal-danube' + - name: 'apex-os-nosdn-bar-noha-baremetal-euphrates' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false - project-type: 'multijob' + - name: 'apex-os-nosdn-nofeature-ha-ipv6-baremetal-euphrates' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false - node: 'huawei-pod4' + - name: 'apex-os-nosdn-ovs_dpdk-noha-baremetal-euphrates' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false - disabled: false + - name: 'apex-os-nosdn-ovs_dpdk-ha-baremetal-euphrates' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: 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." + - name: 'apex-os-nosdn-kvm_ovs_dpdk-noha-baremetal-euphrates' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false - properties: - - logrotate-default - - build-blocker: - use-build-blocker: true - block-level: 'NODE' - blocking-jobs: - - 'apex-verify.*' - - 'apex-runner.*' - - 'apex-.*-promote.*' - - 'apex-run.*' + - name: 'apex-os-nosdn-kvm_ovs_dpdk-ha-baremetal-euphrates' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false - triggers: - - timed: '0 12 * * *' + - name: 'apex-os-odl-sfc-noha-baremetal-euphrates' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false - 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 + - name: 'apex-os-odl-sfc-ha-baremetal-euphrates' + node-parameters: false + current-parameters: false predefined-parameters: | OPNFV_CLEAN=yes - GERRIT_BRANCH=$GERRIT_BRANCH - GERRIT_REFSPEC= - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - kill-phase-on: FAILURE + kill-phase-on: NEVER abort-all-job: true git-revision: false - - multijob: - name: Dovetail - condition: ALWAYS - projects: - - name: 'dovetail-apex-baremetal-proposed_tests-danube' - node-parameters: true + + - name: 'apex-os-odl-fdio-dvr-noha-baremetal-euphrates' + node-parameters: false current-parameters: false - predefined-parameters: - DEPLOY_SCENARIO=$DEPLOY_SCENARIO + predefined-parameters: | + OPNFV_CLEAN=yes kill-phase-on: NEVER - abort-all-job: false + abort-all-job: true git-revision: false -######################## -# parameter macros -######################## -- parameter: - name: apex-parameter - parameters: - - string: - name: ARTIFACT_NAME - default: 'latest' - description: "RPM Artifact name that will be appended to GS_URL to deploy a specific artifact" - - string: - name: ARTIFACT_VERSION - default: 'daily' - description: "Artifact version type" - - string: - name: BUILD_DIRECTORY - default: $WORKSPACE/.build - description: "Directory where the build artifact will be located upon the completion of the build." - - string: - name: CACHE_DIRECTORY - default: $HOME/opnfv/apex-cache{gs-pathname} - description: "Directory where the cache to be used during the build is located." - - 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." - - string: - name: GS_PATHNAME - default: '{gs-pathname}' - description: "Version directory where opnfv artifacts are stored in gs repository" - - string: - name: GS_URL - default: $GS_BASE{gs-pathname} - description: "URL to Google Storage." - - string: - name: PROMOTE - default: 'False' - description: "Flag to know if we should promote/upload snapshot artifacts." + - name: 'apex-os-odl-fdio-dvr-ha-baremetal-euphrates' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + + -######################## -# builder macros -######################## - builder: name: 'apex-unit-test' builders: @@ -1796,6 +2048,10 @@ ######################## - trigger: name: 'apex-master' + triggers: + - timed: '0 3 1 1 7' +- trigger: + name: 'apex-euphrates' triggers: - timed: '0 12 * * *' - trigger: diff --git a/jjb/apex/apex.yml.j2 b/jjb/apex/apex.yml.j2 index df8cf92c0..3c36e8f62 100644 --- a/jjb/apex/apex.yml.j2 +++ b/jjb/apex/apex.yml.j2 @@ -6,9 +6,9 @@ - 'apex-verify-gate-{stream}' - 'apex-verify-unit-tests-{stream}' - 'apex-runner-cperf-{stream}' + - 'apex-virtual-{stream}' - 'apex-deploy-{platform}-{stream}' - - 'apex-daily-master' - - 'apex-daily-danube' + - 'apex-daily-{stream}' - 'apex-csit-promote-daily-{stream}' - 'apex-fdio-promote-daily-{stream}' - 'apex-{scenario}-baremetal-{scenario_stream}' @@ -28,7 +28,14 @@ baremetal-slave: 'apex-baremetal-master' verify-scenario: 'os-odl-nofeature-ha' scenario_stream: 'master' - + - euphrates: &euphrates + branch: 'stable/euphrates' + gs-pathname: '/euphrates' + build-slave: 'apex-build-master' + virtual-slave: 'apex-virtual-master' + baremetal-slave: 'apex-baremetal-master' + verify-scenario: 'os-odl-nofeature-ha' + scenario_stream: 'euphrates' - danube: &danube branch: 'stable/danube' gs-pathname: '/danube' @@ -208,13 +215,8 @@ properties: - logrotate-default - - build-blocker: - use-build-blocker: true - block-level: 'NODE' - blocking-jobs: - - 'apex-verify.*' - throttle: - max-per-node: 1 + max-per-node: 3 max-total: 10 option: 'project' @@ -256,7 +258,7 @@ name: deploy-virtual condition: SUCCESSFUL projects: - - name: 'apex-deploy-virtual-{stream}' + - name: 'apex-virtual-{stream}' current-parameters: false predefined-parameters: | ARTIFACT_VERSION=$ARTIFACT_VERSION @@ -270,23 +272,6 @@ kill-phase-on: FAILURE abort-all-job: true git-revision: true - - multijob: - name: functest-smoke - condition: SUCCESSFUL - projects: - - name: 'functest-apex-virtual-suite-{stream}' - current-parameters: false - predefined-parameters: | - DEPLOY_SCENARIO={verify-scenario} - FUNCTEST_SUITE_NAME=healthcheck - GERRIT_BRANCH=$GERRIT_BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE - node-parameters: true - kill-phase-on: NEVER - abort-all-job: true - git-revision: false # Verify Scenario Gate - job-template: @@ -347,6 +332,7 @@ block-level: 'NODE' blocking-jobs: - 'apex-verify.*' + - 'apex-virtual.*' - throttle: max-per-node: 1 max-total: 10 @@ -518,6 +504,87 @@ - 'clean-workspace' +# Virtual Deploy and Test +- job-template: + name: 'apex-virtual-{stream}' + + project-type: 'multijob' + + disabled: false + + scm: + - git-scm-gerrit + + parameters: + - '{project}-defaults' + - '{project}-virtual-{stream}-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - apex-parameter: + gs-pathname: '{gs-pathname}' + - string: + name: DEPLOY_SCENARIO + default: '{verify-scenario}' + description: "Scenario to deploy with." + - string: + name: ARTIFACT_VERSION + default: dev + description: "Used for overriding the ARTIFACT_VERSION" + properties: + - logrotate-default + - build-blocker: + use-build-blocker: true + block-level: 'NODE' + blocking-jobs: + - 'apex-runner.*' + - 'apex-.*-promote.*' + - 'apex-run.*' + - 'apex-virtual-.*' + - 'apex-verify-gate-.*' + - throttle: + max-per-node: 1 + max-total: 10 + option: 'project' + builders: + - description-setter: + description: "Deployed on $NODE_NAME - Scenario: $DEPLOY_SCENARIO" + - multijob: + name: deploy-virtual + condition: SUCCESSFUL + projects: + - name: 'apex-deploy-virtual-{stream}' + current-parameters: false + predefined-parameters: | + ARTIFACT_VERSION=$ARTIFACT_VERSION + DEPLOY_SCENARIO=$DEPLOY_SCENARIO + OPNFV_CLEAN=yes + GERRIT_BRANCH=$GERRIT_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 + git-revision: true + - multijob: + name: functest-smoke + condition: SUCCESSFUL + projects: + - name: 'functest-apex-virtual-suite-{stream}' + current-parameters: false + predefined-parameters: | + DEPLOY_SCENARIO=$DEPLOY_SCENARIO + FUNCTEST_SUITE_NAME=healthcheck + GERRIT_BRANCH=$GERRIT_BRANCH + GERRIT_REFSPEC=$GERRIT_REFSPEC + GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER + GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE + node-parameters: true + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + # Baremetal Deploy and Test - job-template: name: 'apex-{scenario}-baremetal-{scenario_stream}' @@ -689,10 +756,8 @@ # steps: # - shell: 'echo "Tests Passed"' -{% for stream in scenarios %} -# {{ stream }} Daily - job-template: - name: 'apex-daily-{{ stream }}' + name: 'apex-daily-{stream}' # Job template for daily build # @@ -701,7 +766,7 @@ # branch: branch (eg. stable) project-type: 'multijob' - node: '{{ build_slave[stream] }}' + node: '{baremetal-slave}' disabled: false @@ -710,25 +775,25 @@ parameters: - '{project}-defaults' - - '{project}-baremetal-{{ stream }}-defaults' + - '{project}-baremetal-{stream}-defaults' - project-parameter: project: '{project}' - branch: '{{ branch[stream] }}' + branch: '{branch}' - apex-parameter: - gs-pathname: '{{ gspathname[stream] }}' + gs-pathname: '{gs-pathname}' properties: - logrotate-default triggers: - - 'apex-{{ stream }}' + - 'apex-{stream}' builders: - multijob: name: build condition: SUCCESSFUL projects: - - name: 'apex-build-{{ stream }}' + - name: 'apex-build-{stream}' current-parameters: false predefined-parameters: | GERRIT_BRANCH=$GERRIT_BRANCH @@ -743,10 +808,10 @@ name: 'Verify and upload ISO' condition: SUCCESSFUL projects: - - name: 'apex-verify-iso-{{ stream }}' + - name: 'apex-verify-iso-{stream}' current-parameters: false predefined-parameters: | - BUILD_DIRECTORY=$WORKSPACE/../apex-build-{{ stream }}/.build + BUILD_DIRECTORY=$WORKSPACE/../apex-build-{stream}/.build GERRIT_BRANCH=$GERRIT_BRANCH GERRIT_REFSPEC= GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER @@ -755,21 +820,7 @@ kill-phase-on: FAILURE abort-all-job: true git-revision: true - - multijob: - name: Baremetal Deploy and Test Phase - condition: SUCCESSFUL - projects: -{% for scenario in scenarios[stream] %} - - name: 'apex-{{ scenario }}-baremetal-{{ stream }}' - node-parameters: false - current-parameters: false - predefined-parameters: | - OPNFV_CLEAN=yes - kill-phase-on: NEVER - abort-all-job: true - git-revision: false -{% endfor %} -{% endfor %} + - apex-builder-{stream} # snapshot create - job-template: @@ -1119,7 +1170,7 @@ - 'apex-run.*' triggers: - - timed: '0 12 * * *' + - timed: '0 1 * * *' builders: - description-setter: @@ -1194,6 +1245,27 @@ ######################## # builder macros ######################## +{% for stream in scenarios %} +# {{ stream }} Builder +- builder: + name: apex-builder-{{ stream }} + builders: + - multijob: + name: Baremetal Deploy and Test Phase + condition: SUCCESSFUL + projects: +{% for scenario in scenarios[stream] %} + - name: 'apex-{{ scenario }}-baremetal-{{ stream }}' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false +{% endfor %} +{% endfor %} + - builder: name: 'apex-unit-test' builders: @@ -1223,6 +1295,10 @@ ######################## - trigger: name: 'apex-master' + triggers: + - timed: '0 3 1 1 7' +- trigger: + name: 'apex-euphrates' triggers: - timed: '0 12 * * *' - trigger: diff --git a/jjb/apex/scenarios.yaml.hidden b/jjb/apex/scenarios.yaml.hidden index def4e796a..e7fe92375 100644 --- a/jjb/apex/scenarios.yaml.hidden +++ b/jjb/apex/scenarios.yaml.hidden @@ -20,6 +20,28 @@ master: - 'os-odl-sfc-ha' - 'os-odl-fdio-dvr-noha' - 'os-odl-fdio-dvr-ha' +euphrates: + - 'os-nosdn-nofeature-noha' + - 'os-nosdn-nofeature-ha' + - 'os-odl-nofeature-ha' + - 'os-odl-nofeature-noha' + - 'os-odl-bgpvpn-ha' + - 'os-ovn-nofeature-noha' + - 'os-nosdn-fdio-noha' + - 'os-nosdn-fdio-ha' + - 'os-odl-fdio-noha' + - 'os-odl-fdio-ha' + - 'os-nosdn-bar-ha' + - 'os-nosdn-bar-noha' + - 'os-nosdn-nofeature-ha-ipv6' + - 'os-nosdn-ovs_dpdk-noha' + - 'os-nosdn-ovs_dpdk-ha' + - 'os-nosdn-kvm_ovs_dpdk-noha' + - 'os-nosdn-kvm_ovs_dpdk-ha' + - 'os-odl-sfc-noha' + - 'os-odl-sfc-ha' + - 'os-odl-fdio-dvr-noha' + - 'os-odl-fdio-dvr-ha' danube: - 'os-nosdn-nofeature-noha' - 'os-nosdn-nofeature-ha' diff --git a/jjb/armband/armband-ci-jobs.yml b/jjb/armband/armband-ci-jobs.yml index 276f68809..4c2656067 100644 --- a/jjb/armband/armband-ci-jobs.yml +++ b/jjb/armband/armband-ci-jobs.yml @@ -1,65 +1,66 @@ +--- # jenkins job templates for Armband - project: name: 'armband-ci' project: 'armband' -#-------------------------------- -# BRANCH ANCHORS -#-------------------------------- + # ------------------------------- + # BRANCH ANCHORS + # ------------------------------- master: &master - stream: master - branch: '{stream}' - gs-pathname: '' - disabled: false + stream: master + branch: '{stream}' + gs-pathname: '' + disabled: false euphrates: &euphrates - stream: euphrates - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: true -#-------------------------------- -# POD, INSTALLER, AND BRANCH MAPPING -#-------------------------------- -# CI POD's -#-------------------------------- -# euphrates -#-------------------------------- + stream: euphrates + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + # ------------------------------- + # POD, INSTALLER, AND BRANCH MAPPING + # ------------------------------- + # CI POD's + # ------------------------------- + # euphrates + # ------------------------------- pod: - - armband-baremetal: - slave-label: armband-baremetal - installer: fuel - <<: *euphrates - - armband-virtual: - slave-label: armband-virtual - installer: fuel - <<: *euphrates -#-------------------------------- -# master -#-------------------------------- - - armband-baremetal: - slave-label: armband-baremetal - installer: fuel - <<: *master - - armband-virtual: - slave-label: armband-virtual - installer: fuel - <<: *master -#-------------------------------- -# scenarios -#-------------------------------- + - armband-baremetal: + slave-label: armband-baremetal + installer: fuel + <<: *euphrates + - armband-virtual: + slave-label: armband-virtual + installer: fuel + <<: *euphrates + # ------------------------------- + # master + # ------------------------------- + - armband-baremetal: + slave-label: armband-baremetal + installer: fuel + <<: *master + - armband-virtual: + slave-label: armband-virtual + installer: fuel + <<: *master + # ------------------------------- + # scenarios + # ------------------------------- scenario: - # HA scenarios - - 'os-nosdn-nofeature-ha': - auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger' - - 'os-odl-nofeature-ha': - auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger' + # HA scenarios + - 'os-nosdn-nofeature-ha': + auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger' + - 'os-odl-nofeature-ha': + auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger' - # NOHA scenarios - - 'os-nosdn-nofeature-noha': - auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger' + # NOHA scenarios + - 'os-nosdn-nofeature-noha': + auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger' jobs: - - '{installer}-{scenario}-{pod}-daily-{stream}' - - '{installer}-deploy-{pod}-daily-{stream}' + - '{installer}-{scenario}-{pod}-daily-{stream}' + - '{installer}-deploy-{pod}-daily-{stream}' ######################## # job templates @@ -72,90 +73,91 @@ 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: - - '{installer}-os-.*?-{pod}-daily-.*' - - 'armband-verify-.*' - 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: + - '{installer}-os-.*?-{pod}-daily-.*' + - 'armband-verify-.*' + 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': - gs-pathname: '{gs-pathname}' - - '{slave-label}-defaults': - installer: '{installer}' - - string: - name: DEPLOY_SCENARIO - default: '{scenario}' + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{installer}-defaults': + gs-pathname: '{gs-pathname}' + - '{slave-label}-defaults': + installer: '{installer}' + - string: + name: DEPLOY_SCENARIO + default: '{scenario}' builders: - - trigger-builds: - - project: '{installer}-deploy-{pod}-daily-{stream}' - current-parameters: false - predefined-parameters: - DEPLOY_SCENARIO={scenario} - same-node: true - block: true - - trigger-builds: - - project: 'functest-{installer}-{pod}-arm-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-{installer}-{pod}-daily-{stream}' - current-parameters: false - predefined-parameters: - DEPLOY_SCENARIO={scenario} - block: true - same-node: true - block-thresholds: - build-step-failure-threshold: 'never' - failure-threshold: 'never' - unstable-threshold: 'FAILURE' - # 1.dovetail only master, based on D release - # 2.here the stream means the SUT stream, dovetail stream is defined in its own job - # 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)-(nofeature-bgpvpn)-ha - - conditional-step: - condition-kind: regex-match - regex: os-(nosdn|odl)-(nofeature|bgpvpn)-ha - label: '{scenario}' - steps: - - trigger-builds: - - project: 'dovetail-{installer}-{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' + - trigger-builds: + - project: '{installer}-deploy-{pod}-daily-{stream}' + current-parameters: false + predefined-parameters: + DEPLOY_SCENARIO={scenario} + same-node: true + block: true + - trigger-builds: + - project: 'functest-{installer}-{pod}-arm-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-{installer}-{pod}-daily-{stream}' + current-parameters: false + predefined-parameters: + DEPLOY_SCENARIO={scenario} + block: true + same-node: true + block-thresholds: + build-step-failure-threshold: 'never' + failure-threshold: 'never' + unstable-threshold: 'FAILURE' + # 1.dovetail only master, based on D release + # 2.here the stream means the SUT stream, + # dovetail stream is defined in its own job + # 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)-(nofeature-bgpvpn)-ha + - conditional-step: + condition-kind: regex-match + regex: os-(nosdn|odl)-(nofeature|bgpvpn)-ha + label: '{scenario}' + steps: + - trigger-builds: + - project: 'dovetail-{installer}-{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: '{installer}-deploy-{pod}-daily-{stream}' @@ -163,108 +165,108 @@ 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: - - '{installer}-deploy-{pod}-daily-{stream}' - - '{installer}-deploy-generic-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: + - '{installer}-deploy-{pod}-daily-{stream}' + - '{installer}-deploy-generic-daily-.*' + block-level: 'NODE' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{installer}-defaults': - gs-pathname: '{gs-pathname}' - - '{slave-label}-defaults': - installer: '{installer}' - - string: - name: DEPLOY_SCENARIO - default: 'os-odl-nofeature-ha' + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{installer}-defaults': + gs-pathname: '{gs-pathname}' + - '{slave-label}-defaults': + installer: '{installer}' + - string: + name: DEPLOY_SCENARIO + default: 'os-odl-nofeature-ha' scm: - - git-scm + - git-scm wrappers: - - build-name: - name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' + - build-name: + name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' builders: - - shell: - !include-raw-escape: ../fuel/fuel-deploy.sh + - shell: + !include-raw-escape: ../fuel/fuel-deploy.sh publishers: - - email: - recipients: armband@enea.com - - email-jenkins-admins-on-failure + - email: + recipients: armband@enea.com + - email-jenkins-admins-on-failure ######################## # trigger macros ######################## # CI PODs -#----------------------------------------------------------------- +# ---------------------------------------------------------------- # Enea Armband CI Baremetal Triggers running against master branch -#----------------------------------------------------------------- +# ---------------------------------------------------------------- - trigger: name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-master-trigger' triggers: - - timed: '0 1 * * *' + - timed: '0 16 * * 2,4,6' - trigger: name: 'fuel-os-nosdn-nofeature-noha-armband-baremetal-master-trigger' triggers: - - timed: '' + - timed: '' - trigger: name: 'fuel-os-odl-nofeature-ha-armband-baremetal-master-trigger' triggers: - - timed: '0 16 * * *' -#---------------------------------------------------------------------- + - timed: '0 16 * * 1,3,5,7' +# --------------------------------------------------------------------- # Enea Armband CI Baremetal Triggers running against euphrates branch -#---------------------------------------------------------------------- +# --------------------------------------------------------------------- - trigger: name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-euphrates-trigger' triggers: - - timed: '' + - timed: '0 1 * * 2,4,6' - trigger: name: 'fuel-os-nosdn-nofeature-noha-armband-baremetal-euphrates-trigger' triggers: - - timed: '' + - timed: '' - trigger: name: 'fuel-os-odl-nofeature-ha-armband-baremetal-euphrates-trigger' triggers: - - timed: '' -#--------------------------------------------------------------- + - timed: '0 1 * * 1,3,5,7' +# -------------------------------------------------------------- # Enea Armband CI Virtual Triggers running against master branch -#--------------------------------------------------------------- +# -------------------------------------------------------------- - trigger: name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-master-trigger' triggers: - - timed: '' + - timed: '' - trigger: name: 'fuel-os-nosdn-nofeature-noha-armband-virtual-master-trigger' triggers: - - timed: '' + - timed: '' - trigger: name: 'fuel-os-odl-nofeature-ha-armband-virtual-master-trigger' triggers: - - timed: '' -#-------------------------------------------------------------------- + - timed: '' +# ------------------------------------------------------------------- # Enea Armband CI Virtual Triggers running against euphrates branch -#-------------------------------------------------------------------- +# ------------------------------------------------------------------- - trigger: name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-euphrates-trigger' triggers: - - timed: '' + - timed: '' - trigger: name: 'fuel-os-nosdn-nofeature-noha-armband-virtual-euphrates-trigger' triggers: - - timed: '' + - timed: '' - trigger: name: 'fuel-os-odl-nofeature-ha-armband-virtual-euphrates-trigger' triggers: - - timed: '' + - timed: '' diff --git a/jjb/armband/armband-verify-jobs.yml b/jjb/armband/armband-verify-jobs.yml index c43dc7f82..04ade724a 100644 --- a/jjb/armband/armband-verify-jobs.yml +++ b/jjb/armband/armband-verify-jobs.yml @@ -1,37 +1,38 @@ +--- - project: name: 'armband-verify-jobs' project: 'armband' installer: 'fuel' -##################################### -# branch definitions -##################################### + ##################################### + # branch definitions + ##################################### stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - euphrates: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: true -##################################### -# patch verification phases -##################################### + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - euphrates: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + ##################################### + # patch verification phases + ##################################### phase: - - 'basic': - slave-label: 'armband-virtual' - - 'deploy-virtual': - slave-label: 'armband-virtual' - - 'smoke-test': - slave-label: 'armband-virtual' -##################################### -# jobs -##################################### + - 'basic': + slave-label: 'armband-virtual' + - 'deploy-virtual': + slave-label: 'armband-virtual' + - 'smoke-test': + slave-label: 'armband-virtual' + ##################################### + # jobs + ##################################### jobs: - - 'armband-verify-{stream}' - - 'armband-verify-{phase}-{stream}' + - 'armband-verify-{stream}' + - 'armband-verify-{phase}-{stream}' ##################################### # job templates ##################################### @@ -45,110 +46,110 @@ concurrent: true properties: - - logrotate-default - - throttle: - enabled: true - max-total: 4 - option: 'project' - - build-blocker: - use-build-blocker: true - blocking-jobs: - - 'fuel-os-.*?-virtual-daily-.*' - block-level: 'NODE' + - logrotate-default + - throttle: + enabled: true + max-total: 4 + option: 'project' + - build-blocker: + use-build-blocker: true + blocking-jobs: + - 'fuel-os-.*?-virtual-daily-.*' + 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}' - file-paths: - - compare-type: ANT - pattern: 'ci/**' - - compare-type: ANT - pattern: 'patches/**' - 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: 'ci/**' + - compare-type: ANT + pattern: 'patches/**' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**' + readable-message: true parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'armband-virtual-defaults': - installer: '{installer}' - - '{installer}-defaults': - gs-pathname: '{gs-pathname}' + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'armband-virtual-defaults': + installer: '{installer}' + - '{installer}-defaults': + gs-pathname: '{gs-pathname}' builders: - - description-setter: - description: "Built on $NODE_NAME" - - multijob: - name: basic - condition: SUCCESSFUL - projects: - - name: 'armband-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: deploy-virtual - condition: SUCCESSFUL - projects: - - name: 'armband-verify-deploy-virtual-{stream}' - current-parameters: false - predefined-parameters: | - BRANCH=$BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE - node-parameters: false - kill-phase-on: FAILURE - abort-all-job: true - - multijob: - name: smoke-test - condition: SUCCESSFUL - projects: - - name: 'armband-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: false - kill-phase-on: FAILURE - abort-all-job: true + - description-setter: + description: "Built on $NODE_NAME" + - multijob: + name: basic + condition: SUCCESSFUL + projects: + - name: 'armband-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: deploy-virtual + condition: SUCCESSFUL + projects: + - name: 'armband-verify-deploy-virtual-{stream}' + current-parameters: false + predefined-parameters: | + BRANCH=$BRANCH + GERRIT_REFSPEC=$GERRIT_REFSPEC + GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER + GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE + node-parameters: false + kill-phase-on: FAILURE + abort-all-job: true + - multijob: + name: smoke-test + condition: SUCCESSFUL + projects: + - name: 'armband-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: false + kill-phase-on: FAILURE + abort-all-job: true - job-template: name: 'armband-verify-{phase}-{stream}' @@ -158,62 +159,63 @@ concurrent: true properties: - - logrotate-default - - throttle: - enabled: true - max-total: 2 - max-per-node: 1 - option: 'project' - - build-blocker: - use-build-blocker: true - blocking-jobs: - - 'armband-verify-deploy-.*' - - 'armband-verify-test-.*' - block-level: 'NODE' + - logrotate-default + - throttle: + enabled: true + max-total: 2 + max-per-node: 1 + option: 'project' + - build-blocker: + use-build-blocker: true + blocking-jobs: + - 'armband-verify-deploy-.*' + - 'armband-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}' - - '{slave-label}-defaults' - - 'armband-virtual-defaults': - installer: '{installer}' - - '{installer}-defaults': - gs-pathname: '{gs-pathname}' + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{slave-label}-defaults' + - 'armband-virtual-defaults': + installer: '{installer}' + - '{installer}-defaults': + gs-pathname: '{gs-pathname}' builders: - - description-setter: - description: "Built on $NODE_NAME" - - '{project}-verify-{phase}-macro' + - description-setter: + description: "Built on $NODE_NAME" + - '{project}-verify-{phase}-macro' ##################################### # builder macros ##################################### - builder: name: 'armband-verify-basic-macro' builders: - - shell: | - #!/bin/bash + - shell: | + #!/bin/bash - echo "Not activated!" + echo "Not activated!" - builder: name: 'armband-verify-deploy-virtual-macro' builders: - - shell: - !include-raw: ../fuel/fuel-deploy.sh + - shell: + !include-raw: ../fuel/fuel-deploy.sh - builder: name: 'armband-verify-smoke-test-macro' builders: - - shell: | - #!/bin/bash + - shell: | + #!/bin/bash - echo "Not activated!" + echo "Not activated!" diff --git a/jjb/barometer/barometer.yml b/jjb/barometer/barometer.yml index 8a5bea02e..d29673820 100644 --- a/jjb/barometer/barometer.yml +++ b/jjb/barometer/barometer.yml @@ -18,7 +18,7 @@ branch: '{stream}' gs-pathname: '' disabled: false - - danube: + - euphrates: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false diff --git a/jjb/bottlenecks/bottlenecks-ci-jobs.yml b/jjb/bottlenecks/bottlenecks-ci-jobs.yml index bb2a13ccc..cb43ff149 100644 --- a/jjb/bottlenecks/bottlenecks-ci-jobs.yml +++ b/jjb/bottlenecks/bottlenecks-ci-jobs.yml @@ -19,8 +19,8 @@ gs-packagepath: '/{suite}' # docker tag used for version control docker-tag: 'latest' - danube: &danube - stream: danube + euphrates: &euphrates + stream: euphrates branch: 'stable/{stream}' gs-pathname: '/{stream}' gs-packagepath: '/{stream}/{suite}' @@ -49,12 +49,12 @@ slave-label: compass-baremetal-branch installer: compass auto-trigger-name: 'daily-trigger-disabled' - <<: *danube + <<: *euphrates - virtual: slave-label: compass-virtual-branch installer: compass auto-trigger-name: 'daily-trigger-disabled' - <<: *danube + <<: *euphrates # ------------------------------- # None-CI PODs @@ -63,7 +63,7 @@ # slave-label: '{pod}' # installer: joid # auto-trigger-name: 'daily-trigger-disabled' - # <<: *danube + # <<: *euphrates # - orange-pod2: # slave-label: '{pod}' # installer: joid diff --git a/jjb/bottlenecks/bottlenecks-project-jobs.yml b/jjb/bottlenecks/bottlenecks-project-jobs.yml index 10f73b8e5..93b2d913c 100644 --- a/jjb/bottlenecks/bottlenecks-project-jobs.yml +++ b/jjb/bottlenecks/bottlenecks-project-jobs.yml @@ -21,7 +21,7 @@ # This is used for different test suite dependent packages storage gs-packagepath: '/{suite}' disabled: false - - danube: + - euphrates: branch: 'stable/{stream}' gs-pathname: '/{stream}' gs-packagepath: '/{stream}/{suite}' diff --git a/jjb/calipso/calipso.yml b/jjb/calipso/calipso.yml index c5ba8eb1e..c282efa73 100644 --- a/jjb/calipso/calipso.yml +++ b/jjb/calipso/calipso.yml @@ -10,6 +10,9 @@ - master: branch: '{stream}' disabled: false + - euphrates: + branch: 'stable/{stream}' + disabled: false - job-template: name: 'calipso-verify-{stream}' diff --git a/jjb/compass4nfv/compass-ci-jobs.yml b/jjb/compass4nfv/compass-ci-jobs.yml index aaa5b57e8..9f266b00c 100644 --- a/jjb/compass4nfv/compass-ci-jobs.yml +++ b/jjb/compass4nfv/compass-ci-jobs.yml @@ -13,6 +13,13 @@ ppa-pathname: '/{stream}' disabled: false openstack-version: ocata + euphrates: &euphrates + stream: euphrates + branch: 'stable/{stream}' + disabled: true + gs-pathname: '/{stream}' + ppa-pathname: '/{stream}' + openstack-version: ocata danube: &danube stream: danube branch: 'stable/{stream}' @@ -37,11 +44,11 @@ - baremetal: slave-label: compass-baremetal-branch os-version: 'xenial' - <<: *danube + <<: *euphrates - virtual: slave-label: compass-virtual-branch os-version: 'xenial' - <<: *danube + <<: *euphrates #-------------------------------- # master #-------------------------------- @@ -49,6 +56,13 @@ slave-label: 'intel-pod8' os-version: 'centos7' <<: *master +#-------------------------------- +# danube for dovetail +#-------------------------------- + - huawei-pod7: + slave-label: 'huawei-pod7' + os-version: 'xenial' + <<: *danube scenario: - 'os-nosdn-nofeature-ha': @@ -333,7 +347,7 @@ !include-raw-escape: ./compass-deploy.sh - conditional-step: condition-kind: regex-match - regex: danube + regex: (danube|euphrates) label: '{stream}' steps: - shell: @@ -341,7 +355,6 @@ - shell: !include-raw-escape: ./compass-deploy.sh - ######################## # parameter macros ######################## @@ -451,6 +464,85 @@ triggers: - timed: '' +#--------------------------- +# ha-huawei-pod7-danube +#--------------------------- +- trigger: + name: 'compass-os-nosdn-nofeature-ha-huawei-pod7-danube-trigger' + triggers: + - timed: '0 19 * * *' +- trigger: + name: 'compass-os-nosdn-openo-ha-huawei-pod7-danube-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-odl_l2-nofeature-ha-huawei-pod7-danube-trigger' + triggers: + - timed: '0 21 * * *' +- trigger: + name: 'compass-os-odl_l3-nofeature-ha-huawei-pod7-danube-trigger' + triggers: + - timed: '0 15 * * *' +- trigger: + name: 'compass-os-onos-nofeature-ha-huawei-pod7-danube-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-ocl-nofeature-ha-huawei-pod7-danube-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-onos-sfc-ha-huawei-pod7-danube-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-odl_l2-moon-ha-huawei-pod7-danube-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-nosdn-kvm-ha-huawei-pod7-danube-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-nosdn-dpdk-ha-huawei-pod7-danube-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-odl-sfc-ha-huawei-pod7-danube-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-k8-nosdn-nofeature-ha-huawei-pod7-danube-trigger' + triggers: + - timed: '' + +#----------------------------- +# noha-huawei-pod7-danube +#----------------------------- +- trigger: + name: 'compass-os-nosdn-nofeature-noha-huawei-pod7-danube-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-odl_l3-nofeature-noha-huawei-pod7-danube-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-odl_l2-moon-noha-huawei-pod7-danube-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-nosdn-kvm-noha-huawei-pod7-danube-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-odl-sfc-noha-huawei-pod7-danube-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-nosdn-dpdk-noha-huawei-pod7-danube-trigger' + triggers: + - timed: '' #-------------------- # ha-baremetal-master #-------------------- @@ -532,82 +624,82 @@ - timed: '' #-------------------- -# ha-baremetal-danube +# ha-baremetal-euphrates #-------------------- - trigger: - name: 'compass-os-nosdn-nofeature-ha-baremetal-danube-trigger' + name: 'compass-os-nosdn-nofeature-ha-baremetal-euphrates-trigger' triggers: - - timed: '0 9 * * *' + - timed: '' #'0 9 * * *' - trigger: - name: 'compass-os-nosdn-openo-ha-baremetal-danube-trigger' + name: 'compass-os-nosdn-openo-ha-baremetal-euphrates-trigger' triggers: - - timed: '0 13 * * *' + - timed: '' #'0 13 * * *' - trigger: - name: 'compass-os-odl_l2-nofeature-ha-baremetal-danube-trigger' + name: 'compass-os-odl_l2-nofeature-ha-baremetal-euphrates-trigger' triggers: - - timed: '0 17 * * *' + - timed: '' #'0 17 * * *' - trigger: - name: 'compass-os-odl_l3-nofeature-ha-baremetal-danube-trigger' + name: 'compass-os-odl_l3-nofeature-ha-baremetal-euphrates-trigger' triggers: - - timed: '0 21 * * *' + - timed: '' #'0 21 * * *' - trigger: - name: 'compass-os-onos-nofeature-ha-baremetal-danube-trigger' + name: 'compass-os-onos-nofeature-ha-baremetal-euphrates-trigger' triggers: - - timed: '0 1 * * *' + - timed: '' #'0 1 * * *' - trigger: - name: 'compass-os-ocl-nofeature-ha-baremetal-danube-trigger' + name: 'compass-os-ocl-nofeature-ha-baremetal-euphrates-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-onos-sfc-ha-baremetal-danube-trigger' + name: 'compass-os-onos-sfc-ha-baremetal-euphrates-trigger' triggers: - - timed: '0 5 * * *' + - timed: '' #'0 5 * * *' - trigger: - name: 'compass-os-odl_l2-moon-ha-baremetal-danube-trigger' + name: 'compass-os-odl_l2-moon-ha-baremetal-euphrates-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-nosdn-kvm-ha-baremetal-danube-trigger' + name: 'compass-os-nosdn-kvm-ha-baremetal-euphrates-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-nosdn-dpdk-ha-baremetal-danube-trigger' + name: 'compass-os-nosdn-dpdk-ha-baremetal-euphrates-trigger' triggers: - timed: '' - trigger: - name: 'compass-k8-nosdn-nofeature-ha-baremetal-danube-trigger' + name: 'compass-k8-nosdn-nofeature-ha-baremetal-euphrates-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-odl-sfc-ha-baremetal-danube-trigger' + name: 'compass-os-odl-sfc-ha-baremetal-euphrates-trigger' triggers: - timed: '' #---------------------- -# noha-baremetal-danube +# noha-baremetal-euphrates #---------------------- - trigger: - name: 'compass-os-nosdn-kvm-noha-baremetal-danube-trigger' + name: 'compass-os-nosdn-kvm-noha-baremetal-euphrates-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-nosdn-nofeature-noha-baremetal-danube-trigger' + name: 'compass-os-nosdn-nofeature-noha-baremetal-euphrates-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-odl_l3-nofeature-noha-baremetal-danube-trigger' + name: 'compass-os-odl_l3-nofeature-noha-baremetal-euphrates-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-odl_l2-moon-noha-baremetal-danube-trigger' + name: 'compass-os-odl_l2-moon-noha-baremetal-euphrates-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-odl-sfc-noha-baremetal-danube-trigger' + name: 'compass-os-odl-sfc-noha-baremetal-euphrates-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-nosdn-dpdk-noha-baremetal-danube-trigger' + name: 'compass-os-nosdn-dpdk-noha-baremetal-euphrates-trigger' triggers: - timed: '' @@ -692,81 +784,81 @@ - timed: '0 11 * * *' #------------------ -# ha-virtual-danube +# ha-virtual-euphrates #------------------ - trigger: - name: 'compass-os-nosdn-nofeature-ha-virtual-danube-trigger' + name: 'compass-os-nosdn-nofeature-ha-virtual-euphrates-trigger' triggers: - - timed: '0 21 * * *' + - timed: '' #'0 21 * * *' - trigger: - name: 'compass-os-nosdn-openo-ha-virtual-danube-trigger' + name: 'compass-os-nosdn-openo-ha-virtual-euphrates-trigger' triggers: - - timed: '0 22 * * *' + - timed: '' #'0 22 * * *' - trigger: - name: 'compass-os-odl_l2-nofeature-ha-virtual-danube-trigger' + name: 'compass-os-odl_l2-nofeature-ha-virtual-euphrates-trigger' triggers: - - timed: '0 20 * * *' + - timed: '' #'0 20 * * *' - trigger: - name: 'compass-os-odl_l3-nofeature-ha-virtual-danube-trigger' + name: 'compass-os-odl_l3-nofeature-ha-virtual-euphrates-trigger' triggers: - - timed: '0 19 * * *' + - timed: '' #'0 19 * * *' - trigger: - name: 'compass-os-onos-nofeature-ha-virtual-danube-trigger' + name: 'compass-os-onos-nofeature-ha-virtual-euphrates-trigger' triggers: - - timed: '0 18 * * *' + - timed: '' #'0 18 * * *' - trigger: - name: 'compass-os-ocl-nofeature-ha-virtual-danube-trigger' + name: 'compass-os-ocl-nofeature-ha-virtual-euphrates-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-onos-sfc-ha-virtual-danube-trigger' + name: 'compass-os-onos-sfc-ha-virtual-euphrates-trigger' triggers: - - timed: '0 15 * * *' + - timed: '' #'0 15 * * *' - trigger: - name: 'compass-os-odl_l2-moon-ha-virtual-danube-trigger' + name: 'compass-os-odl_l2-moon-ha-virtual-euphrates-trigger' triggers: - - timed: '0 14 * * *' + - timed: '' #'0 14 * * *' - trigger: - name: 'compass-os-nosdn-kvm-ha-virtual-danube-trigger' + name: 'compass-os-nosdn-kvm-ha-virtual-euphrates-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-nosdn-dpdk-ha-virtual-danube-trigger' + name: 'compass-os-nosdn-dpdk-ha-virtual-euphrates-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-odl-sfc-ha-virtual-danube-trigger' + name: 'compass-os-odl-sfc-ha-virtual-euphrates-trigger' triggers: - timed: '' - trigger: - name: 'compass-k8-nosdn-nofeature-ha-virtual-danube-trigger' + name: 'compass-k8-nosdn-nofeature-ha-virtual-euphrates-trigger' triggers: - timed: '' #-------------------- -# noha-virtual-danube +# noha-virtual-euphrates #-------------------- - trigger: - name: 'compass-os-nosdn-kvm-noha-virtual-danube-trigger' + name: 'compass-os-nosdn-kvm-noha-virtual-euphrates-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-nosdn-nofeature-noha-virtual-danube-trigger' + name: 'compass-os-nosdn-nofeature-noha-virtual-euphrates-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-odl_l3-nofeature-noha-virtual-danube-trigger' + name: 'compass-os-odl_l3-nofeature-noha-virtual-euphrates-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-odl_l2-moon-noha-virtual-danube-trigger' + name: 'compass-os-odl_l2-moon-noha-virtual-euphrates-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-odl-sfc-noha-virtual-danube-trigger' + name: 'compass-os-odl-sfc-noha-virtual-euphrates-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-nosdn-dpdk-noha-virtual-danube-trigger' + name: 'compass-os-nosdn-dpdk-noha-virtual-euphrates-trigger' triggers: - timed: '' diff --git a/jjb/doctor/doctor.yml b/jjb/doctor/doctor.yml index b007e1432..012d37398 100644 --- a/jjb/doctor/doctor.yml +++ b/jjb/doctor/doctor.yml @@ -9,7 +9,7 @@ gs-pathname: '' docker-tag: 'latest' disabled: false - - danube: + - euphrates: branch: 'stable/{stream}' gs-pathname: '/{stream}' docker-tag: 'stable' @@ -82,7 +82,7 @@ branch-pattern: '**/{branch}' file-paths: - compare-type: ANT - pattern: 'tests/**' + pattern: 'doctor_tests/**' builders: - shell: "[ -e tests/run.sh ] && bash -n ./tests/run.sh" @@ -108,7 +108,7 @@ - '{auto-trigger-name}': project: '{project}' branch: '{branch}' - files: 'tests/**' + files: 'doctor_tests/**' builders: - shell: "[ -e tests/run.sh ] && bash -n ./tests/run.sh" @@ -174,7 +174,7 @@ - '{auto-trigger-name}': project: '{project}' branch: '{branch}' - files: 'tests/**' + files: 'doctor_tests/**' builders: - 'clean-workspace-log' @@ -195,11 +195,11 @@ functest_log="$HOME/opnfv/functest/results/{stream}/$FUNCTEST_SUITE_NAME.log" # NOTE: checking the test result, as the previous job could return # 0 regardless the result of doctor test scenario. - grep -e ' OK$' $functest_log || exit 1 + grep -e 'doctor test successfully' $functest_log || exit 1 publishers: - archive: - artifacts: 'tests/*.log' + artifacts: 'doctor_tests/*.log' - archive: artifacts: 'functest_results/$FUNCTEST_SUITE_NAME.log' - email-jenkins-admins-on-failure diff --git a/jjb/domino/domino.yml b/jjb/domino/domino.yml index 80b9b6931..7fc818c7a 100644 --- a/jjb/domino/domino.yml +++ b/jjb/domino/domino.yml @@ -12,7 +12,7 @@ branch: '{stream}' gs-pathname: '' disabled: false - - danube: + - euphrates: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false diff --git a/jjb/dovetail/dovetail-ci-jobs.yml b/jjb/dovetail/dovetail-ci-jobs.yml index 938fdf915..4c3d72fb5 100644 --- a/jjb/dovetail/dovetail-ci-jobs.yml +++ b/jjb/dovetail/dovetail-ci-jobs.yml @@ -165,7 +165,7 @@ - huawei-pod4: slave-label: huawei-pod4 SUT: apex - auto-trigger-name: 'apex-huawei-pod4-{testsuite}-danube-trigger' + auto-trigger-name: 'daily-trigger-disabled' <<: *danube #-------------------------------- testsuite: @@ -263,15 +263,3 @@ builders: - shell: !include-raw: ./dovetail-cleanup.sh - -#-------------------------- -# trigger macros -#-------------------------- -- trigger: - name: 'apex-huawei-pod4-proposed_tests-danube-trigger' - triggers: - - timed: '0 1 * * *' -- trigger: - name: 'apex-huawei-pod4-compliance_set-danube-trigger' - triggers: - - timed: '' diff --git a/jjb/fuel/fuel-daily-jobs.yml b/jjb/fuel/fuel-daily-jobs.yml index 4bdfa5b01..baf44c5d2 100644 --- a/jjb/fuel/fuel-daily-jobs.yml +++ b/jjb/fuel/fuel-daily-jobs.yml @@ -18,7 +18,7 @@ euphrates: &euphrates stream: euphrates branch: 'stable/{stream}' - disabled: true + disabled: false gs-pathname: '/{stream}' danube: &danube stream: danube @@ -358,11 +358,11 @@ - trigger: name: 'fuel-os-nosdn-nofeature-ha-baremetal-daily-euphrates-trigger' triggers: - - timed: '' # '0 20 * * *' + - timed: '0 20 * * *' - trigger: name: 'fuel-os-odl-nofeature-ha-baremetal-daily-euphrates-trigger' triggers: - - timed: '' # '0 2 * * *' + - timed: '0 2 * * *' - trigger: name: 'fuel-os-onos-sfc-ha-baremetal-daily-euphrates-trigger' triggers: @@ -378,7 +378,7 @@ - trigger: name: 'fuel-os-nosdn-ovs-ha-baremetal-daily-euphrates-trigger' triggers: - - timed: '' # '0 20 * * *' + - timed: '0 20 * * *' - trigger: name: 'fuel-os-nosdn-kvm_ovs_dpdk-ha-baremetal-daily-euphrates-trigger' triggers: @@ -527,11 +527,11 @@ - trigger: name: 'fuel-os-nosdn-nofeature-noha-virtual-daily-euphrates-trigger' triggers: - - timed: '' # '0 13 * * *' + - timed: '0 13 * * *' - trigger: name: 'fuel-os-odl-nofeature-noha-virtual-daily-euphrates-trigger' triggers: - - timed: '' # '0 18 * * *' + - timed: '0 18 * * *' - trigger: name: 'fuel-os-onos-sfc-noha-virtual-daily-euphrates-trigger' triggers: @@ -547,7 +547,7 @@ - trigger: name: 'fuel-os-nosdn-ovs-noha-virtual-daily-euphrates-trigger' triggers: - - timed: '' # '0 9 * * *' + - timed: '0 9 * * *' - trigger: name: 'fuel-os-nosdn-kvm_ovs_dpdk-noha-virtual-daily-euphrates-trigger' triggers: diff --git a/jjb/fuel/fuel-deploy.sh b/jjb/fuel/fuel-deploy.sh index 6525c7ccb..d44c060ac 100755 --- a/jjb/fuel/fuel-deploy.sh +++ b/jjb/fuel/fuel-deploy.sh @@ -72,11 +72,13 @@ chmod a+x "${HOME}" "${TMPDIR}" cd "${WORKSPACE}" || exit 1 if [[ "${LAB_CONFIG_URL}" =~ ^(git|ssh):// ]]; then echo "Cloning securedlab repo ${BRANCH}" - git clone --quiet --branch "${BRANCH}" "${LAB_CONFIG_URL}" lab-config - LAB_CONFIG_URL=file://${WORKSPACE}/lab-config + LOCAL_CFG="${TMPDIR}/securedlab" + rm -rf "${LOCAL_CFG}" + git clone --quiet --branch "${BRANCH}" "${LAB_CONFIG_URL}" "${LOCAL_CFG}" + LAB_CONFIG_URL="file://${LOCAL_CFG}" # Source local_env if present, which contains POD-specific config - local_env="${WORKSPACE}/lab-config/labs/${LAB_NAME}/${POD_NAME}/fuel/config/local_env" + local_env="${LOCAL_CFG}/labs/${LAB_NAME}/${POD_NAME}/fuel/config/local_env" if [ -e "${local_env}" ]; then echo "-- Sourcing local environment file" source "${local_env}" diff --git a/jjb/fuel/fuel-project-jobs.yml b/jjb/fuel/fuel-project-jobs.yml index cfcbf3695..09342b500 100644 --- a/jjb/fuel/fuel-project-jobs.yml +++ b/jjb/fuel/fuel-project-jobs.yml @@ -16,7 +16,7 @@ - euphrates: branch: 'stable/{stream}' gs-pathname: '/{stream}' - disabled: true + disabled: false jobs: - 'fuel-deploy-generic-daily-{stream}' diff --git a/jjb/fuel/fuel-verify-jobs.yml b/jjb/fuel/fuel-verify-jobs.yml index 45197fc4e..d605e308a 100644 --- a/jjb/fuel/fuel-verify-jobs.yml +++ b/jjb/fuel/fuel-verify-jobs.yml @@ -15,7 +15,7 @@ - euphrates: branch: 'stable/{stream}' gs-pathname: '/{stream}' - disabled: true + disabled: false ##################################### # patch verification phases ##################################### diff --git a/jjb/fuel/fuel-weekly-jobs.yml b/jjb/fuel/fuel-weekly-jobs.yml index e1563ea38..c8a8c17e8 100644 --- a/jjb/fuel/fuel-weekly-jobs.yml +++ b/jjb/fuel/fuel-weekly-jobs.yml @@ -18,7 +18,7 @@ euphrates: &euphrates stream: euphrates branch: 'stable/{stream}' - disabled: true + disabled: false gs-pathname: '/{stream}' #-------------------------------- # POD, INSTALLER, AND BRANCH MAPPING diff --git a/jjb/functest/functest-alpine.sh b/jjb/functest/functest-alpine.sh index 35311c3a9..c9484304f 100755 --- a/jjb/functest/functest-alpine.sh +++ b/jjb/functest/functest-alpine.sh @@ -54,8 +54,9 @@ 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 DEPLOY_TYPE=${DEPLOY_TYPE}" +ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" + 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;" \ @@ -64,6 +65,12 @@ if [[ ${INSTALLER_TYPE} == 'compass' && ${DEPLOY_SCENARIO} == *'os-nosdn-openo-h envs=${env}" -e OPENO_MSB_ENDPOINT=${openo_msb_endpoint}" fi +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 + volumes="${images_vol} ${results_vol} ${sshkey_vol} ${rc_file_vol} ${cacert_file_vol}" set +e @@ -72,13 +79,15 @@ if [ ${FUNCTEST_SUITE_NAME} == 'healthcheck' ]; then tiers=(healthcheck) else if [ ${DEPLOY_TYPE} == 'baremetal' ]; then - tiers=(healthcheck smoke features vnf) + tiers=(healthcheck smoke features vnf parser) else tiers=(healthcheck smoke features) fi fi cmd_opt='prepare_env start && run_tests -r -t all' +ret_val_file="${HOME}/opnfv/functest/results/${BRANCH##*/}/return_value" +echo 0 > ${ret_val_file} for tier in ${tiers[@]}; do FUNCTEST_IMAGE=opnfv/functest-${tier} @@ -87,4 +96,8 @@ for tier in ${tiers[@]}; do cmd="docker run --privileged=true ${envs} ${volumes} ${FUNCTEST_IMAGE} /bin/bash -c '${cmd_opt}'" echo "Running Functest tier '${tier}'. CMD: ${cmd}" eval ${cmd} + ret_value=$? + if [ ${ret_value} != 0 ]; then + echo ${ret_value} > ${ret_val_file} + fi done diff --git a/jjb/functest/functest-daily-jobs.yml b/jjb/functest/functest-daily-jobs.yml index 23c6e490a..ea39de44b 100644 --- a/jjb/functest/functest-daily-jobs.yml +++ b/jjb/functest/functest-daily-jobs.yml @@ -14,8 +14,8 @@ branch: '{stream}' gs-pathname: '' docker-tag: 'latest' - danube: &danube - stream: danube + euphrates: &euphrates + stream: euphrates branch: 'stable/{stream}' gs-pathname: '/{stream}' docker-tag: 'stable' @@ -40,11 +40,11 @@ - baremetal: slave-label: fuel-baremetal installer: fuel - <<: *danube + <<: *euphrates - virtual: slave-label: fuel-virtual installer: fuel - <<: *danube + <<: *euphrates # joid CI PODs - baremetal: slave-label: joid-baremetal @@ -57,11 +57,11 @@ - baremetal: slave-label: joid-baremetal installer: joid - <<: *danube + <<: *euphrates - virtual: slave-label: joid-virtual installer: joid - <<: *danube + <<: *euphrates # compass CI PODs - baremetal: slave-label: compass-baremetal @@ -74,11 +74,11 @@ - baremetal: slave-label: compass-baremetal installer: compass - <<: *danube + <<: *euphrates - virtual: slave-label: compass-virtual installer: compass - <<: *danube + <<: *euphrates # apex CI PODs - virtual: slave-label: apex-virtual-master @@ -89,13 +89,13 @@ installer: apex <<: *master - virtual: - slave-label: apex-virtual-danube + slave-label: apex-virtual-euphrates installer: apex - <<: *danube + <<: *euphrates - baremetal: - slave-label: apex-baremetal-danube + slave-label: apex-baremetal-euphrates installer: apex - <<: *danube + <<: *euphrates # armband CI PODs - armband-baremetal: slave-label: armband-baremetal @@ -108,11 +108,11 @@ - armband-baremetal: slave-label: armband-baremetal installer: fuel - <<: *danube + <<: *euphrates - armband-virtual: slave-label: armband-virtual installer: fuel - <<: *danube + <<: *euphrates # daisy CI PODs - baremetal: slave-label: daisy-baremetal @@ -157,7 +157,7 @@ - zte-pod1: slave-label: '{pod}' installer: fuel - <<: *danube + <<: *euphrates - zte-pod2: slave-label: '{pod}' installer: fuel @@ -169,7 +169,7 @@ - zte-pod3: slave-label: '{pod}' installer: fuel - <<: *danube + <<: *euphrates # PODs for verify jobs triggered by each patch upload # - ool-virtual1: # slave-label: '{pod}' @@ -380,6 +380,7 @@ - 'functest-cleanup' - 'functest-daily' - 'functest-store-results' + - 'functest-exit' - builder: name: functest-arm-daily-builder diff --git a/jjb/functest/functest-project-jobs.yml b/jjb/functest/functest-project-jobs.yml index c25e4ab4a..329db5b7e 100644 --- a/jjb/functest/functest-project-jobs.yml +++ b/jjb/functest/functest-project-jobs.yml @@ -17,10 +17,10 @@ branch: '{stream}' gs-pathname: '' disabled: false - - danube: + - euphrates: branch: 'stable/{stream}' gs-pathname: '/{stream}' - disabled: true + disabled: false phase: - 'unit-tests-and-docs': diff --git a/jjb/functest/functest-weekly-jobs.yml b/jjb/functest/functest-weekly-jobs.yml index 59d24cc87..fe331e03c 100644 --- a/jjb/functest/functest-weekly-jobs.yml +++ b/jjb/functest/functest-weekly-jobs.yml @@ -15,12 +15,12 @@ gs-pathname: '' docker-tag: 'latest' disabled: false - danube: &danube - stream: danube + euphrates: &euphrates + stream: euphrates branch: 'stable/{stream}' gs-pathname: '/{stream}' docker-tag: 'stable' - disabled: true + disabled: false #-------------------------------- # POD, INSTALLER, AND BRANCH MAPPING #-------------------------------- @@ -42,11 +42,11 @@ - baremetal: slave-label: fuel-baremetal installer: fuel - <<: *danube + <<: *euphrates - virtual: slave-label: fuel-virtual installer: fuel - <<: *danube + <<: *euphrates #-------------------------------- jobs: - 'functest-{installer}-{pod}-weekly-{stream}' diff --git a/jjb/global/slave-params.yml b/jjb/global/slave-params.yml index 19d5a9545..2018dd582 100644 --- a/jjb/global/slave-params.yml +++ b/jjb/global/slave-params.yml @@ -26,6 +26,28 @@ default-slaves: - lf-pod1 +- parameter: + name: 'apex-baremetal-euphrates-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'apex-baremetal-master' + - 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' + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - lf-pod1 + default-slaves: + - lf-pod1 + - parameter: name: 'apex-baremetal-danube-defaults' parameters: @@ -72,6 +94,30 @@ - lf-virtual2 - lf-virtual3 +- parameter: + name: 'apex-virtual-euphrates-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'apex-virtual-master' + - 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' + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - lf-virtual2 + - lf-virtual3 + default-slaves: + - lf-virtual2 + - lf-virtual3 + - parameter: name: 'apex-virtual-danube-defaults' parameters: diff --git a/jjb/ipv6/ipv6.yml b/jjb/ipv6/ipv6.yml index cc143bff9..f51c4970b 100644 --- a/jjb/ipv6/ipv6.yml +++ b/jjb/ipv6/ipv6.yml @@ -16,7 +16,7 @@ branch: '{stream}' gs-pathname: '' disabled: false - - danube: + - euphrates: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false diff --git a/jjb/kvmfornfv/kvmfornfv.yml b/jjb/kvmfornfv/kvmfornfv.yml index 5aafb0947..ad497e97d 100644 --- a/jjb/kvmfornfv/kvmfornfv.yml +++ b/jjb/kvmfornfv/kvmfornfv.yml @@ -9,7 +9,7 @@ branch: '{stream}' gs-pathname: '' disabled: false - - danube: + - euphrates: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: true diff --git a/jjb/moon/moon.yml b/jjb/moon/moon.yml index 573b098c9..aa4aa40f1 100644 --- a/jjb/moon/moon.yml +++ b/jjb/moon/moon.yml @@ -11,6 +11,9 @@ - master: branch: '{stream}' gs-pathname: '' + - euphrates: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' - job-template: name: 'moon-verify-{stream}' diff --git a/jjb/octopus/octopus.yml b/jjb/octopus/octopus.yml index c06fa89e8..f51db1bc1 100644 --- a/jjb/octopus/octopus.yml +++ b/jjb/octopus/octopus.yml @@ -14,7 +14,7 @@ branch: '{stream}' gs-pathname: '' disabled: false - - danube: + - euphrates: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false diff --git a/jjb/opnfvdocs/opnfvdocs.yml b/jjb/opnfvdocs/opnfvdocs.yml index 6f63db96b..95bc8a9dd 100644 --- a/jjb/opnfvdocs/opnfvdocs.yml +++ b/jjb/opnfvdocs/opnfvdocs.yml @@ -18,7 +18,7 @@ branch: '{stream}' gs-pathname: '' disabled: false - - danube: + - euphrates: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false diff --git a/jjb/ovn4nfv/ovn4nfv-project-jobs.yml b/jjb/ovn4nfv/ovn4nfv-project-jobs.yml index 8c82cac5e..b5e078ca6 100644 --- a/jjb/ovn4nfv/ovn4nfv-project-jobs.yml +++ b/jjb/ovn4nfv/ovn4nfv-project-jobs.yml @@ -10,6 +10,10 @@ branch: '{stream}' gs-pathname: '' disabled: false + - euphrates: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false jobs: - 'ovn4nfv-build-{stream}' diff --git a/jjb/parser/parser.yml b/jjb/parser/parser.yml index e9a4c9dc7..87544196a 100644 --- a/jjb/parser/parser.yml +++ b/jjb/parser/parser.yml @@ -16,7 +16,7 @@ branch: '{stream}' gs-pathname: '' disabled: false - - danube: + - euphrates: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false diff --git a/jjb/pharos/pharos.yml b/jjb/pharos/pharos.yml index 1009d6497..0c104c0c0 100644 --- a/jjb/pharos/pharos.yml +++ b/jjb/pharos/pharos.yml @@ -16,7 +16,7 @@ branch: '{stream}' gs-pathname: '' disabled: false - - danube: + - euphrates: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false diff --git a/jjb/promise/promise.yml b/jjb/promise/promise.yml index 3e328dc84..3f1d9e23b 100644 --- a/jjb/promise/promise.yml +++ b/jjb/promise/promise.yml @@ -16,7 +16,7 @@ branch: '{stream}' gs-pathname: '' disabled: false - - danube: + - euphrates: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false diff --git a/jjb/qtip/qtip-experimental-jobs.yml b/jjb/qtip/qtip-experimental-jobs.yml index 23e441a1c..4c336d1d5 100644 --- a/jjb/qtip/qtip-experimental-jobs.yml +++ b/jjb/qtip/qtip-experimental-jobs.yml @@ -13,6 +13,10 @@ branch: '{stream}' gs-pathname: '' disabled: false + - euphrates: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false ################################ ## job templates diff --git a/jjb/qtip/qtip-verify-jobs.yml b/jjb/qtip/qtip-verify-jobs.yml index 26a97066f..a91972823 100644 --- a/jjb/qtip/qtip-verify-jobs.yml +++ b/jjb/qtip/qtip-verify-jobs.yml @@ -15,7 +15,7 @@ branch: '{stream}' gs-pathname: '' disabled: false - - danube: + - euphrates: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false diff --git a/jjb/releng/opnfv-docker-arm.yml b/jjb/releng/opnfv-docker-arm.yml index 21d569880..acf123142 100644 --- a/jjb/releng/opnfv-docker-arm.yml +++ b/jjb/releng/opnfv-docker-arm.yml @@ -14,6 +14,10 @@ stream: danube branch: 'stable/{stream}' disabled: false + euphrates: &euphrates + stream: euphrates + branch: 'stable/{stream}' + disabled: false functest-arm-receivers: &functest-arm-receivers receivers: > cristina.pauna@enea.com @@ -96,7 +100,47 @@ project: 'yardstick' <<: *master <<: *yardstick-arm-receivers - # projects with jobs for stable + # projects with jobs for stable/euphrates + - 'storperf-master': + project: 'storperf' + dockerdir: 'docker/storperf-master' + dockerfile: 'Dockerfile' + docker_repo_name: 'opnfv/storperf-master' + arch_tag: 'aarch64' + <<: *euphrates + <<: *storperf-arm-receivers + - 'storperf-graphite': + project: 'storperf' + dockerdir: 'docker/storperf-graphite' + dockerfile: 'Dockerfile' + docker_repo_name: 'opnfv/storperf-graphite' + arch_tag: 'aarch64' + <<: *euphrates + <<: *storperf-arm-receivers + - 'storperf-httpfrontend': + project: 'storperf' + dockerdir: 'docker/storperf-httpfrontend' + dockerfile: 'Dockerfile' + docker_repo_name: 'opnfv/storperf-httpfrontend' + arch_tag: 'aarch64' + <<: *euphrates + <<: *storperf-arm-receivers + - 'storperf-reporting': + project: 'storperf' + dockerdir: 'docker/storperf-reporting' + dockerfile: 'Dockerfile' + docker_repo_name: 'opnfv/storperf-reporting' + arch_tag: 'aarch64' + <<: *euphrates + <<: *storperf-arm-receivers + - 'storperf-swaggerui': + project: 'storperf' + dockerdir: 'docker/storperf-swaggerui' + dockerfile: 'Dockerfile' + docker_repo_name: 'opnfv/storperf-swaggerui' + arch_tag: 'aarch64' + <<: *euphrates + <<: *storperf-arm-receivers jobs: - '{dockerrepo}-docker-build-arm-push-{stream}' diff --git a/jjb/releng/opnfv-docker.yml b/jjb/releng/opnfv-docker.yml index 649591562..3b506bb54 100644 --- a/jjb/releng/opnfv-docker.yml +++ b/jjb/releng/opnfv-docker.yml @@ -14,12 +14,15 @@ stream: danube branch: 'stable/{stream}' disabled: false + euphrates: &euphrates + stream: euphrates + branch: 'stable/{stream}' + disabled: false functest-receivers: &functest-receivers receivers: > - jose.lausuch@ericsson.com morgan.richomme@orange.com + jalausuch@suse.com morgan.richomme@orange.com cedric.ollivier@orange.com feng.xiaowei@zte.com.cn - yaohelan@huawei.com helanyao@gmail.com - juha.kosonen@nokia.com + juha.kosonen@nokia.com wangwulin@huawei.com storperf-receivers: &storperf-receivers receivers: > mark.beierl@emc.com @@ -97,27 +100,54 @@ project: 'yardstick' <<: *master <<: *other-receivers - # projects with jobs for stable + # projects with jobs for Danube - 'bottlenecks': project: 'bottlenecks' <<: *danube <<: *other-receivers - - 'functest': - project: 'functest' - <<: *danube - <<: *functest-receivers - 'qtip': project: 'qtip' - <<: *danube - <<: *other-receivers - - 'storperf': - project: 'storperf' - <<: *danube + <<: *euphrates <<: *other-receivers - 'yardstick': project: 'yardstick' <<: *danube <<: *other-receivers + # projects with jobs for euphrates + - 'functest': + project: 'functest' + <<: *euphrates + <<: *functest-receivers + - 'storperf-master': + project: 'storperf' + dockerdir: 'docker/storperf-master' + arch_tag: 'x86_64' + <<: *euphrates + <<: *storperf-receivers + - 'storperf-graphite': + project: 'storperf' + dockerdir: 'docker/storperf-graphite' + arch_tag: 'x86_64' + <<: *euphrates + <<: *storperf-receivers + - 'storperf-httpfrontend': + project: 'storperf' + dockerdir: 'docker/storperf-httpfrontend' + arch_tag: 'x86_64' + <<: *euphrates + <<: *storperf-receivers + - 'storperf-reporting': + project: 'storperf' + dockerdir: 'docker/storperf-reporting' + arch_tag: 'x86_64' + <<: *euphrates + <<: *storperf-receivers + - 'storperf-swaggerui': + project: 'storperf' + dockerdir: 'docker/storperf-swaggerui' + arch_tag: 'x86_64' + <<: *euphrates + <<: *storperf-receivers jobs: - "{dockerrepo}-docker-build-push-{stream}" diff --git a/jjb/sfc/sfc-project-jobs.yml b/jjb/sfc/sfc-project-jobs.yml index 379fe793a..827be4ee9 100644 --- a/jjb/sfc/sfc-project-jobs.yml +++ b/jjb/sfc/sfc-project-jobs.yml @@ -14,10 +14,10 @@ branch: '{stream}' gs-pathname: '' disabled: false - - danube: + - euphrates: branch: 'stable/{stream}' gs-pathname: '/{stream}' - disabled: true + disabled: false - job-template: name: 'sfc-verify-{stream}' diff --git a/jjb/stor4nfv/stor4nfv-project.yml b/jjb/stor4nfv/stor4nfv-project.yml new file mode 100644 index 000000000..5885c4675 --- /dev/null +++ b/jjb/stor4nfv/stor4nfv-project.yml @@ -0,0 +1,64 @@ +--- +################################################### +# All the jobs except verify have been removed! +# They will only be enabled on request by projects! +################################################### +- project: + name: stor4nfv + + project: '{name}' + + jobs: + - 'stor4nfv-verify-{stream}' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - danube: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + +- job-template: + name: 'stor4nfv-verify-{stream}' + + disabled: '{obj:disabled}' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' + + scm: + - 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' + + builders: + - shell: | + echo "Nothing to verify!" diff --git a/jjb/storperf/storperf-daily-jobs.yml b/jjb/storperf/storperf-daily-jobs.yml index e849e29e1..bf04712c7 100644 --- a/jjb/storperf/storperf-daily-jobs.yml +++ b/jjb/storperf/storperf-daily-jobs.yml @@ -14,6 +14,12 @@ branch: '{stream}' gs-pathname: '' docker-tag: 'latest' + euphrates: &euphrates + stream: euphrates + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + docker-tag: 'stable' #-------------------------------- # POD, INSTALLER, AND BRANCH MAPPING #-------------------------------- @@ -59,6 +65,10 @@ slave-label: apex-baremetal-master installer: apex <<: *master + - baremetal: + slave-label: apex-baremetal-master + installer: apex + <<: *euphrates ## armband CI PODs # - armband-baremetal: # slave-label: armband-baremetal diff --git a/jjb/storperf/storperf-verify-jobs.yml b/jjb/storperf/storperf-verify-jobs.yml index f99ceeacb..0b01fd1f3 100644 --- a/jjb/storperf/storperf-verify-jobs.yml +++ b/jjb/storperf/storperf-verify-jobs.yml @@ -12,6 +12,11 @@ gs-pathname: '' disabled: false docker-tag: 'latest' + - euphrates: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + docker-tag: 'stable' #-------------------------------- # patch verification phases #-------------------------------- @@ -172,13 +177,13 @@ zoom-coverage-chart: "true" targets: - files: - healthy: 10 - unhealthy: 20 - failing: 30 + healthy: 60 + unhealthy: 50 + failing: 40 - method: - healthy: 50 - unhealthy: 40 - failing: 30 + healthy: 60 + unhealthy: 50 + failing: 40 - email-jenkins-admins-on-failure - publisher: name: 'storperf-verify-build-x86_64-publishers-macro' diff --git a/jjb/storperf/storperf.yml b/jjb/storperf/storperf.yml index 307becfed..caae853a0 100644 --- a/jjb/storperf/storperf.yml +++ b/jjb/storperf/storperf.yml @@ -12,7 +12,7 @@ gs-pathname: '' disabled: false docker-tag: 'latest' - - danube: + - euphrates: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false diff --git a/jjb/vswitchperf/vswitchperf.yml b/jjb/vswitchperf/vswitchperf.yml index d05f4c1ee..bab8b24c2 100644 --- a/jjb/vswitchperf/vswitchperf.yml +++ b/jjb/vswitchperf/vswitchperf.yml @@ -16,7 +16,7 @@ gs-pathname: '' disabled: false slave-label: 'opnfv-build-ubuntu' - - danube: + - euphrates: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false diff --git a/jjb/xci/xci-verify-jobs.yml b/jjb/xci/xci-verify-jobs.yml index f0a673bd8..324bfd14c 100644 --- a/jjb/xci/xci-verify-jobs.yml +++ b/jjb/xci/xci-verify-jobs.yml @@ -89,11 +89,11 @@ branch-pattern: '**/{branch}' disable-strict-forbidden-file-verification: 'true' file-paths: + - compare-type: ANT + pattern: 'bifrost/**' - compare-type: ANT pattern: 'xci/**' forbidden-file-paths: - - compare-type: ANT - pattern: 'bifrost/**' - compare-type: ANT pattern: 'prototypes/**' - compare-type: ANT @@ -111,6 +111,9 @@ - label: name: SLAVE_LABEL default: 'xci-virtual-{distro}' + - string: + name: CLEAN_DIB_IMAGES + default: 'true' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -128,6 +131,7 @@ predefined-parameters: | DISTRO={distro} DEPLOY_SCENARIO=os-nosdn-nofeature-noha + CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES node-parameters: true kill-phase-on: FAILURE abort-all-job: true @@ -140,6 +144,7 @@ predefined-parameters: | DISTRO={distro} DEPLOY_SCENARIO=os-nosdn-nofeature-noha + CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES FUNCTEST_SUITE_NAME=healthcheck node-parameters: true kill-phase-on: NEVER @@ -178,6 +183,9 @@ - string: name: XCI_FLAVOR default: 'mini' + - string: + name: CLEAN_DIB_IMAGES + default: 'true' - string: name: OPNFV_RELENG_DEV_PATH default: $WORKSPACE/ diff --git a/jjb/yardstick/yardstick-daily-jobs.yml b/jjb/yardstick/yardstick-daily-jobs.yml index 5d38a0b7d..4c54b735a 100644 --- a/jjb/yardstick/yardstick-daily-jobs.yml +++ b/jjb/yardstick/yardstick-daily-jobs.yml @@ -14,8 +14,8 @@ branch: '{stream}' gs-pathname: '' docker-tag: 'latest' - danube: &danube - stream: danube + euphrates: &euphrates + stream: euphrates branch: 'stable/{stream}' gs-pathname: '{stream}' docker-tag: 'stable' @@ -40,15 +40,15 @@ auto-trigger-name: 'daily-trigger-disabled' <<: *master - virtual: - slave-label: apex-virtual-danube + slave-label: apex-virtual-euphrates installer: apex auto-trigger-name: 'daily-trigger-disabled' - <<: *danube + <<: *euphrates - baremetal: - slave-label: apex-baremetal-danube + slave-label: apex-baremetal-euphrates installer: apex auto-trigger-name: 'daily-trigger-disabled' - <<: *danube + <<: *euphrates # fuel CI PODs - baremetal: slave-label: fuel-baremetal @@ -64,12 +64,12 @@ slave-label: fuel-baremetal installer: fuel auto-trigger-name: 'daily-trigger-disabled' - <<: *danube + <<: *euphrates - virtual: slave-label: fuel-virtual installer: fuel auto-trigger-name: 'daily-trigger-disabled' - <<: *danube + <<: *euphrates # armband CI PODs - armband-baremetal: slave-label: armband-baremetal @@ -85,12 +85,12 @@ slave-label: armband-baremetal installer: fuel auto-trigger-name: 'daily-trigger-disabled' - <<: *danube + <<: *euphrates - armband-virtual: slave-label: armband-virtual installer: fuel auto-trigger-name: 'daily-trigger-disabled' - <<: *danube + <<: *euphrates # joid CI PODs - baremetal: slave-label: joid-baremetal @@ -106,12 +106,12 @@ slave-label: joid-baremetal installer: joid auto-trigger-name: 'daily-trigger-disabled' - <<: *danube + <<: *euphrates - virtual: slave-label: joid-virtual installer: joid auto-trigger-name: 'daily-trigger-disabled' - <<: *danube + <<: *euphrates # compass CI PODs - baremetal: slave-label: compass-baremetal @@ -127,12 +127,12 @@ slave-label: compass-baremetal installer: compass auto-trigger-name: 'daily-trigger-disabled' - <<: *danube + <<: *euphrates - virtual: slave-label: compass-virtual installer: compass auto-trigger-name: 'daily-trigger-disabled' - <<: *danube + <<: *euphrates #-------------------------------- # None-CI PODs #-------------------------------- @@ -150,7 +150,7 @@ slave-label: '{pod}' installer: fuel auto-trigger-name: 'daily-trigger-disabled' - <<: *danube + <<: *euphrates - zte-pod2: slave-label: '{pod}' installer: fuel @@ -165,7 +165,7 @@ slave-label: '{pod}' installer: fuel auto-trigger-name: 'daily-trigger-disabled' - <<: *danube + <<: *euphrates - orange-pod2: slave-label: '{pod}' installer: joid @@ -321,14 +321,14 @@ default: '-i 104.197.68.199:8086' description: 'Arguments to use in order to choose the backend DB' - parameter: - name: 'yardstick-params-apex-virtual-danube' + name: 'yardstick-params-apex-virtual-euphrates' parameters: - string: name: YARDSTICK_DB_BACKEND default: '-i 104.197.68.199:8086' description: 'Arguments to use in order to choose the backend DB' - parameter: - name: 'yardstick-params-apex-baremetal-danube' + name: 'yardstick-params-apex-baremetal-euphrates' parameters: - string: name: YARDSTICK_DB_BACKEND diff --git a/jjb/yardstick/yardstick-project-jobs.yml b/jjb/yardstick/yardstick-project-jobs.yml index 643c1f932..7738aeda5 100644 --- a/jjb/yardstick/yardstick-project-jobs.yml +++ b/jjb/yardstick/yardstick-project-jobs.yml @@ -16,7 +16,7 @@ branch: '{stream}' gs-pathname: '' disabled: false - - danube: + - euphrates: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false diff --git a/utils/test/opts/one_click_deploy.py b/utils/test/opts/one_click_deploy.py new file mode 100644 index 000000000..074827021 --- /dev/null +++ b/utils/test/opts/one_click_deploy.py @@ -0,0 +1,67 @@ +import argparse +import os + +from jinja2 import Environment + +DOCKER_COMPOSE_FILE = './docker-compose.yml' +DOCKER_COMPOSE_TEMPLATE = """ +version: '2' +services: + mongo: + image: mongo:3.2.1 + container_name: opnfv-mongo + testapi: + image: opnfv/testapi:latest + container_name: opnfv-testapi + environment: + - mongodb_url=mongodb://mongo:27017/ + - base_url={{ vars.base_url }} + ports: + - "{{ vars.testapi_port }}:8000" + links: + - mongo + reporting: + image: opnfv/reporting:latest + container_name: opnfv-reporting + ports: + - "{{ vars.reporting_port }}:8000" +""" + + +def render_docker_compose(testapi_port, reporting_port, testapi_base_url): + vars = { + "testapi_port": testapi_port, + "reporting_port": reporting_port, + "base_url": testapi_base_url, + } + yml = Environment().from_string(DOCKER_COMPOSE_TEMPLATE).render(vars=vars) + with open(DOCKER_COMPOSE_FILE, 'w') as f: + f.write(yml) + f.close() + + +def main(args): + render_docker_compose(args.testapi_port, + args.reporting_port, + args.testapi_base_url) + os.system('docker-compose -f {} up -d'.format(DOCKER_COMPOSE_FILE)) + + +if __name__ == '__main__': + parser = argparse.ArgumentParser(description='Backup MongoDBs') + parser.add_argument('-tp', '--testapi-port', + type=int, + required=False, + default=8082, + help='testapi exposed port') + parser.add_argument('-tl', '--testapi-base-url', + type=str, + required=True, + help='testapi exposed base-url') + parser.add_argument('-rp', '--reporting-port', + type=int, + required=False, + default=8084, + help='reporting exposed port') + + main(parser.parse_args()) diff --git a/utils/test/reporting/html/euphrates.html b/utils/test/reporting/html/euphrates.html new file mode 100644 index 000000000..86258ac23 --- /dev/null +++ b/utils/test/reporting/html/euphrates.html @@ -0,0 +1,141 @@ + + + + + Phantom by HTML5 UP + + + + + + + + + +
+ + + + + + + + + +
+
+
+

OPNFV Testing Working group

+
+
+

Follow

+ +
+ +
+
+ +
+ + + + + + + + + + diff --git a/utils/test/reporting/html/functest-euphrates.html b/utils/test/reporting/html/functest-euphrates.html new file mode 100644 index 000000000..c203e6151 --- /dev/null +++ b/utils/test/reporting/html/functest-euphrates.html @@ -0,0 +1,109 @@ + + + + + Phantom by HTML5 UP + + + + + + + + + +
+ + + + + + + + + + +
+
+
+

OPNFV Testing Working group

+
+
+

Follow

+ +
+ +
+
+ +
+ + + + + + + + + + diff --git a/utils/test/reporting/html/index.html b/utils/test/reporting/html/index.html index c6627ffe5..27890451f 100644 --- a/utils/test/reporting/html/index.html +++ b/utils/test/reporting/html/index.html @@ -37,17 +37,6 @@ - - -
@@ -61,7 +50,7 @@

Colorado

-

Colorado 1.0 released on the 22nd of September

+

Colorado 1.0 (22/09/2016)

@@ -72,16 +61,27 @@

Danube

-

Danube 1.0 planned on the 22nd of March

+

Danube 1.0 (22/03/2017)

-
+ +
+ + + + +

Master

Master

diff --git a/utils/test/reporting/img/misc-npc-letterblock-m-800px.png b/utils/test/reporting/img/misc-npc-letterblock-m-800px.png new file mode 100644 index 000000000..9d62e9e73 Binary files /dev/null and b/utils/test/reporting/img/misc-npc-letterblock-m-800px.png differ diff --git a/utils/test/reporting/reporting/reporting.yaml b/utils/test/reporting/reporting/reporting.yaml index 9bb90b806..dae832ab5 100644 --- a/utils/test/reporting/reporting/reporting.yaml +++ b/utils/test/reporting/reporting/reporting.yaml @@ -9,6 +9,7 @@ general: versions: - master + - euphrates - danube log: @@ -35,15 +36,8 @@ testapi: functest: blacklist: - - ovno - - security_scan - - healthcheck - odl_netvirt - - aaa - - cloudify_ims - - orchestra_ims - juju_epc - - orchestra max_scenario_criteria: 50 test_conf: https://git.opnfv.org/cgit/functest/plain/functest/ci/testcases.yaml log_level: ERROR diff --git a/utils/test/reporting/reporting/yardstick/template/index-status-tmpl.html b/utils/test/reporting/reporting/yardstick/template/index-status-tmpl.html index 77ba9502f..f9b852490 100644 --- a/utils/test/reporting/reporting/yardstick/template/index-status-tmpl.html +++ b/utils/test/reporting/reporting/yardstick/template/index-status-tmpl.html @@ -25,7 +25,7 @@ } // trend line management - d3.csv("./scenario_history.csv", function(data) { + d3.csv("./scenario_history.txt", function(data) { // *************************************** // Create the trend line {% for scenario in scenario_results.keys() -%} diff --git a/utils/test/testapi/opnfv_testapi/tests/unit/resources/test_result.py b/utils/test/testapi/opnfv_testapi/tests/unit/resources/test_result.py index f5026c957..1df31f36c 100644 --- a/utils/test/testapi/opnfv_testapi/tests/unit/resources/test_result.py +++ b/utils/test/testapi/opnfv_testapi/tests/unit/resources/test_result.py @@ -11,6 +11,7 @@ from datetime import datetime from datetime import timedelta import httplib import json +import urllib import unittest from opnfv_testapi.common import message @@ -268,29 +269,29 @@ class TestResultGet(TestResultBase): @executor.query(httplib.BAD_REQUEST, message.must_int('period')) def test_queryPeriodNotInt(self): - return self._set_query('period=a') + return self._set_query(period='a') @executor.query(httplib.OK, '_query_period_one', 1) def test_queryPeriodSuccess(self): - return self._set_query('period=5') + return self._set_query(period=5) @executor.query(httplib.BAD_REQUEST, message.must_int('last')) def test_queryLastNotInt(self): - return self._set_query('last=a') + return self._set_query(last='a') @executor.query(httplib.OK, '_query_last_one', 1) def test_queryLast(self): - return self._set_query('last=1') + return self._set_query(last=1) @executor.query(httplib.OK, '_query_success', 4) def test_queryPublic(self): self._create_public_data() - return self._set_query('') + return self._set_query() @executor.query(httplib.OK, '_query_success', 1) def test_queryPrivate(self): self._create_private_data() - return self._set_query('public=false') + return self._set_query(public='false') @executor.query(httplib.OK, '_query_period_one', 1) def test_combination(self): @@ -303,12 +304,11 @@ class TestResultGet(TestResultBase): 'scenario', 'trust_indicator', 'criteria', - 'period=5') + period=5) @executor.query(httplib.OK, '_query_success', 0) def test_notFound(self): - return self._set_query('pod=notExistPod', - 'project', + return self._set_query('project', 'case', 'version', 'installer', @@ -316,7 +316,8 @@ class TestResultGet(TestResultBase): 'scenario', 'trust_indicator', 'criteria', - 'period=1') + pod='notExistPod', + period=1) @executor.query(httplib.OK, '_query_success', 1) def test_filterErrorStartdate(self): @@ -324,7 +325,7 @@ class TestResultGet(TestResultBase): self._create_error_start_date('None') self._create_error_start_date('null') self._create_error_start_date('') - return self._set_query('period=5') + return self._set_query(period=5) def _query_success(self, body, number): self.assertEqual(number, len(body.results)) @@ -363,18 +364,16 @@ class TestResultGet(TestResultBase): self.create(req) return req - def _set_query(self, *args): + def _set_query(self, *args, **kwargs): def get_value(arg): return self.__getattribute__(arg) \ if arg != 'trust_indicator' else self.trust_indicator.current - uri = '' + query = [] for arg in args: - if arg: - if '=' in arg: - uri += arg + '&' - else: - uri += '{}={}&'.format(arg, get_value(arg)) - return uri[0: -1] + query.append((arg, get_value(arg))) + for k, v in kwargs.iteritems(): + query.append((k, v)) + return urllib.urlencode(query) class TestResultUpdate(TestResultBase):