--- # 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}-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' - string: name: PROJECT default: '{project}' 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: '10 1 * * 2,4,6,7' - 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 * * 2,4,6,7' - trigger: name: 'fuel-os-ovn-nofeature-ha-armband-baremetal-master-trigger' triggers: - timed: '10 1 * * 1,3,5' - trigger: name: 'fuel-os-nosdn-ovs-ha-armband-baremetal-master-trigger' triggers: - timed: '0 1 * * 1,3,5' # --------------------------------------------------------------------- # Enea Armband CI Baremetal Triggers running against fraser branch # --------------------------------------------------------------------- - trigger: name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-fraser-trigger' triggers: - timed: '' - 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: '' - 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: '' # -------------------------------------------------------------- # 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: ''