--- # jenkins job templates for Fuel - project: name: 'fuel' project: '{name}' installer: '{name}' # ------------------------------- # BRANCH ANCHORS # ------------------------------- master: &master stream: master branch: '{stream}' disabled: false gs-pathname: '' functest_docker_tag: iruya hunter: &hunter stream: hunter branch: 'stable/{stream}' disabled: false gs-pathname: '/{stream}' functest_docker_tag: '{stream}' # ------------------------------- # POD, INSTALLER, AND BRANCH MAPPING # ------------------------------- # CI PODs # ------------------------------- pod: - baremetal: slave-label: fuel-baremetal <<: *master - virtual: slave-label: fuel-virtual <<: *master - baremetal: slave-label: fuel-baremetal <<: *hunter - virtual: slave-label: fuel-virtual <<: *hunter # ------------------------------- # None-CI PODs # ------------------------------- - zte-pod1: slave-label: zte-pod1 <<: *master - itri-pod1: slave-label: itri-pod1 <<: *master # ------------------------------- # scenarios # ------------------------------- scenario: # HA scenarios - 'os-nosdn-nofeature-ha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - 'os-odl-nofeature-ha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - 'os-ovn-nofeature-ha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - 'os-nosdn-ovs-ha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - 'os-nosdn-fdio-ha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' # NOHA scenarios - 'os-nosdn-nofeature-noha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - 'os-odl-nofeature-noha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - 'os-odl-sfc-noha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - 'os-odl-bgpvpn-noha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - 'os-ovn-nofeature-noha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - 'os-odl-ovs-noha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - 'os-nosdn-ovs-noha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - 'os-nosdn-fdio-noha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - 'k8-calico-nofeature-noha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' jobs: - 'fuel-{scenario}-{pod}-daily-{stream}' - 'fuel-deploy-{pod}-daily-{stream}' - 'fuel-collect-logs-{pod}-daily-{stream}' ######################## # job templates ######################## - job-template: name: 'fuel-{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: - 'fuel-(os|k8)-.*?-{pod}-daily-.*' - 'fuel-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: - description-setter: description: "Built on $NODE_NAME" - trigger-builds: - project: 'fuel-deploy-{pod}-daily-{stream}' current-parameters: false predefined-parameters: | DEPLOY_SCENARIO={scenario} INSTALLER_VERSION={stream} same-node: true block: true - trigger-builds: - project: 'functest-fuel-{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' - trigger-builds: - project: 'yardstick-fuel-{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 default here is for the test cases already added into OVP # 3.run default testsuite mandatory test cases against ha scenario # 4.run default testsuite optional test cases against ha scenario twice one week # 5.run proposed_tests testsuite optional test cases against ha scenario # 6.not used for release criteria or compliance, only to debug the dovetail tool bugs - conditional-step: condition-kind: and condition-operands: - condition-kind: regex-match regex: '.*-ha' label: '{scenario}' steps: - trigger-builds: - project: 'dovetail-fuel-{pod}-default-mandatory-{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' - project: 'dovetail-fuel-{pod}-proposed_tests-optional-{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: day-of-week day-selector: select-days days: MON: true WED: true use-build-time: true steps: - trigger-builds: - project: 'dovetail-fuel-{pod}-default-optional-{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' - trigger-builds: - project: 'fuel-collect-logs-{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' publishers: - email-fuel-ptl - email-jenkins-admins-on-failure - job-template: name: 'fuel-deploy-{pod}-daily-{stream}' disabled: '{obj:disabled}' 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: - 'fuel-deploy-{pod}-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' scm: - git-scm wrappers: - build-name: name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' builders: - description-setter: description: "Built on $NODE_NAME" - track-begin-timestamp - shell: !include-raw-escape: ./fuel-deploy.sh publishers: - email-fuel-ptl - email-jenkins-admins-on-failure - report-provision-result - job-template: name: 'fuel-collect-logs-{pod}-daily-{stream}' disabled: '{obj:disabled}' concurrent: true properties: - logrotate-default 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' scm: - git-scm wrappers: - build-name: name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' builders: - description-setter: description: "Built on $NODE_NAME" - shell: !include-raw-escape: ./fuel-logs.sh publishers: - email-jenkins-admins-on-failure ######################## # trigger macros ######################## # ---------------------------------------------- # Triggers for job running on fuel-baremetal against master branch # ---------------------------------------------- # HA Scenarios - trigger: name: 'fuel-os-nosdn-nofeature-ha-baremetal-daily-master-trigger' triggers: - timed: '5 20 * * 1,2,4,6,7' - trigger: name: 'fuel-os-odl-nofeature-ha-baremetal-daily-master-trigger' triggers: - timed: '5 2 * * *' - trigger: name: 'fuel-os-nosdn-ovs-ha-baremetal-daily-master-trigger' triggers: - timed: '5 5 * * *' - trigger: name: 'fuel-os-ovn-nofeature-ha-baremetal-daily-master-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-nosdn-fdio-ha-baremetal-daily-master-trigger' triggers: - timed: '' # NOHA Scenarios - trigger: name: 'fuel-os-nosdn-nofeature-noha-baremetal-daily-master-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-odl-nofeature-noha-baremetal-daily-master-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-odl-sfc-noha-baremetal-daily-master-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-odl-bgpvpn-noha-baremetal-daily-master-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-ovn-nofeature-noha-baremetal-daily-master-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-odl-ovs-noha-baremetal-daily-master-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-nosdn-ovs-noha-baremetal-daily-master-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-nosdn-fdio-noha-baremetal-daily-master-trigger' triggers: - timed: '5 20 * * 3,5' - trigger: name: 'fuel-k8-calico-nofeature-noha-baremetal-daily-master-trigger' triggers: - timed: '' # ---------------------------------------------- # Triggers for job running on fuel-baremetal against hunter branch # ---------------------------------------------- # HA Scenarios - trigger: name: 'fuel-os-nosdn-nofeature-ha-baremetal-daily-hunter-trigger' triggers: - timed: '0 20 * * 1,4,7' - trigger: name: 'fuel-os-odl-nofeature-ha-baremetal-daily-hunter-trigger' triggers: - timed: '0 2 * * *' - trigger: name: 'fuel-os-ovn-nofeature-ha-baremetal-daily-hunter-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-nosdn-ovs-ha-baremetal-daily-hunter-trigger' triggers: - timed: '0 5 * * *' - trigger: name: 'fuel-os-nosdn-fdio-ha-baremetal-daily-hunter-trigger' triggers: - timed: '' # NOHA Scenarios - trigger: name: 'fuel-os-nosdn-nofeature-noha-baremetal-daily-hunter-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-odl-nofeature-noha-baremetal-daily-hunter-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-odl-sfc-noha-baremetal-daily-hunter-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-odl-bgpvpn-noha-baremetal-daily-hunter-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-ovn-nofeature-noha-baremetal-daily-hunter-trigger' triggers: - timed: '0 20 * * 6' - trigger: name: 'fuel-os-odl-ovs-noha-baremetal-daily-hunter-trigger' triggers: - timed: '0 20 * * 2' - trigger: name: 'fuel-os-nosdn-ovs-noha-baremetal-daily-hunter-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-nosdn-fdio-noha-baremetal-daily-hunter-trigger' triggers: - timed: '0 20 * * 3,5' - trigger: name: 'fuel-k8-calico-nofeature-noha-baremetal-daily-hunter-trigger' triggers: - timed: '' # ---------------------------------------------- # Triggers for job running on fuel-virtual against master branch # ---------------------------------------------- - trigger: name: 'fuel-os-nosdn-nofeature-ha-virtual-daily-master-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-odl-nofeature-ha-virtual-daily-master-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-ovn-nofeature-ha-virtual-daily-master-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-nosdn-ovs-ha-virtual-daily-master-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-nosdn-fdio-ha-virtual-daily-master-trigger' triggers: - timed: '' # NOHA Scenarios - trigger: name: 'fuel-os-nosdn-nofeature-noha-virtual-daily-master-trigger' triggers: - timed: '5 13 * * *' - trigger: name: 'fuel-os-odl-nofeature-noha-virtual-daily-master-trigger' triggers: - timed: '5 18 * * *' - trigger: name: 'fuel-os-odl-sfc-noha-virtual-daily-master-trigger' triggers: - timed: '5 4 * * 1,4' - trigger: name: 'fuel-os-odl-bgpvpn-noha-virtual-daily-master-trigger' triggers: - timed: '5 6 * * 2,5' - trigger: name: 'fuel-os-ovn-nofeature-noha-virtual-daily-master-trigger' triggers: - timed: '5 23 * * *' - trigger: name: 'fuel-os-odl-ovs-noha-virtual-daily-master-trigger' triggers: - timed: '5 2 * * *' - trigger: name: 'fuel-os-nosdn-ovs-noha-virtual-daily-master-trigger' triggers: - timed: '5 9 * * *' - trigger: name: 'fuel-os-nosdn-fdio-noha-virtual-daily-master-trigger' triggers: - timed: '' - trigger: name: 'fuel-k8-calico-nofeature-noha-virtual-daily-master-trigger' triggers: - timed: '5 16 * * *' # ---------------------------------------------- # Triggers for job running on fuel-virtual against hunter branch # ---------------------------------------------- - trigger: name: 'fuel-os-nosdn-nofeature-ha-virtual-daily-hunter-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-odl-nofeature-ha-virtual-daily-hunter-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-ovn-nofeature-ha-virtual-daily-hunter-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-nosdn-ovs-ha-virtual-daily-hunter-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-nosdn-fdio-ha-virtual-daily-hunter-trigger' triggers: - timed: '' # NOHA Scenarios - trigger: name: 'fuel-os-nosdn-nofeature-noha-virtual-daily-hunter-trigger' triggers: - timed: '0 13 * * *' - trigger: name: 'fuel-os-odl-nofeature-noha-virtual-daily-hunter-trigger' triggers: - timed: '0 18 * * *' - trigger: name: 'fuel-os-odl-sfc-noha-virtual-daily-hunter-trigger' triggers: - timed: '0 4 * * 1,4' - trigger: name: 'fuel-os-odl-bgpvpn-noha-virtual-daily-hunter-trigger' triggers: - timed: '0 7 * * 2,5' - trigger: name: 'fuel-os-ovn-nofeature-noha-virtual-daily-hunter-trigger' triggers: - timed: '0 23 * * *' - trigger: name: 'fuel-os-odl-ovs-noha-virtual-daily-hunter-trigger' triggers: - timed: '0 2 * * *' - trigger: name: 'fuel-os-nosdn-ovs-noha-virtual-daily-hunter-trigger' triggers: - timed: '0 9 * * *' - trigger: name: 'fuel-os-nosdn-fdio-noha-virtual-daily-hunter-trigger' triggers: - timed: '0 13 * * 6,7' - trigger: name: 'fuel-k8-calico-nofeature-noha-virtual-daily-hunter-trigger' triggers: - timed: '5 13 * * 6,7' # ---------------------------------------------- # ZTE POD1 Triggers running against master branch # ---------------------------------------------- - trigger: name: 'fuel-os-nosdn-nofeature-ha-zte-pod1-daily-master-trigger' triggers: - timed: '0 10 * * *' - trigger: name: 'fuel-os-odl-nofeature-ha-zte-pod1-daily-master-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-ovn-nofeature-ha-zte-pod1-daily-master-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-nosdn-ovs-ha-zte-pod1-daily-master-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-nosdn-fdio-ha-zte-pod1-daily-master-trigger' triggers: - timed: '' # NOHA Scenarios - trigger: name: 'fuel-os-nosdn-nofeature-noha-zte-pod1-daily-master-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-odl-nofeature-noha-zte-pod1-daily-master-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-odl-sfc-noha-zte-pod1-daily-master-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-odl-bgpvpn-noha-zte-pod1-daily-master-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-ovn-nofeature-noha-zte-pod1-daily-master-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-odl-ovs-noha-zte-pod1-daily-master-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-nosdn-ovs-noha-zte-pod1-daily-master-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-nosdn-fdio-noha-zte-pod1-daily-master-trigger' triggers: - timed: '' - trigger: name: 'fuel-k8-calico-nofeature-noha-zte-pod1-daily-master-trigger' triggers: - timed: '' # ---------------------------------------------- # ITRI POD1 Triggers running against master branch # ---------------------------------------------- - trigger: name: 'fuel-os-nosdn-nofeature-ha-itri-pod1-daily-master-trigger' triggers: - timed: '0 13 * * 1' - trigger: name: 'fuel-os-odl-nofeature-ha-itri-pod1-daily-master-trigger' triggers: - timed: '0 17 * * 1' - trigger: name: 'fuel-os-ovn-nofeature-ha-itri-pod1-daily-master-trigger' triggers: - timed: '0 13 * * 2' - trigger: name: 'fuel-os-nosdn-ovs-ha-itri-pod1-daily-master-trigger' triggers: - timed: '0 17 * * 2' - trigger: name: 'fuel-os-nosdn-fdio-ha-itri-pod1-daily-master-trigger' triggers: - timed: '' # NOHA Scenarios - trigger: name: 'fuel-os-nosdn-nofeature-noha-itri-pod1-daily-master-trigger' triggers: - timed: '0 13 * * 3' - trigger: name: 'fuel-os-odl-nofeature-noha-itri-pod1-daily-master-trigger' triggers: - timed: '0 17 * * 3' - trigger: name: 'fuel-os-odl-sfc-noha-itri-pod1-daily-master-trigger' triggers: - timed: '0 13 * * 4' - trigger: name: 'fuel-os-odl-bgpvpn-noha-itri-pod1-daily-master-trigger' triggers: - timed: '' - trigger: name: 'fuel-os-ovn-nofeature-noha-itri-pod1-daily-master-trigger' triggers: - timed: '0 17 * * 4' - trigger: name: 'fuel-os-odl-ovs-noha-itri-pod1-daily-master-trigger' triggers: - timed: '0 13 * * 5' - trigger: name: 'fuel-os-nosdn-ovs-noha-itri-pod1-daily-master-trigger' triggers: - timed: '0 17 * * 5' - trigger: name: 'fuel-os-nosdn-fdio-noha-itri-pod1-daily-master-trigger' triggers: - timed: '' - trigger: name: 'fuel-k8-calico-nofeature-noha-itri-pod1-daily-master-trigger' triggers: - timed: '0 13 * * 6'