summaryrefslogtreecommitdiffstats
path: root/jjb/armband/armband-ci-jobs.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'jjb/armband/armband-ci-jobs.yaml')
-rw-r--r--jjb/armband/armband-ci-jobs.yaml370
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: ''