diff options
Diffstat (limited to 'jjb/armband/armband-ci-jobs.yaml')
-rw-r--r-- | jjb/armband/armband-ci-jobs.yaml | 370 |
1 files changed, 370 insertions, 0 deletions
diff --git a/jjb/armband/armband-ci-jobs.yaml b/jjb/armband/armband-ci-jobs.yaml new file mode 100644 index 000000000..b8ffc16fa --- /dev/null +++ b/jjb/armband/armband-ci-jobs.yaml @@ -0,0 +1,370 @@ +--- +# jenkins job templates for Armband +- project: + name: 'armband-ci' + project: 'armband' + + # ------------------------------- + # BRANCH ANCHORS + # ------------------------------- + master: &master + stream: master + branch: '{stream}' + gs-pathname: '' + disabled: false + fraser: &fraser + stream: fraser + 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 + # ------------------------------- + # fraser + # ------------------------------- + pod: + # yamllint disable rule:key-duplicates + - armband-baremetal: + <<: *baremetal + <<: *fraser + - armband-virtual: + <<: *virtual + <<: *fraser + # ------------------------------- + # 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' + - 'os-ovn-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' + + jobs: + - '{installer}-{scenario}-{pod}-daily-{stream}' + - '{installer}-deploy-{pod}-daily-{stream}' + +######################## +# job templates +######################## +- job-template: + name: '{installer}-{scenario}-{pod}-daily-{stream}' + + disabled: '{obj:disabled}' + + concurrent: false + + properties: + - logrotate-default + - throttle: + enabled: true + max-total: 4 + max-per-node: 1 + option: 'project' + - build-blocker: + use-build-blocker: true + blocking-jobs: + - '{installer}-os-.*?-{pod}-daily-.*' + - 'armband-verify-.*' + block-level: 'NODE' + + wrappers: + - build-name: + name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' + + triggers: + - '{auto-trigger-name}' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{installer}-defaults': + gs-pathname: '{gs-pathname}' + - '{slave-label}-defaults': + installer: '{installer}' + - string: + name: DEPLOY_SCENARIO + default: '{scenario}' + + builders: + - 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} + same-node: true + block: true + block-thresholds: + build-step-failure-threshold: 'never' + failure-threshold: 'never' + unstable-threshold: 'FAILURE' + - trigger-builds: + - project: 'yardstick-{installer}-{pod}-daily-{stream}' + current-parameters: false + predefined-parameters: + DEPLOY_SCENARIO={scenario} + block: true + same-node: true + block-thresholds: + build-step-failure-threshold: 'never' + failure-threshold: 'never' + unstable-threshold: 'FAILURE' + # 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: + SAT: 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: + SUN: 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}' + + 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' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{installer}-defaults': + gs-pathname: '{gs-pathname}' + - '{slave-label}-defaults': + installer: '{installer}' + - testapi-parameter + - string: + name: DEPLOY_SCENARIO + default: 'os-odl-nofeature-ha' + + scm: + - git-scm + + wrappers: + - build-name: + name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' + + builders: + - track-begin-timestamp + - shell: + !include-raw-escape: ../fuel/fuel-deploy.sh + + publishers: + - email: + recipients: armband@enea.com + - email-jenkins-admins-on-failure + - report-provision-result + +######################## +# 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 * * 1' +- trigger: + name: 'fuel-os-nosdn-nofeature-noha-armband-baremetal-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-odl-nofeature-ha-armband-baremetal-master-trigger' + triggers: + - timed: '0 1 * * 3,7' +- trigger: + name: 'fuel-os-ovn-nofeature-ha-armband-baremetal-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-ovs-ha-armband-baremetal-master-trigger' + triggers: + - timed: '0 1 * * 4' +# --------------------------------------------------------------------- +# Enea Armband CI Baremetal Triggers running against fraser branch +# --------------------------------------------------------------------- +- trigger: + name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-fraser-trigger' + triggers: + - timed: '0 1 * * 2' +- trigger: + name: 'fuel-os-nosdn-nofeature-noha-armband-baremetal-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-odl-nofeature-ha-armband-baremetal-fraser-trigger' + triggers: + - timed: '0 1 * * 5' +- trigger: + name: 'fuel-os-ovn-nofeature-ha-armband-baremetal-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-ovs-ha-armband-baremetal-fraser-trigger' + triggers: + - timed: '0 1 * * 6' + +# -------------------------------------------------------------- +# Enea Armband CI Virtual Triggers running against master branch +# -------------------------------------------------------------- +- trigger: + name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-nofeature-noha-armband-virtual-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-odl-nofeature-ha-armband-virtual-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-ovn-nofeature-ha-armband-virtual-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-ovs-ha-armband-virtual-master-trigger' + triggers: + - timed: '' +# ------------------------------------------------------------------- +# Enea Armband CI Virtual Triggers running against fraser branch +# ------------------------------------------------------------------- +- trigger: + name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-nofeature-noha-armband-virtual-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-odl-nofeature-ha-armband-virtual-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-ovn-nofeature-ha-armband-virtual-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-ovs-ha-armband-virtual-fraser-trigger' + triggers: + - timed: '' |