X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Farmband%2Farmband-ci-jobs.yml;h=339c3cc5b5ca88a27b151350899f345cd30483ba;hb=a7e96beb40b827c9a4369bda79157a3324745bca;hp=276f68809247d678f32f35cbbf25e65c1d6161b6;hpb=69e3b8ec80b104bb8657a8f6a7f8c8ff401aa2c6;p=releng.git diff --git a/jjb/armband/armband-ci-jobs.yml b/jjb/armband/armband-ci-jobs.yml index 276f68809..339c3cc5b 100644 --- a/jjb/armband/armband-ci-jobs.yml +++ b/jjb/armband/armband-ci-jobs.yml @@ -1,65 +1,77 @@ +--- # 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 + # ------------------------------- + # DEPLOY TYPE ANCHORS + # ------------------------------- + baremetal: &baremetal + installer: 'fuel' + deploy-type: 'baremetal' + slave-label: 'armband-{deploy-type}' + virtual: &virtual + installer: 'fuel' + deploy-type: 'virtual' + slave-label: 'armband-{deploy-type}' + # ------------------------------- + # 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 -#-------------------------------- + # yamllint disable rule:key-duplicates + - armband-baremetal: + <<: *baremetal + <<: *euphrates + - armband-virtual: + <<: *virtual + <<: *euphrates + # ------------------------------- + # master + # ------------------------------- + - armband-baremetal: + <<: *baremetal + <<: *master + - armband-virtual: + <<: *virtual + <<: *master + # yamllint enable rule:key-duplicates + # ------------------------------- + # 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' + - 'os-nosdn-ovs-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 +84,156 @@ 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: + - trigger-builds: + - project: '{installer}-deploy-{pod}-daily-{stream}' + current-parameters: false + predefined-parameters: + DEPLOY_SCENARIO={scenario} + same-node: true + block: true + - conditional-step: + condition-kind: not + condition-operand: 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' + regex: 'danube' + label: '{stream}' + steps: + - 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' + - conditional-step: + condition-kind: not + condition-operand: + condition-kind: regex-match + regex: 'danube' + label: '{stream}' + steps: + - trigger-builds: + - project: 'yardstick-{installer}-{pod}-daily-{stream}' + current-parameters: false + predefined-parameters: + DEPLOY_SCENARIO={scenario} + block: true + same-node: true + block-thresholds: + build-step-failure-threshold: 'never' + failure-threshold: 'never' + unstable-threshold: 'FAILURE' + # 1.here the stream means the SUT stream, dovetail stream is defined in its own job + # 2.testsuite proposed_tests here is for new test cases planning to add into OVP + # 3.run proposed_tests on Monday, Wednesday and Friday against ha scenario + # 4.testsuite default here is for the test cases already added into OVP + # 5.run default testsuite on Tuesday against ha scenario + # 6.not used for release criteria or compliance, + # only to debug the dovetail tool bugs with arm pods + - conditional-step: + condition-kind: and + condition-operands: + - condition-kind: regex-match + regex: '-ha$' + label: '{scenario}' + - condition-kind: day-of-week + day-selector: select-days + days: + MON: true + WED: true + FRI: true + use-build-time: true + 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' + - conditional-step: + condition-kind: and + condition-operands: + - condition-kind: regex-match + regex: '-ha$' + label: '{scenario}' + - condition-kind: day-of-week + day-selector: select-days + days: + TUES: true + use-build-time: true + steps: + - trigger-builds: + - project: 'dovetail-{installer}-{pod}-default-{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' + # Armband uses Fuel's log collection project job, no need to duplicate + - conditional-step: + condition-kind: not + condition-operand: + condition-kind: regex-match + regex: 'danube' + label: '{stream}' + steps: + - trigger-builds: + - project: 'fuel-collect-logs-{deploy-type}-daily-{stream}' + current-parameters: false + predefined-parameters: + DEPLOY_SCENARIO={scenario} + block: true + same-node: true + block-thresholds: + build-step-failure-threshold: 'never' + failure-threshold: 'never' + unstable-threshold: 'FAILURE' - job-template: name: '{installer}-deploy-{pod}-daily-{stream}' @@ -163,108 +241,125 @@ 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 1 * * 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 1 * * 2,5,7' +- trigger: + name: 'fuel-os-nosdn-ovs-ha-armband-baremetal-master-trigger' + triggers: + - timed: '0 1 * * 1,3' +# --------------------------------------------------------------------- # Enea Armband CI Baremetal Triggers running against euphrates branch -#---------------------------------------------------------------------- +# --------------------------------------------------------------------- - trigger: name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-euphrates-trigger' triggers: - - timed: '' + - timed: '' - 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: '' +- trigger: + name: 'fuel-os-nosdn-ovs-ha-armband-baremetal-euphrates-trigger' + triggers: + - timed: '' + +# -------------------------------------------------------------- # 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: '' +- trigger: + name: 'fuel-os-nosdn-ovs-ha-armband-virtual-master-trigger' + triggers: + - 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: '' +- trigger: + name: 'fuel-os-nosdn-ovs-ha-armband-virtual-euphrates-trigger' + triggers: + - timed: ''