xci: Disable merge jobs on centos until centos is fixed properly
[releng.git] / jjb / xci / xci-merge-jobs.yml
1 ---
2 - project:
3     name: 'opnfv-xci-merge'
4
5     project: releng-xci
6     # -------------------------------
7     # branches
8     # -------------------------------
9     stream:
10       - master:
11           branch: '{stream}'
12           disabled: false
13     # -------------------------------
14     # distros
15     # -------------------------------
16     distro:
17       - ubuntu:
18           disabled: false
19           kill-phase-on: FAILURE
20           abort-all-job: true
21       - centos:
22           disabled: true
23           kill-phase-on: NEVER
24           abort-all-job: false
25       - opensuse:
26           disabled: false
27           kill-phase-on: FAILURE
28           abort-all-job: true
29     # -------------------------------
30     # postmerge promotion phases
31     # -------------------------------
32     phase:
33       - 'deploy'
34       - 'healthcheck'
35     # -------------------------------
36     # jobs
37     # -------------------------------
38     jobs:
39       - 'xci-merge-virtual-{stream}'
40       - 'xci-merge-promote-virtual-{stream}'
41       - 'xci-merge-{distro}-virtual-{stream}'
42       - 'xci-merge-{distro}-{phase}-virtual-{stream}'
43 # -------------------------------
44 # job templates
45 # -------------------------------
46 - job-template:
47     name: 'xci-merge-virtual-{stream}'
48
49     project-type: multijob
50
51     disabled: '{obj:disabled}'
52
53     concurrent: false
54
55     properties:
56       - logrotate-default
57
58     wrappers:
59       - ssh-agent-wrapper
60       - build-timeout:
61           timeout: 240
62       - fix-workspace-permissions
63
64     scm:
65       - git-scm-gerrit
66
67     triggers:
68       - gerrit:
69           server-name: 'gerrit.opnfv.org'
70           trigger-on:
71             - change-merged-event
72             - comment-added-contains-event:
73                 comment-contains-value: 'remerge'
74           projects:
75             - project-compare-type: 'ANT'
76               project-pattern: 'releng-xci'
77               branches:
78                 - branch-compare-type: 'ANT'
79                   branch-pattern: '**/{branch}'
80               disable-strict-forbidden-file-verification: 'false'
81               forbidden-file-paths:
82                 - compare-type: ANT
83                   pattern: 'xci/scripts/vm/**'
84                 - compare-type: ANT
85                   pattern: 'docs/**'
86                 - compare-type: ANT
87                   pattern: 'prototypes/**'
88                 - compare-type: ANT
89                   pattern: 'upstream/**'
90             - project-compare-type: 'REG_EXP'
91               project-pattern: 'sfc|sdnvpn'
92               branches:
93                 - branch-compare-type: 'ANT'
94                   branch-pattern: '**/{branch}'
95               disable-strict-forbidden-file-verification: 'true'
96               file-paths:
97                 - compare-type: ANT
98                   pattern: 'scenarios/**'
99           readable-message: true
100           custom-url: '* $JOB_NAME $BUILD_URL'
101
102     parameters:
103       - project-parameter:
104           project: $GERRIT_PROJECT
105           branch: '{branch}'
106       - label:
107           name: SLAVE_LABEL
108           default: 'xci-virtual'
109       - string:
110           name: CI_LOOP
111           default: 'merge'
112       - string:
113           name: FUNCTEST_MODE
114           default: 'tier'
115       - string:
116           name: FUNCTEST_SUITE_NAME
117           default: 'healthcheck'
118       - string:
119           name: DISTRO
120           default: 'all'
121       - string:
122           name: CLEAN_DIB_IMAGES
123           default: 'true'
124       - string:
125           name: GIT_BASE
126           default: https://gerrit.opnfv.org/gerrit/$PROJECT
127           description: 'Git URL to use on this Jenkins Slave'
128
129     builders:
130       - 'xci-merge-set-scenario-macro'
131       - inject:
132           properties-file: "/tmp/$GERRIT_CHANGE_NUMBER/$DISTRO/scenario.properties"
133       - description-setter:
134           description: "Scenario: $DEPLOY_SCENARIO | Node: $NODE_NAME"
135       - multijob:
136           name: deploy and test
137           condition: SUCCESSFUL
138           projects:
139             - name: 'xci-merge-opensuse-virtual-{stream}'
140               current-parameters: false
141               predefined-parameters: |
142                 DISTRO=opensuse
143                 CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
144                 GERRIT_PROJECT=$GERRIT_PROJECT
145                 GERRIT_BRANCH=$GERRIT_BRANCH
146                 GERRIT_REFSPEC=$GERRIT_REFSPEC
147                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
148                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
149                 CI_LOOP=$CI_LOOP
150                 FUNCTEST_MODE=$FUNCTEST_MODE
151                 FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
152               node-parameters: false
153               kill-phase-on: FAILURE
154               abort-all-job: true
155             - name: 'xci-merge-ubuntu-virtual-{stream}'
156               current-parameters: false
157               predefined-parameters: |
158                 DISTRO=ubuntu
159                 CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
160                 GERRIT_PROJECT=$GERRIT_PROJECT
161                 GERRIT_BRANCH=$GERRIT_BRANCH
162                 GERRIT_REFSPEC=$GERRIT_REFSPEC
163                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
164                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
165                 CI_LOOP=$CI_LOOP
166                 FUNCTEST_MODE=$FUNCTEST_MODE
167                 FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
168               node-parameters: false
169               kill-phase-on: FAILURE
170               abort-all-job: true
171             - name: 'xci-merge-centos-virtual-{stream}'
172               current-parameters: false
173               predefined-parameters: |
174                 DISTRO=centos
175                 CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
176                 GERRIT_PROJECT=$GERRIT_PROJECT
177                 GERRIT_BRANCH=$GERRIT_BRANCH
178                 GERRIT_REFSPEC=$GERRIT_REFSPEC
179                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
180                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
181                 CI_LOOP=$CI_LOOP
182                 FUNCTEST_MODE=$FUNCTEST_MODE
183                 FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
184               node-parameters: false
185               kill-phase-on: NEVER
186               abort-all-job: false
187       - inject:
188           properties-file: "/tmp/$GERRIT_CHANGE_NUMBER/$DISTRO/scenario.properties"
189       - multijob:
190           name: promote
191           condition: SUCCESSFUL
192           projects:
193             - name: 'xci-merge-promote-virtual-{stream}'
194               current-parameters: true
195               predefined-parameters: |
196                 GERRIT_PROJECT=$GERRIT_PROJECT
197                 GERRIT_BRANCH=$GERRIT_BRANCH
198                 GERRIT_REFSPEC=$GERRIT_REFSPEC
199                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
200                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
201                 CI_LOOP=$CI_LOOP
202                 FUNCTEST_MODE=$FUNCTEST_MODE
203                 FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
204               node-parameters: true
205               kill-phase-on: NEVER
206               abort-all-job: true
207
208 - job-template:
209     name: 'xci-merge-{distro}-virtual-{stream}'
210
211     project-type: multijob
212
213     disabled: '{obj:disabled}'
214
215     concurrent: false
216
217     properties:
218       - logrotate-default
219       - build-blocker:
220           use-build-blocker: true
221           blocking-jobs:
222             - 'xci-verify-{distro}-.*'
223             - 'xci-merge-{distro}-.*'
224             - 'openstack-bifrost-verify-{distro}-.*'
225             - 'xci-osa-verify-{distro}-.*'
226             - 'xci-osa-periodic-{distro}-.*'
227           block-level: 'NODE'
228       - throttle:
229           max-per-node: 1
230           max-total: 3
231           categories:
232             - xci-verify-virtual
233           option: category
234
235     wrappers:
236       - ssh-agent-wrapper
237       - build-timeout:
238           timeout: 240
239       - fix-workspace-permissions
240
241     scm:
242       - git-scm-gerrit
243
244     parameters:
245       - project-parameter:
246           project: $GERRIT_PROJECT
247           branch: '{branch}'
248       - label:
249           name: SLAVE_LABEL
250           default: 'xci-virtual'
251       - string:
252           name: CI_LOOP
253           default: 'merge'
254       - string:
255           name: FUNCTEST_MODE
256           default: 'tier'
257       - string:
258           name: FUNCTEST_SUITE_NAME
259           default: 'healthcheck'
260       - string:
261           name: DISTRO
262           default: '{distro}'
263       - string:
264           name: CLEAN_DIB_IMAGES
265           default: 'true'
266       - string:
267           name: GIT_BASE
268           default: https://gerrit.opnfv.org/gerrit/$PROJECT
269           description: 'Git URL to use on this Jenkins Slave'
270
271     builders:
272       - 'xci-merge-set-scenario-macro'
273       - inject:
274           properties-file: "/tmp/$GERRIT_CHANGE_NUMBER/$DISTRO/scenario.properties"
275       - description-setter:
276           description: "Scenario: $DEPLOY_SCENARIO | Node: $NODE_NAME"
277       - multijob:
278           name: deploy
279           condition: SUCCESSFUL
280           projects:
281             - name: 'xci-merge-{distro}-deploy-virtual-{stream}'
282               current-parameters: true
283               predefined-parameters: |
284                 DISTRO={distro}
285                 CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
286                 GERRIT_PROJECT=$GERRIT_PROJECT
287                 GERRIT_BRANCH=$GERRIT_BRANCH
288                 GERRIT_REFSPEC=$GERRIT_REFSPEC
289                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
290                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
291               node-parameters: true
292               kill-phase-on: '{kill-phase-on}'
293               abort-all-job: '{abort-all-job}'
294       - multijob:
295           name: healthcheck
296           condition: SUCCESSFUL
297           projects:
298             - name: 'xci-merge-{distro}-healthcheck-virtual-{stream}'
299               current-parameters: true
300               predefined-parameters: |
301                 DISTRO={distro}
302                 CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
303                 GERRIT_PROJECT=$GERRIT_PROJECT
304                 GERRIT_BRANCH=$GERRIT_BRANCH
305                 GERRIT_REFSPEC=$GERRIT_REFSPEC
306                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
307                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
308                 CI_LOOP=$CI_LOOP
309                 FUNCTEST_MODE=$FUNCTEST_MODE
310                 FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
311               node-parameters: true
312               kill-phase-on: '{kill-phase-on}'
313               abort-all-job: '{abort-all-job}'
314
315     publishers:
316       - postbuildscript:
317           script-only-if-succeeded: false
318           script-only-if-failed: false
319           builders:
320             - shell:
321                 !include-raw: ./xci-cleanup.sh
322
323 - job-template:
324     name: 'xci-merge-{distro}-{phase}-virtual-{stream}'
325
326     disabled: false
327
328     concurrent: false
329
330     properties:
331       - logrotate-default
332       - build-blocker:
333           use-build-blocker: true
334           blocking-jobs:
335             - '.*-bifrost-verify-.*'
336             - '.*-bifrost-periodic-.*'
337             - 'osa-verify-.*'
338             - 'osa-periodic-.*'
339           block-level: 'NODE'
340
341     parameters:
342       - string:
343           name: PROJECT
344           default: $GERRIT_PROJECT
345       - string:
346           name: DISTRO
347           default: 'ubuntu'
348       - string:
349           name: CI_LOOP
350           default: 'merge'
351       - string:
352           name: FUNCTEST_MODE
353           default: 'tier'
354       - string:
355           name: FUNCTEST_SUITE_NAME
356           default: 'healthcheck'
357       - string:
358           name: XCI_FLAVOR
359           default: 'mini'
360       - string:
361           name: CLEAN_DIB_IMAGES
362           default: 'true'
363       - string:
364           name: OPNFV_RELENG_DEV_PATH
365           default: $WORKSPACE/
366       - string:
367           name: GIT_BASE
368           default: https://gerrit.opnfv.org/gerrit/$PROJECT
369           description: 'Git URL to use on this Jenkins Slave'
370
371     wrappers:
372       - inject:
373           properties-file: "/tmp/$GERRIT_CHANGE_NUMBER/$DISTRO/scenario.properties"
374       - ssh-agent-wrapper
375       - build-timeout:
376           timeout: 240
377       - fix-workspace-permissions
378
379     scm:
380       - git-scm-gerrit
381
382     builders:
383       - description-setter:
384           description: "Scenario: $DEPLOY_SCENARIO | Node: $NODE_NAME"
385       - 'xci-merge-{phase}-macro'
386
387 - job-template:
388     name: 'xci-merge-promote-virtual-{stream}'
389
390     disabled: false
391
392     concurrent: false
393
394     properties:
395       - logrotate-default
396
397     parameters:
398       - string:
399           name: PROJECT
400           default: $GERRIT_PROJECT
401       - string:
402           name: CI_LOOP
403           default: 'merge'
404       - string:
405           name: FUNCTEST_MODE
406           default: 'tier'
407       - string:
408           name: FUNCTEST_SUITE_NAME
409           default: 'healthcheck'
410       - string:
411           name: DISTRO
412           default: 'all'
413       - string:
414           name: OPNFV_RELENG_DEV_PATH
415           default: $WORKSPACE/
416       - string:
417           name: LOCAL_PROMOTION_METADATA_FILE
418           default: "/tmp/$GERRIT_CHANGE_NUMBER/$DISTRO/scenario.properties"
419       - string:
420           name: REMOTE_PROMOTION_METADATA_FILE
421           default: "gs://artifacts.opnfv.org/xci/pipeline/merge/$DEPLOY_SCENARIO.properties"
422       - string:
423           name: GIT_BASE
424           default: https://gerrit.opnfv.org/gerrit/$PROJECT
425           description: 'Git URL to use on this Jenkins Slave'
426
427     wrappers:
428       - inject:
429           properties-file: "/tmp/$GERRIT_CHANGE_NUMBER/$DISTRO/scenario.properties"
430       - ssh-agent-wrapper
431       - build-timeout:
432           timeout: 240
433       - fix-workspace-permissions
434
435     builders:
436       - description-setter:
437           description: "Scenario: $DEPLOY_SCENARIO | Node: $NODE_NAME"
438       - 'xci-merge-promote-macro'
439
440 # -------------------------------
441 # builder macros
442 # -------------------------------
443 - builder:
444     name: 'xci-merge-set-scenario-macro'
445     builders:
446       - shell:
447           !include-raw: ./xci-set-scenario.sh
448
449 - builder:
450     name: 'xci-merge-deploy-macro'
451     builders:
452       - shell:
453           !include-raw: ./xci-start-new-vm.sh
454
455       - shell:
456           !include-raw: ./xci-start-deployment.sh
457
458 - builder:
459     name: 'xci-merge-healthcheck-macro'
460     builders:
461       - shell:
462           !include-raw: ./xci-run-functest.sh
463
464 - builder:
465     name: 'xci-merge-promote-macro'
466     builders:
467       - shell:
468           !include-raw: ./xci-promote.sh