Merge "Fix incorrect comment that security report posted"
[releng.git] / jjb / armband / armband-ci-jobs.yml
1 ---
2 # jenkins job templates for Armband
3 - project:
4     name: 'armband-ci'
5     project: 'armband'
6
7     # -------------------------------
8     # BRANCH ANCHORS
9     # -------------------------------
10     master: &master
11       stream: master
12       branch: '{stream}'
13       gs-pathname: ''
14       disabled: false
15     euphrates: &euphrates
16       stream: euphrates
17       branch: 'stable/{stream}'
18       gs-pathname: '/{stream}'
19       disabled: false
20     # -------------------------------
21     # DEPLOY TYPE ANCHORS
22     # -------------------------------
23     baremetal: &baremetal
24       installer: 'fuel'
25       deploy-type: 'baremetal'
26       slave-label: 'armband-{deploy-type}'
27     virtual: &virtual
28       installer: 'fuel'
29       deploy-type: 'virtual'
30       slave-label: 'armband-{deploy-type}'
31     # -------------------------------
32     # POD, INSTALLER, AND BRANCH MAPPING
33     # -------------------------------
34     # CI POD's
35     # -------------------------------
36     #        euphrates
37     # -------------------------------
38     pod:
39       # yamllint disable rule:key-duplicates
40       - armband-baremetal:
41           <<: *baremetal
42           <<: *euphrates
43       - armband-virtual:
44           <<: *virtual
45           <<: *euphrates
46       # -------------------------------
47       #        master
48       # -------------------------------
49       - armband-baremetal:
50           <<: *baremetal
51           <<: *master
52       - armband-virtual:
53           <<: *virtual
54           <<: *master
55     # yamllint enable rule:key-duplicates
56     # -------------------------------
57     #       scenarios
58     # -------------------------------
59     scenario:
60       # HA scenarios
61       - 'os-nosdn-nofeature-ha':
62           auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
63       - 'os-odl-nofeature-ha':
64           auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
65
66       # NOHA scenarios
67       - 'os-nosdn-nofeature-noha':
68           auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
69
70     jobs:
71       - '{installer}-{scenario}-{pod}-daily-{stream}'
72       - '{installer}-deploy-{pod}-daily-{stream}'
73
74 ########################
75 # job templates
76 ########################
77 - job-template:
78     name: '{installer}-{scenario}-{pod}-daily-{stream}'
79
80     disabled: '{obj:disabled}'
81
82     concurrent: false
83
84     properties:
85       - logrotate-default
86       - throttle:
87           enabled: true
88           max-total: 4
89           max-per-node: 1
90           option: 'project'
91       - build-blocker:
92           use-build-blocker: true
93           blocking-jobs:
94             - '{installer}-os-.*?-{pod}-daily-.*'
95             - 'armband-verify-.*'
96           block-level: 'NODE'
97
98     wrappers:
99       - build-name:
100           name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
101
102     triggers:
103       - '{auto-trigger-name}'
104
105     parameters:
106       - project-parameter:
107           project: '{project}'
108           branch: '{branch}'
109       - '{installer}-defaults':
110           gs-pathname: '{gs-pathname}'
111       - '{slave-label}-defaults':
112           installer: '{installer}'
113       - string:
114           name: DEPLOY_SCENARIO
115           default: '{scenario}'
116
117     builders:
118       - trigger-builds:
119           - project: '{installer}-deploy-{pod}-daily-{stream}'
120             current-parameters: false
121             predefined-parameters:
122               DEPLOY_SCENARIO={scenario}
123             same-node: true
124             block: true
125       - trigger-builds:
126           - project: 'functest-{installer}-{pod}-arm-daily-{stream}'
127             current-parameters: false
128             predefined-parameters:
129               DEPLOY_SCENARIO={scenario}
130             block: true
131             same-node: true
132             block-thresholds:
133               build-step-failure-threshold: 'never'
134               failure-threshold: 'never'
135               unstable-threshold: 'FAILURE'
136       - trigger-builds:
137           - project: 'yardstick-{installer}-{pod}-daily-{stream}'
138             current-parameters: false
139             predefined-parameters:
140               DEPLOY_SCENARIO={scenario}
141             block: true
142             same-node: true
143             block-thresholds:
144               build-step-failure-threshold: 'never'
145               failure-threshold: 'never'
146               unstable-threshold: 'FAILURE'
147       # 1.dovetail only master, based on D release
148       # 2.here the stream means the SUT stream,
149       #   dovetail stream is defined in its own job
150       # 3.only proposed_tests testsuite here(refstack, ha, ipv6, bgpvpn)
151       # 4.not used for release criteria or compliance,
152       #   only to debug the dovetail tool bugs with arm pods
153       # 5.only run against scenario os-(nosdn|odl)-(nofeature-bgpvpn)-ha
154       - conditional-step:
155           condition-kind: regex-match
156           regex: os-(nosdn|odl)-(nofeature|bgpvpn)-ha
157           label: '{scenario}'
158           steps:
159             - trigger-builds:
160                 - project: 'dovetail-{installer}-{pod}-proposed_tests-master'
161                   current-parameters: false
162                   predefined-parameters:
163                     DEPLOY_SCENARIO={scenario}
164                   block: true
165                   same-node: true
166                   block-thresholds:
167                     build-step-failure-threshold: 'never'
168                     failure-threshold: 'never'
169                     unstable-threshold: 'FAILURE'
170       # Armband uses Fuel's log collection project job, no need to duplicate
171       - trigger-builds:
172           - project: 'fuel-collect-logs-{deploy-type}-daily-{stream}'
173             current-parameters: false
174             block: true
175             same-node: true
176             block-thresholds:
177               build-step-failure-threshold: 'never'
178               failure-threshold: 'never'
179               unstable-threshold: 'FAILURE'
180
181 - job-template:
182     name: '{installer}-deploy-{pod}-daily-{stream}'
183
184     concurrent: true
185
186     properties:
187       - logrotate-default
188       - throttle:
189           enabled: true
190           max-total: 4
191           max-per-node: 1
192           option: 'project'
193       - build-blocker:
194           use-build-blocker: true
195           blocking-jobs:
196             - '{installer}-deploy-{pod}-daily-{stream}'
197             - '{installer}-deploy-generic-daily-.*'
198           block-level: 'NODE'
199
200     parameters:
201       - project-parameter:
202           project: '{project}'
203           branch: '{branch}'
204       - '{installer}-defaults':
205           gs-pathname: '{gs-pathname}'
206       - '{slave-label}-defaults':
207           installer: '{installer}'
208       - string:
209           name: DEPLOY_SCENARIO
210           default: 'os-odl-nofeature-ha'
211
212     scm:
213       - git-scm
214
215     wrappers:
216       - build-name:
217           name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
218
219     builders:
220       - shell:
221           !include-raw-escape: ../fuel/fuel-deploy.sh
222
223     publishers:
224       - email:
225           recipients: armband@enea.com
226       - email-jenkins-admins-on-failure
227
228 ########################
229 # trigger macros
230 ########################
231 # CI PODs
232 # ----------------------------------------------------------------
233 # Enea Armband CI Baremetal Triggers running against master branch
234 # ----------------------------------------------------------------
235 - trigger:
236     name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-master-trigger'
237     triggers:
238       - timed: '0 16 * * 2,4,6'
239 - trigger:
240     name: 'fuel-os-nosdn-nofeature-noha-armband-baremetal-master-trigger'
241     triggers:
242       - timed: ''
243 - trigger:
244     name: 'fuel-os-odl-nofeature-ha-armband-baremetal-master-trigger'
245     triggers:
246       - timed: '0 16 * * 1,3,5,7'
247 # ---------------------------------------------------------------------
248 # Enea Armband CI Baremetal Triggers running against euphrates branch
249 # ---------------------------------------------------------------------
250 - trigger:
251     name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-euphrates-trigger'
252     triggers:
253       - timed: '0 1 * * 2,4,6'
254 - trigger:
255     name: 'fuel-os-nosdn-nofeature-noha-armband-baremetal-euphrates-trigger'
256     triggers:
257       - timed: ''
258 - trigger:
259     name: 'fuel-os-odl-nofeature-ha-armband-baremetal-euphrates-trigger'
260     triggers:
261       - timed: '0 1 * * 1,3,5,7'
262 # --------------------------------------------------------------
263 # Enea Armband CI Virtual Triggers running against master branch
264 # --------------------------------------------------------------
265 - trigger:
266     name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-master-trigger'
267     triggers:
268       - timed: ''
269 - trigger:
270     name: 'fuel-os-nosdn-nofeature-noha-armband-virtual-master-trigger'
271     triggers:
272       - timed: ''
273 - trigger:
274     name: 'fuel-os-odl-nofeature-ha-armband-virtual-master-trigger'
275     triggers:
276       - timed: ''
277 # -------------------------------------------------------------------
278 # Enea Armband CI Virtual Triggers running against euphrates branch
279 # -------------------------------------------------------------------
280 - trigger:
281     name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-euphrates-trigger'
282     triggers:
283       - timed: ''
284 - trigger:
285     name: 'fuel-os-nosdn-nofeature-noha-armband-virtual-euphrates-trigger'
286     triggers:
287       - timed: ''
288 - trigger:
289     name: 'fuel-os-odl-nofeature-ha-armband-virtual-euphrates-trigger'
290     triggers:
291       - timed: ''