diff options
Diffstat (limited to 'jjb')
25 files changed, 1105 insertions, 317 deletions
diff --git a/jjb/apex/apex.yml b/jjb/apex/apex.yml index a395cf2e5..f18fe4041 100644 --- a/jjb/apex/apex.yml +++ b/jjb/apex/apex.yml @@ -13,13 +13,14 @@ - 'apex-csit-promote-daily-{stream}' - 'apex-fdio-promote-daily-{stream}' - 'apex-verify-iso-{stream}' - - 'apex-run-deploy-test-baremetal-{stream}' + - 'apex-{scenario}-baremetal-{scenario_stream}' + - 'apex-testsuite-{scenario}-baremetal-{scenario_stream}' - 'apex-upload-snapshot' - 'apex-create-snapshot' # stream: branch with - in place of / (eg. stable-arno) # branch: branch (eg. stable/arno) stream: - - master: + - master: &master branch: 'master' gs-pathname: '' build-slave: 'apex-build-master' @@ -27,8 +28,9 @@ baremetal-slave: 'apex-baremetal-master' verify-scenario: 'os-odl-nofeature-ha' concurrent-builds: 3 + scenario_stream: 'master' - - danube: + - danube: &danube branch: 'stable/danube' gs-pathname: '/danube' build-slave: 'apex-build-danube' @@ -36,7 +38,74 @@ baremetal-slave: 'apex-baremetal-danube' verify-scenario: 'os-odl_l3-nofeature-ha' concurrent-builds: 1 - disabled: false + scenario_stream: 'danube' + disabled: true + + scenario: + - 'os-nosdn-nofeature-noha': + <<: *danube + - 'os-nosdn-nofeature-ha': + <<: *danube + - 'os-nosdn-nofeature-ha-ipv6': + <<: *danube + - 'os-nosdn-ovs-noha': + <<: *danube + - 'os-nosdn-ovs-ha': + <<: *danube + - 'os-nosdn-fdio-noha': + <<: *danube + - 'os-nosdn-fdio-ha': + <<: *danube + - 'os-nosdn-kvm-ha': + <<: *danube + - 'os-nosdn-kvm-noha': + <<: *danube + - 'os-odl_l2-fdio-noha': + <<: *danube + - 'os-odl_l2-fdio-ha': + <<: *danube + - 'os-odl_netvirt-fdio-noha': + <<: *danube + - 'os-odl_l2-sfc-noha': + <<: *danube + - 'os-odl_l3-nofeature-noha': + <<: *danube + - 'os-odl_l3-nofeature-ha': + <<: *danube + - 'os-odl_l3-ovs-noha': + <<: *danube + - 'os-odl_l3-ovs-ha': + <<: *danube + - 'os-odl-bgpvpn-ha': + <<: *danube + - 'os-odl-gluon-noha': + <<: *danube + - 'os-odl_l3-fdio-noha': + <<: *danube + - 'os-odl_l3-fdio-ha': + <<: *danube + - 'os-odl_l3-fdio_dvr-noha': + <<: *danube + - 'os-odl_l3-fdio_dvr-ha': + <<: *danube + - 'os-odl_l3-csit-noha': + <<: *danube + - 'os-onos-nofeature-ha': + <<: *danube + - 'os-ovn-nofeature-noha': + <<: *danube + - 'os-nosdn-nofeature-noha': + <<: *master + - 'os-nosdn-nofeature-ha': + <<: *master + - 'os-odl-nofeature-ha': + <<: *master + - 'os-odl-nofeature-noha': + <<: *master + - 'os-odl-bgpvpn-ha': + <<: *master + - 'os-ovn-nofeature-noha': + <<: *master platform: - 'baremetal' @@ -478,11 +547,6 @@ - job-template: name: 'apex-deploy-{platform}-{stream}' - # Job template for virtual deployment - # - # Required Variables: - # stream: branch with - in place of / (eg. stable) - # branch: branch (eg. stable) node: 'apex-{platform}-{stream}' concurrent: true @@ -498,6 +562,7 @@ fail: true parameters: + - '{project}-{platform}-{stream}-defaults' - project-parameter: project: '{project}' branch: '{branch}' @@ -521,6 +586,7 @@ - 'apex-deploy.*' - 'functest.*' - 'yardstick.*' + - 'dovetail.*' - throttle: max-per-node: 1 max-total: 10 @@ -536,13 +602,8 @@ # Baremetal Deploy and Test - job-template: - name: 'apex-run-deploy-test-baremetal-{stream}' + name: 'apex-{scenario}-baremetal-{scenario_stream}' - # Job template for daily build - # - # Required Variables: - # stream: branch with - in place of / (eg. stable) - # branch: branch (eg. stable) project-type: 'multijob' disabled: false @@ -552,7 +613,7 @@ parameters: - '{project}-defaults' - - '{project}-baremetal-{stream}-defaults' + - '{project}-baremetal-{scenario_stream}-defaults' - project-parameter: project: '{project}' branch: '{branch}' @@ -560,7 +621,7 @@ gs-pathname: '{gs-pathname}' - string: name: DEPLOY_SCENARIO - default: '{verify-scenario}' + default: '{scenario}' description: "Scenario to deploy with." properties: - logrotate-default @@ -572,6 +633,11 @@ - '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" @@ -579,7 +645,7 @@ name: 'Baremetal Deploy' condition: ALWAYS projects: - - name: 'apex-deploy-baremetal-{stream}' + - name: 'apex-deploy-baremetal-{scenario_stream}' node-parameters: true current-parameters: true predefined-parameters: | @@ -591,10 +657,62 @@ abort-all-job: true git-revision: false - multijob: + name: 'OPNFV Test Suite' + condition: SUCCESSFUL + projects: + - name: 'apex-testsuite-{scenario}-baremetal-{scenario_stream}' + node-parameters: true + current-parameters: false + predefined-parameters: + DEPLOY_SCENARIO=$DEPLOY_SCENARIO + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + + +# Baremetal test job +- job-template: + name: 'apex-testsuite-{scenario}-baremetal-{scenario_stream}' + + project-type: 'multijob' + + disabled: false + + parameters: + - '{project}-defaults' + - '{project}-baremetal-{scenario_stream}-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - apex-parameter: + gs-pathname: '{gs-pathname}' + - string: + name: DEPLOY_SCENARIO + default: '{scenario}' + 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.*' + - 'apex-testsuite-.+-baremetal-.+' + - throttle: + max-per-node: 1 + max-total: 10 + option: 'project' + builders: + - description-setter: + description: "Testing on $NODE_NAME - Scenario: $DEPLOY_SCENARIO" + - multijob: name: Functest condition: ALWAYS projects: - - name: 'functest-apex-baremetal-daily-{stream}' + - name: 'functest-apex-baremetal-daily-{scenario_stream}' node-parameters: true current-parameters: false predefined-parameters: @@ -606,14 +724,34 @@ name: Yardstick condition: ALWAYS projects: - - name: 'yardstick-apex-baremetal-daily-{stream}' + - name: 'yardstick-apex-baremetal-daily-{scenario_stream}' + node-parameters: true + current-parameters: false + predefined-parameters: + DEPLOY_SCENARIO=$DEPLOY_SCENARIO + kill-phase-on: NEVER + abort-all-job: false + git-revision: false + - multijob: + name: Dovetail + condition: ALWAYS + projects: + - name: 'dovetail-apex-baremetal-proposed_tests-{scenario_stream}' node-parameters: true current-parameters: false predefined-parameters: DEPLOY_SCENARIO=$DEPLOY_SCENARIO kill-phase-on: NEVER + enable-condition: "def m = '$DEPLOY_SCENARIO' ==~ /os-(nosdn-nofeature|nosdn-kvm|odl_l3-fdio)-ha/" abort-all-job: false git-revision: false + - conditional-step: + condition-kind: current-status + condition-worst: SUCCESS + condtion-best: SUCCESS + on-evaluation-failure: mark-unstable + steps: + - shell: 'echo "Tests Passed"' # danube Daily @@ -686,261 +824,235 @@ condition: SUCCESSFUL projects: - - name: 'apex-run-deploy-test-baremetal-danube' + - name: 'apex-os-nosdn-nofeature-noha-baremetal-danube' node-parameters: false current-parameters: false predefined-parameters: | - DEPLOY_SCENARIO=os-nosdn-nofeature-noha OPNFV_CLEAN=yes kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-run-deploy-test-baremetal-danube' + - name: 'apex-os-nosdn-nofeature-ha-baremetal-danube' node-parameters: false current-parameters: false predefined-parameters: | - DEPLOY_SCENARIO=os-nosdn-nofeature-ha OPNFV_CLEAN=yes kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-run-deploy-test-baremetal-danube' + - name: 'apex-os-nosdn-nofeature-ha-ipv6-baremetal-danube' node-parameters: false current-parameters: false predefined-parameters: | - DEPLOY_SCENARIO=os-nosdn-nofeature-ha-ipv6 OPNFV_CLEAN=yes kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-run-deploy-test-baremetal-danube' + - name: 'apex-os-nosdn-ovs-noha-baremetal-danube' node-parameters: false current-parameters: false predefined-parameters: | - DEPLOY_SCENARIO=os-nosdn-ovs-noha OPNFV_CLEAN=yes kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-run-deploy-test-baremetal-danube' + - name: 'apex-os-nosdn-ovs-ha-baremetal-danube' node-parameters: false current-parameters: false predefined-parameters: | - DEPLOY_SCENARIO=os-nosdn-ovs-ha OPNFV_CLEAN=yes kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-run-deploy-test-baremetal-danube' + - name: 'apex-os-nosdn-fdio-noha-baremetal-danube' node-parameters: false current-parameters: false predefined-parameters: | - DEPLOY_SCENARIO=os-nosdn-fdio-noha OPNFV_CLEAN=yes kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-run-deploy-test-baremetal-danube' + - name: 'apex-os-nosdn-fdio-ha-baremetal-danube' node-parameters: false current-parameters: false predefined-parameters: | - DEPLOY_SCENARIO=os-nosdn-fdio-ha OPNFV_CLEAN=yes kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-run-deploy-test-baremetal-danube' + - name: 'apex-os-nosdn-kvm-ha-baremetal-danube' node-parameters: false current-parameters: false predefined-parameters: | - DEPLOY_SCENARIO=os-nosdn-kvm-ha OPNFV_CLEAN=yes kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-run-deploy-test-baremetal-danube' + - name: 'apex-os-nosdn-kvm-noha-baremetal-danube' node-parameters: false current-parameters: false predefined-parameters: | - DEPLOY_SCENARIO=os-nosdn-kvm-noha OPNFV_CLEAN=yes kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-run-deploy-test-baremetal-danube' + - name: 'apex-os-odl_l2-fdio-noha-baremetal-danube' node-parameters: false current-parameters: false predefined-parameters: | - DEPLOY_SCENARIO=os-odl_l2-fdio-noha OPNFV_CLEAN=yes kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-run-deploy-test-baremetal-danube' + - name: 'apex-os-odl_l2-fdio-ha-baremetal-danube' node-parameters: false current-parameters: false predefined-parameters: | - DEPLOY_SCENARIO=os-odl_l2-fdio-ha OPNFV_CLEAN=yes kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-run-deploy-test-baremetal-danube' + - name: 'apex-os-odl_netvirt-fdio-noha-baremetal-danube' node-parameters: false current-parameters: false predefined-parameters: | - DEPLOY_SCENARIO=os-odl_netvirt-fdio-noha OPNFV_CLEAN=yes kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-run-deploy-test-baremetal-danube' + - name: 'apex-os-odl_l2-sfc-noha-baremetal-danube' node-parameters: false current-parameters: false predefined-parameters: | - DEPLOY_SCENARIO=os-odl_l2-sfc-noha OPNFV_CLEAN=yes kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-run-deploy-test-baremetal-danube' + - name: 'apex-os-odl_l3-nofeature-noha-baremetal-danube' node-parameters: false current-parameters: false predefined-parameters: | - DEPLOY_SCENARIO=os-odl_l3-nofeature-noha OPNFV_CLEAN=yes kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-run-deploy-test-baremetal-danube' + - name: 'apex-os-odl_l3-nofeature-ha-baremetal-danube' node-parameters: false current-parameters: false predefined-parameters: | - DEPLOY_SCENARIO=os-odl_l3-nofeature-ha OPNFV_CLEAN=yes kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-run-deploy-test-baremetal-danube' + - name: 'apex-os-odl_l3-ovs-noha-baremetal-danube' node-parameters: false current-parameters: false predefined-parameters: | - DEPLOY_SCENARIO=os-odl_l3-ovs-noha OPNFV_CLEAN=yes kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-run-deploy-test-baremetal-danube' + - name: 'apex-os-odl_l3-ovs-ha-baremetal-danube' node-parameters: false current-parameters: false predefined-parameters: | - DEPLOY_SCENARIO=os-odl_l3-ovs-ha OPNFV_CLEAN=yes kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-run-deploy-test-baremetal-danube' + - name: 'apex-os-odl-bgpvpn-ha-baremetal-danube' node-parameters: false current-parameters: false predefined-parameters: | - DEPLOY_SCENARIO=os-odl-bgpvpn-ha OPNFV_CLEAN=yes kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-run-deploy-test-baremetal-danube' + - name: 'apex-os-odl-gluon-noha-baremetal-danube' node-parameters: false current-parameters: false predefined-parameters: | - DEPLOY_SCENARIO=os-odl-gluon-noha OPNFV_CLEAN=yes kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-run-deploy-test-baremetal-danube' + - name: 'apex-os-odl_l3-fdio-noha-baremetal-danube' node-parameters: false current-parameters: false predefined-parameters: | - DEPLOY_SCENARIO=os-odl_l3-fdio-noha OPNFV_CLEAN=yes kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-run-deploy-test-baremetal-danube' + - name: 'apex-os-odl_l3-fdio-ha-baremetal-danube' node-parameters: false current-parameters: false predefined-parameters: | - DEPLOY_SCENARIO=os-odl_l3-fdio-ha OPNFV_CLEAN=yes kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-run-deploy-test-baremetal-danube' + - name: 'apex-os-odl_l3-fdio_dvr-noha-baremetal-danube' node-parameters: false current-parameters: false predefined-parameters: | - DEPLOY_SCENARIO=os-odl_l3-fdio_dvr-noha OPNFV_CLEAN=yes kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-run-deploy-test-baremetal-danube' + - name: 'apex-os-odl_l3-fdio_dvr-ha-baremetal-danube' node-parameters: false current-parameters: false predefined-parameters: | - DEPLOY_SCENARIO=os-odl_l3-fdio_dvr-ha OPNFV_CLEAN=yes kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-run-deploy-test-baremetal-danube' + - name: 'apex-os-odl_l3-csit-noha-baremetal-danube' node-parameters: false current-parameters: false predefined-parameters: | - DEPLOY_SCENARIO=os-odl_l3-csit-noha OPNFV_CLEAN=yes kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-run-deploy-test-baremetal-danube' + - name: 'apex-os-onos-nofeature-ha-baremetal-danube' node-parameters: false current-parameters: false predefined-parameters: | - DEPLOY_SCENARIO=os-onos-nofeature-ha OPNFV_CLEAN=yes kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-run-deploy-test-baremetal-danube' + - name: 'apex-os-ovn-nofeature-noha-baremetal-danube' node-parameters: false current-parameters: false predefined-parameters: | - DEPLOY_SCENARIO=os-ovn-nofeature-noha OPNFV_CLEAN=yes kill-phase-on: NEVER abort-all-job: true @@ -1017,41 +1129,55 @@ condition: SUCCESSFUL projects: - - name: 'apex-run-deploy-test-baremetal-master' + - name: 'apex-os-nosdn-nofeature-noha-baremetal-master' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + + - name: 'apex-os-nosdn-nofeature-ha-baremetal-master' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + + - name: 'apex-os-odl-nofeature-ha-baremetal-master' node-parameters: false current-parameters: false predefined-parameters: | - DEPLOY_SCENARIO=os-nosdn-nofeature-noha OPNFV_CLEAN=yes kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-run-deploy-test-baremetal-master' + - name: 'apex-os-odl-nofeature-noha-baremetal-master' node-parameters: false current-parameters: false predefined-parameters: | - DEPLOY_SCENARIO=os-nosdn-nofeature-ha OPNFV_CLEAN=yes kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-run-deploy-test-baremetal-master' + - name: 'apex-os-odl-bgpvpn-ha-baremetal-master' node-parameters: false current-parameters: false predefined-parameters: | - DEPLOY_SCENARIO=os-odl-nofeature-ha OPNFV_CLEAN=yes kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-run-deploy-test-baremetal-master' + - name: 'apex-os-ovn-nofeature-noha-baremetal-master' node-parameters: false current-parameters: false predefined-parameters: | - DEPLOY_SCENARIO=os-odl-nofeature-noha OPNFV_CLEAN=yes kill-phase-on: NEVER abort-all-job: true @@ -1385,8 +1511,8 @@ - trigger: name: 'apex-master' triggers: - - timed: '0 3 1 1 7' + - timed: '0 12 * * *' - trigger: name: 'apex-danube' triggers: - - timed: '0 12 * * *' + - timed: '0 3 1 1 7' diff --git a/jjb/apex/apex.yml.j2 b/jjb/apex/apex.yml.j2 index 752cf281d..d7b67c344 100644 --- a/jjb/apex/apex.yml.j2 +++ b/jjb/apex/apex.yml.j2 @@ -13,13 +13,14 @@ - 'apex-csit-promote-daily-{stream}' - 'apex-fdio-promote-daily-{stream}' - 'apex-verify-iso-{stream}' - - 'apex-run-deploy-test-baremetal-{stream}' + - 'apex-{scenario}-baremetal-{scenario_stream}' + - 'apex-testsuite-{scenario}-baremetal-{scenario_stream}' - 'apex-upload-snapshot' - 'apex-create-snapshot' # stream: branch with - in place of / (eg. stable-arno) # branch: branch (eg. stable/arno) stream: - - master: + - master: &master branch: 'master' gs-pathname: '' build-slave: 'apex-build-master' @@ -27,8 +28,9 @@ baremetal-slave: 'apex-baremetal-master' verify-scenario: 'os-odl-nofeature-ha' concurrent-builds: 3 + scenario_stream: 'master' - - danube: + - danube: &danube branch: 'stable/danube' gs-pathname: '/danube' build-slave: 'apex-build-danube' @@ -36,7 +38,16 @@ baremetal-slave: 'apex-baremetal-danube' verify-scenario: 'os-odl_l3-nofeature-ha' concurrent-builds: 1 - disabled: false + scenario_stream: 'danube' + disabled: true + + scenario: + {%- for stream in scenarios %} + {%- for scenario in scenarios[stream] %} + - '{{scenario}}': + <<: *{{stream}} + {%- endfor %} + {%- endfor %} platform: - 'baremetal' @@ -478,11 +489,6 @@ - job-template: name: 'apex-deploy-{platform}-{stream}' - # Job template for virtual deployment - # - # Required Variables: - # stream: branch with - in place of / (eg. stable) - # branch: branch (eg. stable) node: 'apex-{platform}-{stream}' concurrent: true @@ -498,6 +504,7 @@ fail: true parameters: + - '{project}-{platform}-{stream}-defaults' - project-parameter: project: '{project}' branch: '{branch}' @@ -521,6 +528,7 @@ - 'apex-deploy.*' - 'functest.*' - 'yardstick.*' + - 'dovetail.*' - throttle: max-per-node: 1 max-total: 10 @@ -536,13 +544,8 @@ # Baremetal Deploy and Test - job-template: - name: 'apex-run-deploy-test-baremetal-{stream}' + name: 'apex-{scenario}-baremetal-{scenario_stream}' - # Job template for daily build - # - # Required Variables: - # stream: branch with - in place of / (eg. stable) - # branch: branch (eg. stable) project-type: 'multijob' disabled: false @@ -552,7 +555,7 @@ parameters: - '{project}-defaults' - - '{project}-baremetal-{stream}-defaults' + - '{project}-baremetal-{scenario_stream}-defaults' - project-parameter: project: '{project}' branch: '{branch}' @@ -560,7 +563,7 @@ gs-pathname: '{gs-pathname}' - string: name: DEPLOY_SCENARIO - default: '{verify-scenario}' + default: '{scenario}' description: "Scenario to deploy with." properties: - logrotate-default @@ -572,6 +575,11 @@ - '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" @@ -579,7 +587,7 @@ name: 'Baremetal Deploy' condition: ALWAYS projects: - - name: 'apex-deploy-baremetal-{stream}' + - name: 'apex-deploy-baremetal-{scenario_stream}' node-parameters: true current-parameters: true predefined-parameters: | @@ -591,10 +599,62 @@ abort-all-job: true git-revision: false - multijob: + name: 'OPNFV Test Suite' + condition: SUCCESSFUL + projects: + - name: 'apex-testsuite-{scenario}-baremetal-{scenario_stream}' + node-parameters: true + current-parameters: false + predefined-parameters: + DEPLOY_SCENARIO=$DEPLOY_SCENARIO + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + + +# Baremetal test job +- job-template: + name: 'apex-testsuite-{scenario}-baremetal-{scenario_stream}' + + project-type: 'multijob' + + disabled: false + + parameters: + - '{project}-defaults' + - '{project}-baremetal-{scenario_stream}-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - apex-parameter: + gs-pathname: '{gs-pathname}' + - string: + name: DEPLOY_SCENARIO + default: '{scenario}' + 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.*' + - 'apex-testsuite-.+-baremetal-.+' + - throttle: + max-per-node: 1 + max-total: 10 + option: 'project' + builders: + - description-setter: + description: "Testing on $NODE_NAME - Scenario: $DEPLOY_SCENARIO" + - multijob: name: Functest condition: ALWAYS projects: - - name: 'functest-apex-baremetal-daily-{stream}' + - name: 'functest-apex-baremetal-daily-{scenario_stream}' node-parameters: true current-parameters: false predefined-parameters: @@ -606,14 +666,34 @@ name: Yardstick condition: ALWAYS projects: - - name: 'yardstick-apex-baremetal-daily-{stream}' + - name: 'yardstick-apex-baremetal-daily-{scenario_stream}' + node-parameters: true + current-parameters: false + predefined-parameters: + DEPLOY_SCENARIO=$DEPLOY_SCENARIO + kill-phase-on: NEVER + abort-all-job: false + git-revision: false + - multijob: + name: Dovetail + condition: ALWAYS + projects: + - name: 'dovetail-apex-baremetal-proposed_tests-{scenario_stream}' node-parameters: true current-parameters: false predefined-parameters: DEPLOY_SCENARIO=$DEPLOY_SCENARIO kill-phase-on: NEVER + enable-condition: "def m = '$DEPLOY_SCENARIO' ==~ /os-(nosdn-nofeature|nosdn-kvm|odl_l3-fdio)-ha/" abort-all-job: false git-revision: false + - conditional-step: + condition-kind: current-status + condition-worst: SUCCESS + condtion-best: SUCCESS + on-evaluation-failure: mark-unstable + steps: + - shell: 'echo "Tests Passed"' {% for stream in scenarios %} # {{ stream }} Daily @@ -686,11 +766,10 @@ condition: SUCCESSFUL projects: {% for scenario in scenarios[stream] %} - - name: 'apex-run-deploy-test-baremetal-{{ stream }}' + - name: 'apex-{{ scenario }}-baremetal-{{ stream }}' node-parameters: false current-parameters: false predefined-parameters: | - DEPLOY_SCENARIO={{scenario}} OPNFV_CLEAN=yes kill-phase-on: NEVER abort-all-job: true @@ -1024,9 +1103,9 @@ - trigger: name: 'apex-master' triggers: - - timed: '0 3 1 1 7' + - timed: '0 12 * * *' - trigger: name: 'apex-danube' triggers: - - timed: '0 12 * * *' + - timed: '0 3 1 1 7' diff --git a/jjb/apex/scenarios.yaml.hidden b/jjb/apex/scenarios.yaml.hidden index dc9107a11..9f5b06980 100644 --- a/jjb/apex/scenarios.yaml.hidden +++ b/jjb/apex/scenarios.yaml.hidden @@ -3,6 +3,8 @@ master: - 'os-nosdn-nofeature-ha' - 'os-odl-nofeature-ha' - 'os-odl-nofeature-noha' + - 'os-odl-bgpvpn-ha' + - 'os-ovn-nofeature-noha' danube: - 'os-nosdn-nofeature-noha' - 'os-nosdn-nofeature-ha' diff --git a/jjb/armband/armband-deploy.sh b/jjb/armband/armband-deploy.sh index 9964ed5cc..358b55ba2 100755 --- a/jjb/armband/armband-deploy.sh +++ b/jjb/armband/armband-deploy.sh @@ -70,10 +70,6 @@ if [[ $LAB_CONFIG_URL =~ ^(git|ssh):// ]]; then fi fi -if [[ "$NODE_NAME" =~ "virtual" ]]; then - POD_NAME="virtual_kvm" -fi - # releng wants us to use nothing else but opnfv.iso for now. We comply. ISO_FILE=$WORKSPACE/opnfv.iso diff --git a/jjb/compass4nfv/compass-ci-jobs.yml b/jjb/compass4nfv/compass-ci-jobs.yml index 3335391ca..310347de2 100644 --- a/jjb/compass4nfv/compass-ci-jobs.yml +++ b/jjb/compass4nfv/compass-ci-jobs.yml @@ -10,12 +10,14 @@ stream: master branch: '{stream}' gs-pathname: '' + ppa-pathname: '/{stream}' disabled: false openstack-version: ocata danube: &danube stream: danube branch: 'stable/{stream}' gs-pathname: '/{stream}' + ppa-pathname: '/{stream}' disabled: false openstack-version: newton #-------------------------------- @@ -76,6 +78,15 @@ - 'os-nosdn-openo-ha': disabled: false auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger' + - 'os-odl-sfc-ha': + disabled: false + auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger' + - 'os-nosdn-dpdk-ha': + disabled: false + auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger' + - 'k8-nosdn-nofeature-ha': + disabled: false + auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger' jobs: @@ -118,6 +129,7 @@ - compass-ci-parameter: installer: '{installer}' gs-pathname: '{gs-pathname}' + ppa-pathname: '{ppa-pathname}' - string: name: DEPLOY_SCENARIO default: '{scenario}' @@ -281,6 +293,7 @@ - compass-ci-parameter: installer: '{installer}' gs-pathname: '{gs-pathname}' + ppa-pathname: '{ppa-pathname}' - '{slave-label}-defaults' - '{installer}-defaults' @@ -290,10 +303,25 @@ builders: - description-setter: description: "POD: $NODE_NAME" - - shell: - !include-raw-escape: ./compass-download-artifact.sh - - shell: - !include-raw-escape: ./compass-deploy.sh + - conditional-step: + condition-kind: regex-match + regex: master + label: '{stream}' + steps: + - shell: + !include-raw-escape: ./compass-build.sh + - shell: + !include-raw-escape: ./compass-deploy.sh + - conditional-step: + condition-kind: regex-match + regex: danube + label: '{stream}' + steps: + - shell: + !include-raw-escape: ./compass-download-artifact.sh + - shell: + !include-raw-escape: ./compass-deploy.sh + ######################## # parameter macros @@ -309,6 +337,16 @@ name: GS_URL default: '$GS_BASE{gs-pathname}' description: "URL to Google Storage." + - string: + name: CACHE_DIRECTORY + default: "$HOME/opnfv/cache/$PROJECT{gs-pathname}" + description: "Directory where the cache to be used during the build is located." + - string: + name: PPA_REPO + default: "http://artifacts.opnfv.org/compass4nfv/package{ppa-pathname}" + - string: + name: PPA_CACHE + default: "$WORKSPACE/work/repo/" ######################## # trigger macros @@ -349,6 +387,18 @@ name: 'compass-os-nosdn-kvm-ha-baremetal-centos-master-trigger' triggers: - timed: '' +- trigger: + name: 'compass-os-nosdn-dpdk-ha-baremetal-centos-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-odl-sfc-ha-baremetal-centos-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-k8-nosdn-nofeature-ha-baremetal-centos-master-trigger' + triggers: + - timed: '' - trigger: name: 'compass-os-nosdn-nofeature-ha-baremetal-master-trigger' @@ -385,7 +435,20 @@ - trigger: name: 'compass-os-nosdn-kvm-ha-baremetal-master-trigger' triggers: - - timed: '' + - timed: '0 14 * * *' +- trigger: + name: 'compass-os-nosdn-dpdk-ha-baremetal-master-trigger' + triggers: + - timed: '0 16 * * *' +- trigger: + name: 'compass-k8-nosdn-nofeature-ha-baremetal-master-trigger' + triggers: + - timed: '0 20 * * *' +- trigger: + name: 'compass-os-odl-sfc-ha-baremetal-master-trigger' + triggers: + - timed: '0 4 * * *' + - trigger: name: 'compass-os-nosdn-nofeature-ha-baremetal-danube-trigger' @@ -423,6 +486,19 @@ name: 'compass-os-nosdn-kvm-ha-baremetal-danube-trigger' triggers: - timed: '' +- trigger: + name: 'compass-os-nosdn-dpdk-ha-baremetal-danube-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-k8-nosdn-nofeature-ha-baremetal-danube-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-odl-sfc-ha-baremetal-danube-trigger' + triggers: + - timed: '' + - trigger: name: 'compass-os-nosdn-nofeature-ha-virtual-master-trigger' @@ -459,7 +535,19 @@ - trigger: name: 'compass-os-nosdn-kvm-ha-virtual-master-trigger' triggers: - - timed: '' + - timed: '0 23 * * *' +- trigger: + name: 'compass-os-nosdn-dpdk-ha-virtual-master-trigger' + triggers: + - timed: '0 17 * * *' +- trigger: + name: 'compass-k8-nosdn-nofeature-ha-virtual-master-trigger' + triggers: + - timed: '0 18 * * *' +- trigger: + name: 'compass-os-odl-sfc-ha-virtual-master-trigger' + triggers: + - timed: '0 16 * * *' - trigger: name: 'compass-os-nosdn-nofeature-ha-virtual-danube-trigger' @@ -497,3 +585,15 @@ name: 'compass-os-nosdn-kvm-ha-virtual-danube-trigger' triggers: - timed: '' +- trigger: + name: 'compass-os-nosdn-dpdk-ha-virtual-danube-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-odl-sfc-ha-virtual-danube-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-k8-nosdn-nofeature-ha-virtual-danube-trigger' + triggers: + - timed: '' diff --git a/jjb/compass4nfv/compass-deploy.sh b/jjb/compass4nfv/compass-deploy.sh index 2668ccdf8..7a5af5f5b 100644 --- a/jjb/compass4nfv/compass-deploy.sh +++ b/jjb/compass4nfv/compass-deploy.sh @@ -6,24 +6,23 @@ echo "Starting the deployment on baremetal environment using $INSTALLER_TYPE. Th echo "--------------------------------------------------------" echo -# source the properties file so we get OPNFV vars -source $BUILD_DIRECTORY/latest.properties - -# echo the info about artifact that is used during the deployment -echo "Using ${OPNFV_ARTIFACT_URL/*\/} for deployment" - -if [[ ! "$JOB_NAME" =~ (verify|merge) ]]; then - # for none-merge deployments - # checkout the commit that was used for building the downloaded artifact - # to make sure the ISO and deployment mechanism uses same versions - echo "Checking out $OPNFV_GIT_SHA1" - git checkout $OPNFV_GIT_SHA1 --quiet -fi - echo 1 > /proc/sys/vm/drop_caches export CONFDIR=$WORKSPACE/deploy/conf if [[ "$BRANCH" = 'stable/danube' ]]; then + # source the properties file so we get OPNFV vars + source $BUILD_DIRECTORY/latest.properties + # echo the info about artifact that is used during the deployment + echo "Using ${OPNFV_ARTIFACT_URL/*\/} for deployment" + + if [[ ! "$JOB_NAME" =~ (verify|merge) ]]; then + # for none-merge deployments + # checkout the commit that was used for building the downloaded artifact + # to make sure the ISO and deployment mechanism uses same versions + echo "Checking out $OPNFV_GIT_SHA1" + git checkout $OPNFV_GIT_SHA1 --quiet + fi + export ISO_URL=file://$BUILD_DIRECTORY/compass.iso else export ISO_URL=file://$BUILD_DIRECTORY/compass.tar.gz @@ -40,6 +39,8 @@ elif [[ "${DEPLOY_SCENARIO}" =~ "-onos" ]]; then export NETWORK_CONF_FILE=network_onos.yml elif [[ "${DEPLOY_SCENARIO}" =~ "-openo" ]]; then export NETWORK_CONF_FILE=network_openo.yml +elif [[ "${DEPLOY_SCENARIO}" =~ "-dpdk" ]]; then + export NETWORK_CONF_FILE=network_dpdk.yml else export NETWORK_CONF_FILE=network.yml fi diff --git a/jjb/daisy4nfv/daisy-daily-jobs.yml b/jjb/daisy4nfv/daisy-daily-jobs.yml index 592e54dc5..6524d2051 100644 --- a/jjb/daisy4nfv/daisy-daily-jobs.yml +++ b/jjb/daisy4nfv/daisy-daily-jobs.yml @@ -46,10 +46,10 @@ - 'os-nosdn-nofeature-noha': auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger' # ODL_L3 scenarios - - 'os-odl_l3-nofeature-noha': + - 'os-odl_l3-nofeature-ha': auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger' # ODL_L2 scenarios - - 'os-odl_l2-nofeature-noha': + - 'os-odl_l2-nofeature-ha': auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger' jobs: @@ -150,7 +150,7 @@ installer: '{installer}' - string: name: DEPLOY_SCENARIO - default: 'os-nosdn-nofeature-noha' + default: 'os-nosdn-nofeature-ha' - 'daisy-project-parameter': gs-pathname: '{gs-pathname}' - string: @@ -184,20 +184,20 @@ - trigger: name: 'daisy-os-nosdn-nofeature-ha-baremetal-daily-master-trigger' triggers: - - timed: '' + - timed: '0 12 * * *' # NOHA Scenarios - trigger: name: 'daisy-os-nosdn-nofeature-noha-baremetal-daily-master-trigger' triggers: - - timed: 'H 12 * * *' + - timed: '' # ODL_L3 Scenarios - trigger: - name: 'daisy-os-odl_l3-nofeature-noha-baremetal-daily-master-trigger' + name: 'daisy-os-odl_l3-nofeature-ha-baremetal-daily-master-trigger' triggers: - - timed: 'H 16 * * *' + - timed: '0 16 * * *' # ODL_L2 Scenarios - trigger: - name: 'daisy-os-odl_l2-nofeature-noha-baremetal-daily-master-trigger' + name: 'daisy-os-odl_l2-nofeature-ha-baremetal-daily-master-trigger' triggers: - timed: '' #----------------------------------------------- @@ -206,20 +206,20 @@ - trigger: name: 'daisy-os-nosdn-nofeature-ha-virtual-daily-master-trigger' triggers: - - timed: '' + - timed: '0 12 * * *' # NOHA Scenarios - trigger: name: 'daisy-os-nosdn-nofeature-noha-virtual-daily-master-trigger' triggers: - - timed: 'H 12 * * *' + - timed: '' # ODL_L3 Scenarios - trigger: - name: 'daisy-os-odl_l3-nofeature-noha-virtual-daily-master-trigger' + name: 'daisy-os-odl_l3-nofeature-ha-virtual-daily-master-trigger' triggers: - - timed: 'H 16 * * *' + - timed: '0 16 * * *' # ODL_L3 Scenarios - trigger: - name: 'daisy-os-odl_l2-nofeature-noha-virtual-daily-master-trigger' + name: 'daisy-os-odl_l2-nofeature-ha-virtual-daily-master-trigger' triggers: - timed: '' diff --git a/jjb/daisy4nfv/daisy-project-jobs.yml b/jjb/daisy4nfv/daisy-project-jobs.yml index 57e44e314..bae75dd5a 100644 --- a/jjb/daisy4nfv/daisy-project-jobs.yml +++ b/jjb/daisy4nfv/daisy-project-jobs.yml @@ -161,7 +161,7 @@ description: 'Git URL to use on this Jenkins Slave' - string: name: DEPLOY_SCENARIO - default: 'os-nosdn-nofeature-noha' + default: 'os-nosdn-nofeature-ha' - '{installer}-project-parameter': gs-pathname: '{gs-pathname}' diff --git a/jjb/doctor/doctor.yml b/jjb/doctor/doctor.yml index c5454c799..c6b2cb6d0 100644 --- a/jjb/doctor/doctor.yml +++ b/jjb/doctor/doctor.yml @@ -189,9 +189,14 @@ # so this symbolic link should not be in 'tests/'. Otherwise, # we'll have the same log twice in jenkins console log. ln -sfn $HOME/opnfv/functest/results/{stream} functest_results + # NOTE: Get functest script in $WORKSPACE. This functest script is + # needed to perform VM image download in set-functest-env.sh + # from E release cycle. + mkdir -p functest/ci + wget https://git.opnfv.org/functest/plain/functest/ci/download_images.sh -O functest/ci/download_images.sh - 'functest-suite-builder' - shell: | - functest_log="$HOME/opnfv/functest/results/{stream}/{project}.log" + 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 @@ -200,7 +205,7 @@ - archive: artifacts: 'tests/*.log' - archive: - artifacts: 'functest_results/{project}.log' + artifacts: 'functest_results/$FUNCTEST_SUITE_NAME.log' ##################################### diff --git a/jjb/dovetail/dovetail-ci-jobs.yml b/jjb/dovetail/dovetail-ci-jobs.yml index 43978f6dc..bcda2b7ca 100644 --- a/jjb/dovetail/dovetail-ci-jobs.yml +++ b/jjb/dovetail/dovetail-ci-jobs.yml @@ -25,7 +25,7 @@ branch: 'stable/{stream}' dovetail-branch: master gs-pathname: '/{stream}' - docker-tag: 'cvp.0.2.0' + docker-tag: 'cvp.0.3.0' #----------------------------------- # POD, PLATFORM, AND BRANCH MAPPING @@ -88,13 +88,23 @@ # that have not been switched using labels for slaves #-------------------------------- #apex PODs - - lf-pod1: - slave-label: '{pod}' + - virtual: + slave-label: apex-virtual-master SUT: apex auto-trigger-name: 'daily-trigger-disabled' <<: *master - - lf-pod1: - slave-label: '{pod}' + - baremetal: + slave-label: apex-baremetal-master + SUT: apex + auto-trigger-name: 'daily-trigger-disabled' + <<: *master + - virtual: + slave-label: apex-virtual-danube + SUT: apex + auto-trigger-name: 'daily-trigger-disabled' + <<: *danube + - baremetal: + slave-label: apex-baremetal-danube SUT: apex auto-trigger-name: 'daily-trigger-disabled' <<: *danube @@ -169,7 +179,6 @@ <<: *danube #-------------------------------- testsuite: - - 'debug' - 'compliance_set' - 'proposed_tests' diff --git a/jjb/dovetail/dovetail-run.sh b/jjb/dovetail/dovetail-run.sh index bf96fd492..418d66fb1 100755 --- a/jjb/dovetail/dovetail-run.sh +++ b/jjb/dovetail/dovetail-run.sh @@ -83,6 +83,8 @@ if [[ ${INSTALLER_TYPE} == compass ]]; then options="-u root -p root" elif [[ ${INSTALLER_TYPE} == fuel ]]; then options="-u root -p r00tme" +elif [[ ${INSTALLER_TYPE} == apex ]]; then + options="-u stack -k /root/.ssh/id_rsa" else echo "Don't support to generate pod.yaml on ${INSTALLER_TYPE} currently." echo "HA test cases may not run properly." @@ -115,6 +117,11 @@ if [ "$INSTALLER_TYPE" == "fuel" ]; then sshpass -p r00tme sudo scp $ssh_options root@${INSTALLER_IP}:~/.ssh/id_rsa ${DOVETAIL_CONFIG}/id_rsa fi +if [ "$INSTALLER_TYPE" == "apex" ]; then + echo "Fetching id_rsa file from jump_server $INSTALLER_IP..." + scp $ssh_options stack@${INSTALLER_IP}:~/.ssh/id_rsa ${DOVETAIL_CONFIG}/id_rsa +fi + # sdnvpn test case needs to download this image first before running echo "Download image ubuntu-16.04-server-cloudimg-amd64-disk1.img ..." wget -q -nc http://artifacts.opnfv.org/sdnvpn/ubuntu-16.04-server-cloudimg-amd64-disk1.img -P ${DOVETAIL_CONFIG} diff --git a/jjb/functest/functest-alpine.sh b/jjb/functest/functest-alpine.sh new file mode 100644 index 000000000..9084ccaa7 --- /dev/null +++ b/jjb/functest/functest-alpine.sh @@ -0,0 +1,78 @@ +#!/bin/bash + +set -e +set +u +set +o pipefail + +[[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null" +FUNCTEST_DIR=/home/opnfv/functest + +# Prepare OpenStack credentials volume +if [[ ${INSTALLER_TYPE} == 'joid' ]]; then + rc_file=$LAB_CONFIG/admin-openrc +elif [[ ${INSTALLER_TYPE} == 'compass' && ${BRANCH} == 'master' ]]; then + cacert_file_vol="-v ${HOME}/os_cacert:${FUNCTEST_DIR}/conf/os_cacert" + echo "export OS_CACERT=${FUNCTEST_DIR}/conf/os_cacert" >> ${HOME}/opnfv-openrc.sh + rc_file=${HOME}/opnfv-openrc.sh +else + rc_file=${HOME}/opnfv-openrc.sh +fi +rc_file_vol="-v ${rc_file}:${FUNCTEST_DIR}/conf/openstack.creds" + + +# Set iptables rule to allow forwarding return traffic for container +if ! sudo iptables -C FORWARD -j RETURN 2> ${redirect} || ! sudo iptables -L FORWARD | awk 'NR==3' | grep RETURN 2> ${redirect}; then + sudo iptables -I FORWARD -j RETURN +fi + +DEPLOY_TYPE=baremetal +[[ $BUILD_TAG =~ "virtual" ]] && DEPLOY_TYPE=virt +HOST_ARCH=$(uname -m) + +echo "Functest: Start Docker and prepare environment" + +echo "Functest: Download images that will be used by test cases" +images_dir="${HOME}/opnfv/functest/images" +download_script=${WORKSPACE}/functest/ci/download_images.sh +if [[ ! -f ${download_script} ]]; then + # to support Danube as well + wget https://git.opnfv.org/functest/plain/functest/ci/download_images.sh -O ${download_script} 2> ${redirect} +fi +chmod +x ${download_script} +${download_script} ${images_dir} ${DEPLOY_SCENARIO} ${HOST_ARCH} 2> ${redirect} + +images_vol="-v ${images_dir}:${FUNCTEST_DIR}/images" + +dir_result="${HOME}/opnfv/functest/results/${BRANCH##*/}" +mkdir -p ${dir_result} +sudo rm -rf ${dir_result}/* +results_vol="-v ${dir_result}:${FUNCTEST_DIR}/results" +custom_params= +test -f ${HOME}/opnfv/functest/custom/params_${DOCKER_TAG} && custom_params=$(cat ${HOME}/opnfv/functest/custom/params_${DOCKER_TAG}) + +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}" + +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;" \ + | sed s/,/\\n/g | grep openo_ip | cut -d \" -f 4'):$openo_msb_port" + + envs=${env}" -e OPENO_MSB_ENDPOINT=${openo_msb_endpoint}" +fi + +volumes="${images_vol} ${results_vol} ${sshkey_vol} ${rc_file_vol} ${cacert_file_vol}" + + +tiers=(healthcheck smoke) +for tier in ${tiers[@]}; do + FUNCTEST_IMAGE=opnfv/functest-${tier} + echo "Functest: Pulling Functest Docker image ${FUNCTEST_IMAGE} ..." + docker pull ${FUNCTEST_IMAGE}>/dev/null + cmd="docker run ${envs} ${volumes} ${FUNCTEST_IMAGE}" + echo "Running Functest tier '${tier}'. CMD: ${cmd}" + ${cmd} +done diff --git a/jjb/functest/functest-daily-jobs.yml b/jjb/functest/functest-daily-jobs.yml index fdef6f483..f14ca758f 100644 --- a/jjb/functest/functest-daily-jobs.yml +++ b/jjb/functest/functest-daily-jobs.yml @@ -209,6 +209,16 @@ # <<: *master #-------------------------------- + alpine-pod: + - ericsson-virtual-pod1bl01: + slave-label: '{alpine-pod}' + installer: fuel + <<: *master + - huawei-virtual5: + slave-label: '{alpine-pod}' + installer: compass + <<: *master + testsuite: - 'suite': job-timeout: 60 @@ -217,6 +227,7 @@ jobs: - 'functest-{installer}-{pod}-{testsuite}-{stream}' + - 'functest-alpine-{installer}-{alpine-pod}-{testsuite}-{stream}' ################################ # job template @@ -269,6 +280,46 @@ description: "Built on $NODE_NAME" - 'functest-{testsuite}-builder' +- job-template: + name: 'functest-alpine-{installer}-{alpine-pod}-{testsuite}-{stream}' + + concurrent: true + + properties: + - logrotate-default + - throttle: + enabled: true + max-per-node: 1 + option: 'project' + + wrappers: + - build-name: + name: '$BUILD_NUMBER Suite: $FUNCTEST_SUITE_NAME Scenario: $DEPLOY_SCENARIO' + - timeout: + timeout: '{job-timeout}' + abort: true + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{installer}-defaults' + - '{slave-label}-defaults' + - 'functest-{testsuite}-parameter' + - string: + name: DEPLOY_SCENARIO + default: 'os-nosdn-nofeature-noha' + - functest-parameter: + gs-pathname: '{gs-pathname}' + + scm: + - git-scm + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - 'functest-alpine-daily-builder' + ######################## # parameter macros ######################## @@ -360,6 +411,15 @@ - 'functest-exit' - builder: + name: functest-alpine-daily-builder + builders: + - shell: + !include-raw: + - ./functest-env-presetup.sh + - ../../utils/fetch_os_creds.sh + - ./functest-alpine.sh + +- builder: name: functest-daily builders: - shell: diff --git a/jjb/global/installer-params.yml b/jjb/global/installer-params.yml index ee154af03..5e07a11f9 100644 --- a/jjb/global/installer-params.yml +++ b/jjb/global/installer-params.yml @@ -75,8 +75,8 @@ description: 'Model to deploy (os|k8)' - string: name: OS_RELEASE - default: 'newton' - description: 'OpenStack release (mitaka|newton)' + default: 'ocata' + description: 'OpenStack release (mitaka|newton|ocata)' - string: name: EXTERNAL_NETWORK default: ext-net diff --git a/jjb/global/slave-params.yml b/jjb/global/slave-params.yml index 50859c46f..7a257f162 100644 --- a/jjb/global/slave-params.yml +++ b/jjb/global/slave-params.yml @@ -582,6 +582,15 @@ name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT - parameter: + name: 'huawei-virtual5-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'huawei-virtual5' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT +- parameter: name: 'huawei-virtual7-defaults' parameters: - node: @@ -935,6 +944,16 @@ default: https://gerrit.opnfv.org/gerrit/$PROJECT description: 'Git URL to use on this Jenkins Slave' - parameter: + name: 'ericsson-virtual-pod1bl01-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'ericsson-virtual-pod1bl01' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' +- parameter: name: 'odl-netvirt-virtual-defaults' parameters: - label: diff --git a/jjb/joid/joid-daily-jobs.yml b/jjb/joid/joid-daily-jobs.yml index 13ea9b308..1ff260ac8 100644 --- a/jjb/joid/joid-daily-jobs.yml +++ b/jjb/joid/joid-daily-jobs.yml @@ -17,11 +17,6 @@ branch: '{stream}' disabled: false gs-pathname: '' - danube: &danube - stream: danube - branch: 'stable/{stream}' - disabled: false - gs-pathname: '/{stream}' #-------------------------------- # POD, INSTALLER, AND BRANCH MAPPING #-------------------------------- @@ -34,12 +29,6 @@ - virtual: slave-label: joid-virtual <<: *master - - baremetal: - slave-label: joid-baremetal - <<: *danube - - virtual: - slave-label: joid-virtual - <<: *danube #-------------------------------- # None-CI PODs #-------------------------------- @@ -62,7 +51,7 @@ - 'os-nosdn-lxd-noha': auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' - 'os-odl_l2-nofeature-ha': - auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' + auto-trigger-name: 'daily-trigger-disabled' - 'os-onos-nofeature-ha': auto-trigger-name: 'daily-trigger-disabled' - 'os-odl_l2-nofeature-noha': @@ -76,9 +65,11 @@ - 'os-ocl-nofeature-noha': auto-trigger-name: 'daily-trigger-disabled' - 'k8-nosdn-nofeature-noha': - auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' + auto-trigger-name: 'daily-trigger-disabled' - 'k8-nosdn-lb-noha': auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' + - 'k8-ovn-lb-noha': + auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' jobs: - 'joid-{scenario}-{pod}-daily-{stream}' @@ -256,23 +247,6 @@ name: 'joid-os-nosdn-nofeature-ha-cengn-pod1-master-trigger' triggers: - timed: '' -# os-nosdn-nofeature-ha trigger - branch: danube -- trigger: - name: 'joid-os-nosdn-nofeature-ha-baremetal-danube-trigger' - triggers: - - timed: '0 2 * * *' -- trigger: - name: 'joid-os-nosdn-nofeature-ha-virtual-danube-trigger' - triggers: - - timed: '' -- trigger: - name: 'joid-os-nosdn-nofeature-ha-orange-pod1-danube-trigger' - triggers: - - timed: '' -- trigger: - name: 'joid-os-nosdn-nofeature-ha-cengn-pod1-danube-trigger' - triggers: - - timed: '' # os-odl_l2-nofeature-ha trigger - branch: master - trigger: name: 'joid-os-odl_l2-nofeature-ha-baremetal-master-trigger' @@ -290,23 +264,6 @@ name: 'joid-os-odl_l2-nofeature-ha-cengn-pod1-master-trigger' triggers: - timed: '' -# os-odl_l2-nofeature-ha trigger - branch: danube -- trigger: - name: 'joid-os-odl_l2-nofeature-ha-baremetal-danube-trigger' - triggers: - - timed: '0 7 * * *' -- trigger: - name: 'joid-os-odl_l2-nofeature-ha-virtual-danube-trigger' - triggers: - - timed: '' -- trigger: - name: 'joid-os-odl_l2-nofeature-ha-orange-pod1-danube-trigger' - triggers: - - timed: '' -- trigger: - name: 'joid-os-odl_l2-nofeature-ha-cengn-pod1-danube-trigger' - triggers: - - timed: '' # os-onos-nofeature-ha trigger - branch: master - trigger: name: 'joid-os-onos-nofeature-ha-baremetal-master-trigger' @@ -324,23 +281,6 @@ name: 'joid-os-onos-nofeature-ha-cengn-pod1-master-trigger' triggers: - timed: '' -# os-onos-nofeature-ha trigger - branch: danube -- trigger: - name: 'joid-os-onos-nofeature-ha-baremetal-danube-trigger' - triggers: - - timed: '0 12 * * *' -- trigger: - name: 'joid-os-onos-nofeature-ha-virtual-danube-trigger' - triggers: - - timed: '' -- trigger: - name: 'joid-os-onos-nofeature-ha-orange-pod1-danube-trigger' - triggers: - - timed: '' -- trigger: - name: 'joid-os-onos-nofeature-ha-cengn-pod1-danube-trigger' - triggers: - - timed: '' # os-onos-sfc-ha trigger - branch: master - trigger: name: 'joid-os-onos-sfc-ha-baremetal-master-trigger' @@ -358,23 +298,6 @@ name: 'joid-os-onos-sfc-ha-cengn-pod1-master-trigger' triggers: - timed: '' -# os-onos-sfc-ha trigger - branch: danube -- trigger: - name: 'joid-os-onos-sfc-ha-baremetal-danube-trigger' - triggers: - - timed: '0 17 * * *' -- trigger: - name: 'joid-os-onos-sfc-ha-virtual-danube-trigger' - triggers: - - timed: '' -- trigger: - name: 'joid-os-onos-sfc-ha-orange-pod1-danube-trigger' - triggers: - - timed: '' -- trigger: - name: 'joid-os-onos-sfc-ha-cengn-pod1-danube-trigger' - triggers: - - timed: '' # os-nosdn-lxd-noha trigger - branch: master - trigger: name: 'joid-os-nosdn-lxd-noha-baremetal-master-trigger' @@ -392,23 +315,6 @@ name: 'joid-os-nosdn-lxd-noha-cengn-pod1-master-trigger' triggers: - timed: '' -# os-nosdn-lxd-noha trigger - branch: danube -- trigger: - name: 'joid-os-nosdn-lxd-noha-baremetal-danube-trigger' - triggers: - - timed: '0 22 * * *' -- trigger: - name: 'joid-os-nosdn-lxd-noha-virtual-danube-trigger' - triggers: - - timed: '' -- trigger: - name: 'joid-os-nosdn-lxd-noha-orange-pod1-danube-trigger' - triggers: - - timed: '' -- trigger: - name: 'joid-os-nosdn-lxd-noha-cengn-pod1-danube-trigger' - triggers: - - timed: '' # os-nosdn-lxd-ha trigger - branch: master - trigger: name: 'joid-os-nosdn-lxd-ha-baremetal-master-trigger' @@ -426,23 +332,6 @@ name: 'joid-os-nosdn-lxd-ha-cengn-pod1-master-trigger' triggers: - timed: '' -# os-nosdn-lxd-ha trigger - branch: danube -- trigger: - name: 'joid-os-nosdn-lxd-ha-baremetal-danube-trigger' - triggers: - - timed: '0 10 * * *' -- trigger: - name: 'joid-os-nosdn-lxd-ha-virtual-danube-trigger' - triggers: - - timed: '' -- trigger: - name: 'joid-os-nosdn-lxd-ha-orange-pod1-danube-trigger' - triggers: - - timed: '' -- trigger: - name: 'joid-os-nosdn-lxd-ha-cengn-pod1-danube-trigger' - triggers: - - timed: '' # os-nosdn-nofeature-noha trigger - branch: master - trigger: name: 'joid-os-nosdn-nofeature-noha-baremetal-master-trigger' @@ -460,23 +349,6 @@ name: 'joid-os-nosdn-nofeature-noha-cengn-pod1-master-trigger' triggers: - timed: '' -# os-nosdn-nofeature-noha trigger - branch: danube -- trigger: - name: 'joid-os-nosdn-nofeature-noha-baremetal-danube-trigger' - triggers: - - timed: '0 4 * * *' -- trigger: - name: 'joid-os-nosdn-nofeature-noha-virtual-danube-trigger' - triggers: - - timed: '' -- trigger: - name: 'joid-os-nosdn-nofeature-noha-orange-pod1-danube-trigger' - triggers: - - timed: '' -- trigger: - name: 'joid-os-nosdn-nofeature-noha-cengn-pod1-danube-trigger' - triggers: - - timed: '' # k8-nosdn-nofeature-noha trigger - branch: master - trigger: name: 'joid-k8-nosdn-nofeature-noha-baremetal-master-trigger' @@ -494,23 +366,6 @@ name: 'joid-k8-nosdn-nofeature-noha-cengn-pod1-master-trigger' triggers: - timed: '' -# k8-nosdn-nofeature-noha trigger - branch: danube -- trigger: - name: 'joid-k8-nosdn-nofeature-noha-baremetal-danube-trigger' - triggers: - - timed: '0 15 * * *' -- trigger: - name: 'joid-k8-nosdn-nofeature-noha-virtual-danube-trigger' - triggers: - - timed: '' -- trigger: - name: 'joid-k8-nosdn-nofeature-noha-orange-pod1-danube-trigger' - triggers: - - timed: '' -- trigger: - name: 'joid-k8-nosdn-nofeature-noha-cengn-pod1-danube-trigger' - triggers: - - timed: '' # k8-nosdn-lb-noha trigger - branch: master - trigger: name: 'joid-k8-nosdn-lb-noha-baremetal-master-trigger' @@ -528,20 +383,20 @@ name: 'joid-k8-nosdn-lb-noha-cengn-pod1-master-trigger' triggers: - timed: '' -# k8-nosdn-lb-noha trigger - branch: danube +# k8-ovn-lb-noha trigger - branch: master - trigger: - name: 'joid-k8-nosdn-lb-noha-baremetal-danube-trigger' + name: 'joid-k8-ovn-lb-noha-baremetal-master-trigger' triggers: - - timed: '0 20 * * *' + - timed: '5 17 * * *' - trigger: - name: 'joid-k8-nosdn-lb-noha-virtual-danube-trigger' + name: 'joid-k8-ovn-lb-noha-virtual-master-trigger' triggers: - timed: '' - trigger: - name: 'joid-k8-nosdn-lb-noha-orange-pod1-danube-trigger' + name: 'joid-k8-ovn-lb-noha-orange-pod1-master-trigger' triggers: - timed: '' - trigger: - name: 'joid-k8-nosdn-lb-noha-cengn-pod1-danube-trigger' + name: 'joid-k8-ovn-lb-noha-cengn-pod1-master-trigger' triggers: - timed: '' diff --git a/jjb/orchestra/orchestra-daily-jobs.yml b/jjb/orchestra/orchestra-daily-jobs.yml new file mode 100644 index 000000000..6baaab896 --- /dev/null +++ b/jjb/orchestra/orchestra-daily-jobs.yml @@ -0,0 +1,98 @@ +################################### +# job configuration for orchestra +################################### +- project: + name: 'orchestra-daily-jobs' + + project: 'orchestra' + +#-------------------------------- +# BRANCH ANCHORS +#-------------------------------- + master: &master + stream: master + branch: '{stream}' + gs-pathname: '' + disabled: false + +#------------------------------------------------------- +# POD, INSTALLER, AND BRANCH MAPPING +#------------------------------------------------------- + pod: + - virtual: + slave-label: 'joid-virtual' + os-version: 'xenial' + <<: *master + + jobs: + - 'orchestra-{pod}-daily-{stream}' + +################################ +# job template +################################ +- job-template: + name: 'orchestra-{pod}-daily-{stream}' + + project-type: multijob + + disabled: '{obj:disabled}' + + concurrent: false + + properties: + - logrotate-default + - throttle: + enabled: true + max-total: 1 + max-per-node: 1 + option: 'project' + + scm: + - git-scm + + wrappers: + - ssh-agent-wrapper + + - timeout: + timeout: 240 + fail: true + + triggers: + - timed: '@daily' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - string: + name: DEPLOY_SCENARIO + default: os-nosdn-openbaton-ha + - '{slave-label}-defaults' + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - multijob: + name: deploy + condition: SUCCESSFUL + projects: + - name: 'joid-deploy-{pod}-daily-{stream}' + current-parameters: false + predefined-parameters: | + DEPLOY_SCENARIO=os-nosdn-openbaton-ha + COMPASS_OS_VERSION=xenial + node-parameters: true + kill-phase-on: FAILURE + abort-all-job: true + - multijob: + name: functest + condition: SUCCESSFUL + projects: + - name: 'functest-joid-{pod}-daily-{stream}' + current-parameters: false + predefined-parameters: | + DEPLOY_SCENARIO=os-nosdn-openbaton-ha + FUNCTEST_SUITE_NAME=orchestra_ims + node-parameters: true + kill-phase-on: NEVER + abort-all-job: true diff --git a/jjb/orchestra/orchestra-project-jobs.yml b/jjb/orchestra/orchestra-project-jobs.yml new file mode 100644 index 000000000..0f0c0f6c9 --- /dev/null +++ b/jjb/orchestra/orchestra-project-jobs.yml @@ -0,0 +1,50 @@ +- project: + + name: orchestra-project + + project: 'orchestra' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + + jobs: + - 'orchestra-build-{stream}' + +- job-template: + name: 'orchestra-build-{stream}' + + concurrent: true + + properties: + - logrotate-default + - throttle: + enabled: true + max-total: 1 + max-per-node: 1 + option: 'project' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + + scm: + - git-scm + + triggers: + - timed: 'H 23 * * *' + + builders: + - 'orchestra-build-macro' + +- builder: + name: 'orchestra-build-macro' + builders: + - shell: | + #!/bin/bash + + echo "Hello world!" + + diff --git a/jjb/ovn4nfv/ovn4nfv-daily-jobs.yml b/jjb/ovn4nfv/ovn4nfv-daily-jobs.yml new file mode 100644 index 000000000..ed6df41e3 --- /dev/null +++ b/jjb/ovn4nfv/ovn4nfv-daily-jobs.yml @@ -0,0 +1,87 @@ +- project: + name: 'ovn4nfv-daily-jobs' + + project: 'ovn4nfv' + + master: &master + stream: master + branch: '{stream}' + gs-pathname: '' + disabled: false + + pod: + - virtual: + slave-label: 'joid-virtual' + os-version: 'xenial' + <<: *master + + jobs: + - 'ovn4nfv-{pod}-daily-{stream}' + +- job-template: + name: 'ovn4nfv-{pod}-daily-{stream}' + + project-type: multijob + + disabled: '{obj:disabled}' + + concurrent: false + + properties: + - logrotate-default + - throttle: + enabled: true + max-total: 1 + max-per-node: 1 + option: 'project' + + scm: + - git-scm + + wrappers: + - ssh-agent-wrapper + + - timeout: + timeout: 240 + fail: true + + triggers: + - timed: '@daily' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - string: + name: DEPLOY_SCENARIO + default: os-ovn-nofeature-noha + - '{slave-label}-defaults' + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - multijob: + name: deploy + condition: SUCCESSFUL + projects: + - name: 'joid-deploy-{pod}-daily-{stream}' + current-parameters: false + predefined-parameters: | + DEPLOY_SCENARIO=os-ovn-nofeature-noha + COMPASS_OS_VERSION=xenial + node-parameters: true + kill-phase-on: FAILURE + abort-all-job: true + - multijob: + name: functest + condition: SUCCESSFUL + projects: + - name: 'functest-joid-{pod}-daily-{stream}' + current-parameters: false + predefined-parameters: | + DEPLOY_SCENARIO=os-ovn-nofeature-ha + FUNCTEST_SUITE_NAME=ovn4nfv_test_suite + node-parameters: true + kill-phase-on: NEVER + abort-all-job: true + diff --git a/jjb/ovn4nfv/ovn4nfv-project-jobs.yml b/jjb/ovn4nfv/ovn4nfv-project-jobs.yml new file mode 100644 index 000000000..805aa04a6 --- /dev/null +++ b/jjb/ovn4nfv/ovn4nfv-project-jobs.yml @@ -0,0 +1,51 @@ +- project: + name: ovn4nfv + + project: '{name}' + + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + + jobs: + - 'ovn4nfv-build-{stream}' + +- job-template: + name: 'ovn4nfv-build-{stream}' + + concurrent: true + + disabled: '{obj:disabled}' + + properties: + - logrotate-default + - throttle: + enabled: true + max-total: 1 + max-per-node: 1 + option: 'project' + + parametert: + - project-parameter: + project: '{project}' + branch: '{branch}' + + scm: + - git-scm + + triggers: + - timed: 'H 23 * * *' + + builders: + - 'ovn4nfv-build-macro' + +- builder: + name: 'ovn4nfv-build-macro' + builders: + - shell: | + #!/bin/bash + + echo "hello world" diff --git a/jjb/qtip/qtip-verify-jobs.yml b/jjb/qtip/qtip-verify-jobs.yml index dd444c7a5..4a7dd4567 100644 --- a/jjb/qtip/qtip-verify-jobs.yml +++ b/jjb/qtip/qtip-verify-jobs.yml @@ -7,6 +7,8 @@ project: qtip jobs: - 'qtip-verify-{stream}' + - 'qtip-review-notebook-{stream}' + - 'qtip-merge-{stream}' stream: - master: branch: '{stream}' @@ -63,6 +65,89 @@ publishers: - publish-coverage +# upload juypter notebook to artifacts for review +- job-template: + name: 'qtip-review-notebook-{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' + file-paths: + - compare-type: ANT + pattern: 'examples/**' + builders: + - upload-under-review-notebooks-to-opnfv-artifacts + - report-build-result-to-gerrit + +- job-template: + name: 'qtip-merge-{stream}' + + disabled: '{obj:disabled}' + + parameters: + - project-parameter: + project: $GERRIT_PROJECT + branch: '{branch}' + - string: + name: GS_URL + default: '$GS_BASE{gs-pathname}' + description: "Directory where the build artifact will be located upon the completion of the build." + - string: + name: GERRIT_REFSPEC + default: 'refs/heads/{branch}' + description: "JJB configured GERRIT_REFSPEC parameter" + + scm: + - git-scm + + triggers: + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - change-merged-event + - comment-added-contains-event: + comment-contains-value: 'remerge' + projects: + - project-compare-type: 'ANT' + project-pattern: '*' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + file-paths: + - compare-type: ANT + pattern: examples/** + + builders: + - remove-old-docs-from-opnfv-artifacts + ################################ ## job builders ################################# @@ -76,3 +161,35 @@ set -o xtrace tox + +# modified from upload-under-review-docs-to-opnfv-artifacts in global/releng-macro.yml +- builder: + name: upload-under-review-notebooks-to-opnfv-artifacts + builders: + - shell: | + #!/bin/bash + set -o errexit + set -o pipefail + set -o xtrace + export PATH=$PATH:/usr/local/bin/ + + [[ $GERRIT_CHANGE_NUMBER =~ .+ ]] + [[ -d examples ]] || exit 0 + + echo + echo "###########################" + echo "UPLOADING DOCS UNDER REVIEW" + echo "###########################" + echo + + gs_base="artifacts.opnfv.org/$PROJECT/review" + gs_path="$gs_base/$GERRIT_CHANGE_NUMBER" + local_path="upload/$GERRIT_CHANGE_NUMBER" + + mkdir -p upload + cp -r examples "$local_path" + gsutil -m cp -r "$local_path" "gs://$gs_base/" + + echo "Document link(s):" >> gerrit_comment.txt + find "$local_path" | grep -e 'ipynb$' | \ + sed -e "s|^$local_path| https://nbviewer.jupyter.org/url/$gs_path|" >> gerrit_comment.txt diff --git a/jjb/releng/opnfv-docker-arm.yml b/jjb/releng/opnfv-docker-arm.yml index 417fc702c..7502b17a1 100644 --- a/jjb/releng/opnfv-docker-arm.yml +++ b/jjb/releng/opnfv-docker-arm.yml @@ -65,6 +65,10 @@ default: "" description: "Release version, e.g. 1.0, 2.0, 3.0" - string: + name: DOCKER_DIR + default: "docker" + description: "Directory containing files needed by the Dockerfile" + - string: name: DOCKERFILE default: "Dockerfile.aarch64" description: "Dockerfile to use for creating the image." diff --git a/jjb/releng/opnfv-docker.sh b/jjb/releng/opnfv-docker.sh index ebd0c9f3d..0de3df28e 100644 --- a/jjb/releng/opnfv-docker.sh +++ b/jjb/releng/opnfv-docker.sh @@ -54,7 +54,7 @@ if [[ -n "$(docker images | grep $DOCKER_REPO_NAME)" ]]; then done fi -cd $WORKSPACE/docker +cd $WORKSPACE/$DOCKER_DIR HOST_ARCH=$(uname -m) if [ ! -f "${DOCKERFILE}" ]; then # If this is expected to be a Dockerfile for other arch than x86 diff --git a/jjb/releng/opnfv-docker.yml b/jjb/releng/opnfv-docker.yml index 095ba4129..fa9c441e8 100644 --- a/jjb/releng/opnfv-docker.yml +++ b/jjb/releng/opnfv-docker.yml @@ -23,62 +23,97 @@ other-receivers: &other-receivers receivers: '' - project: + dockerfile: "Dockerfile" + dockerdir: "docker" + + # This is the dockerhub repo the image will be pushed to as + # 'opnfv/{dockerrepo}. See: DOCKER_REPO_NAME parameter. + # 'project' is the OPNFV repo we expect to contain the Dockerfile + dockerrepo: # projects with jobs for master - 'releng-anteater': + project: 'releng-anteater' <<: *master <<: *other-receivers - 'bottlenecks': + project: 'bottlenecks' <<: *master <<: *other-receivers - 'cperf': + project: 'cperf' <<: *master <<: *other-receivers - 'dovetail': + project: 'dovetail' <<: *master <<: *other-receivers - 'functest': + project: 'functest' <<: *master <<: *functest-receivers - 'qtip': + project: 'qtip' <<: *master <<: *other-receivers - - 'storperf': + - 'storperf-master': + project: 'storperf' + dockerdir: 'docker/storperf-master' + <<: *master + <<: *other-receivers + - 'storperf-httpfrontend': + project: 'storperf' + dockerdir: 'docker/storperf-httpfrontend' + <<: *master + <<: *other-receivers + - 'storperf-reporting': + project: 'storperf' + dockerdir: 'docker/storperf-reporting' <<: *master <<: *other-receivers - 'yardstick': + project: 'yardstick' <<: *master <<: *other-receivers # projects with jobs for stable - 'bottlenecks': + project: 'bottlenecks' <<: *danube <<: *other-receivers - 'functest': + project: 'functest' <<: *danube <<: *functest-receivers - 'qtip': + project: 'qtip' <<: *danube <<: *other-receivers - 'storperf': + project: 'storperf' <<: *danube <<: *other-receivers - 'yardstick': + project: 'yardstick' <<: *danube <<: *other-receivers jobs: - - '{project}-docker-build-push-{stream}' + - "{dockerrepo}-docker-build-push-{stream}" - project: name: opnfv-monitor-docker # projects which only monitor dedicated file or path + dockerfile: "Dockerfile" + dockerdir: "docker" + project: # projects with jobs for master - 'daisy': + dockerrepo: 'daisy' <<: *master - 'escalator': + dockerrepo: 'escalator' <<: *master jobs: @@ -88,7 +123,7 @@ # job templates ######################## - job-template: - name: '{project}-docker-build-push-{stream}' + name: '{dockerrepo}-docker-build-push-{stream}' disabled: '{obj:disabled}' @@ -103,9 +138,13 @@ description: "To enable/disable pushing the image to Dockerhub." - string: name: DOCKER_REPO_NAME - default: "opnfv/{project}" + default: "opnfv/{dockerrepo}" description: "Dockerhub repo to be pushed to." - string: + name: DOCKER_DIR + default: "{dockerdir}" + description: "Directory containing files needed by the Dockerfile" + - string: name: COMMIT_ID default: "" description: "commit id to make a snapshot docker image" @@ -115,7 +154,7 @@ description: "Release version, e.g. 1.0, 2.0, 3.0" - string: name: DOCKERFILE - default: "Dockerfile" + default: "{dockerfile}" description: "Dockerfile to use for creating the image." scm: diff --git a/jjb/yardstick/yardstick-daily.sh b/jjb/yardstick/yardstick-daily.sh index cf37ac262..56d087473 100755 --- a/jjb/yardstick/yardstick-daily.sh +++ b/jjb/yardstick/yardstick-daily.sh @@ -3,6 +3,7 @@ set -e [[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null" rc_file_vol="" +cacert_file_vol="" sshkey="" if [[ ${INSTALLER_TYPE} == 'apex' ]]; then @@ -23,6 +24,10 @@ if [[ ${INSTALLER_TYPE} == 'joid' ]]; then rc_file_vol="-v $LAB_CONFIG/admin-openrc:/etc/yardstick/openstack.creds" # If dev lab, credentials may not be the default ones, just provide a path to put them into docker # replace the default one by the customized one provided by jenkins config +elif [[ ${INSTALLER_TYPE} == 'compass' && ${BRANCH} == 'master' ]]; then + cacert_file_vol="-v ${HOME}/os_cacert:/etc/yardstick/os_cacert" + echo "export OS_CACERT=/etc/yardstick/os_cacert" >> ${HOME}/opnfv-openrc.sh + rc_file_vol="-v ${HOME}/opnfv-openrc.sh:/etc/yardstick/openstack.creds" else rc_file_vol="-v ${HOME}/opnfv-openrc.sh:/etc/yardstick/openstack.creds" fi @@ -50,7 +55,7 @@ sudo rm -rf ${dir_result}/* map_log_dir="-v ${dir_result}:/tmp/yardstick" # Run docker -cmd="sudo docker run ${opts} ${envs} ${rc_file_vol} ${map_log_dir} ${sshkey} opnfv/yardstick:${DOCKER_TAG} \ +cmd="sudo docker run ${opts} ${envs} ${rc_file_vol} ${cacert_file_vol} ${map_log_dir} ${sshkey} opnfv/yardstick:${DOCKER_TAG} \ exec_tests.sh ${YARDSTICK_DB_BACKEND} ${YARDSTICK_SCENARIO_SUITE_NAME}" echo "Yardstick: Running docker cmd: ${cmd}" ${cmd} |