--- # jenkins job templates for Armband - project: name: 'armband-ci' project: 'armband' # ------------------------------- # BRANCH ANCHORS # ------------------------------- master: &master stream: master branch: '{stream}' gs-pathname: '' disabled: false functest_docker_tag: hunter fraser: &fraser stream: fraser branch: 'stable/{stream}' disabled: false gs-pathname: '/{stream}' functest_docker_tag: '{stream}' gambia: &gambia stream: gambia branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false functest_docker_tag: '{stream}' # ------------------------------- # 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 # ------------------------------- # yamllint disable rule:key-duplicates pod: # ------------------------------- # fraser # ------------------------------- - armband-baremetal: <<: *baremetal <<: *fraser # ------------------------------- # gambia # ------------------------------- - armband-baremetal: <<: *baremetal <<: *gambia - armband-virtual: <<: *virtual <<: *gambia # ------------------------------- # 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' - 'os-nosdn-fdio-noha': auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger' exclude: # Dovetail (and only it) should run against Fraser HA baremetal scenarios - scenario: os-nosdn-nofeature-noha stream: fraser - scenario: os-ovn-nofeature-ha stream: fraser - scenario: os-nosdn-fdio-noha stream: fraser 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-.*' blocking-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} INSTALLER_VERSION={stream} same-node: true block: true - conditional-step: condition-kind: not condition-operand: condition-kind: regex-match regex: 'fraser' label: '{stream}' steps: - trigger-builds: - project: 'functest-{installer}-{pod}-daily-{stream}' current-parameters: false predefined-parameters: | DEPLOY_SCENARIO={scenario} INSTALLER_VERSION={stream} DOCKER_TAG={functest_docker_tag} same-node: true block: 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: 'fraser' label: '{stream}' steps: - trigger-builds: - project: 'yardstick-{installer}-{pod}-daily-{stream}' current-parameters: false predefined-parameters: | DEPLOY_SCENARIO={scenario} INSTALLER_VERSION={stream} 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: regex-match regex: 'fraser' label: '{stream}' steps: - trigger-builds: - project: 'dovetail-{installer}-{pod}-proposed_tests-{stream}' current-parameters: false predefined-parameters: | DEPLOY_SCENARIO={scenario} INSTALLER_VERSION={stream} 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: regex-match regex: 'fraser' label: '{stream}' steps: - trigger-builds: - project: 'dovetail-{installer}-{pod}-default-{stream}' current-parameters: false predefined-parameters: | DEPLOY_SCENARIO={scenario} INSTALLER_VERSION={stream} 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 - trigger-builds: - project: 'fuel-collect-logs-{deploy-type}-daily-{stream}' current-parameters: false predefined-parameters: | DEPLOY_SCENARIO={scenario} INSTALLER_VERSION={stream} 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-.*' blocking-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: '0 1 * * 7' - trigger: name: 'fuel-os-odl-nofeature-ha-armband-baremetal-master-trigger' triggers: - timed: '0 1 * * 4,6' - trigger: name: 'fuel-os-ovn-nofeature-ha-armband-baremetal-master-trigger' triggers: - timed: '0 1 * * 2' - trigger: name: 'fuel-os-nosdn-ovs-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-nosdn-fdio-noha-armband-baremetal-master-trigger' triggers: - timed: '0 1 * * 3,5' # --------------------------------------------------------------------- # Enea Armband CI Baremetal Triggers running against gambia branch # --------------------------------------------------------------------- - trigger: name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-gambia-trigger' triggers: - timed: '10 1 * * 1' - trigger: name: 'fuel-os-odl-nofeature-ha-armband-baremetal-gambia-trigger' triggers: - timed: '10 1 * * 7' - trigger: name: 'fuel-os-ovn-nofeature-ha-armband-baremetal-gambia-trigger' triggers: - timed: '10 1 * * 2' - trigger: name: 'fuel-os-nosdn-ovs-ha-armband-baremetal-gambia-trigger' triggers: - timed: '10 1 * * 4,6' - trigger: name: 'fuel-os-nosdn-nofeature-noha-armband-baremetal-gambia-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-nosdn-fdio-noha-armband-baremetal-gambia-trigger' triggers: - timed: '10 1 * * 3,5' # ------------------------------------------------------------------- # Enea Armband CI Baremetal Triggers running against fraser branch (for Dovetail) # ------------------------------------------------------------------- - trigger: name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-fraser-trigger' triggers: - timed: '5 13 * * 6,7' - trigger: name: 'fuel-os-odl-nofeature-ha-armband-baremetal-fraser-trigger' triggers: - timed: '0 13 * * 6' - trigger: name: 'fuel-os-nosdn-ovs-ha-armband-baremetal-fraser-trigger' triggers: - timed: '0 13 * * 7' # -------------------------------------------------------------- # 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-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: '' - trigger: name: 'fuel-os-nosdn-nofeature-noha-armband-virtual-master-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-nosdn-fdio-noha-armband-virtual-master-trigger' triggers: - timed: '' # ------------------------------------------------------------------- # Enea Armband CI Virtual Triggers running against gambia branch # ------------------------------------------------------------------- - trigger: name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-gambia-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-odl-nofeature-ha-armband-virtual-gambia-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-ovn-nofeature-ha-armband-virtual-gambia-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-nosdn-ovs-ha-armband-virtual-gambia-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-nosdn-nofeature-noha-armband-virtual-gambia-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-nosdn-fdio-noha-armband-virtual-gambia-trigger' triggers: - timed: ''