7bd659c0b2503155469cb766630c37d4b3e74de5
[releng.git] / jjb / airship / airship.yaml
1 ---
2 - airship-jobs: &airship-jobs
3     name: 'airship-jobs'
4     current-parameters: true
5
6 - airship-params: &airship-params
7     name: 'airship-params'
8     repo: 'opnfv'
9     port:
10     tag:
11       - latest:
12           branch: master
13           slave: intel-pod17
14           functest_tag: hunter
15
16 - parameter:
17     name: airship-slave
18     parameters:
19       - label:
20           name: slave
21           default: '{slave}'
22
23 - airship-containers: &airship-containers
24     name: 'airship-containers'
25     repo: '{repo}'
26     port: '{port}'
27     container: '{container}'
28     functest_tag: '{functest_tag}'
29
30 - airship-run-containers: &airship-run-containers
31     name: 'airship-run-containers'
32     <<: *airship-containers
33     test: '{test}'
34
35 - builder:
36     name: airship-pull-containers
37     builders:
38       - shell: |
39           set +x
40           if [ "{repo}" = "_" ]; then
41             image={container}:{functest_tag}
42           elif [ "{port}" = "None" ]; then
43             image={repo}/{container}:{functest_tag}
44           else
45             image={repo}:{port}/{container}:{functest_tag}
46           fi
47           sudo docker pull $image
48
49 - builder:
50     name: airship-run-containers
51     builders:
52       - shell: |
53           set +ex
54           [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
55           if [ "{repo}" = "_" ]; then
56             image={container}:{functest_tag}
57           elif [ "{port}" = "None" ]; then
58             image={repo}/{container}:{functest_tag}
59           else
60             image={repo}:{port}/{container}:{functest_tag}
61           fi
62           sudo docker run --rm \
63             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
64             -e NODE_NAME=intel-pod17 \
65             -e INSTALLER_TYPE=airship \
66             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
67             -e DEBUG=True \
68             -e EXTERNAL_NETWORK=public \
69             -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
70             -v /home/opnfv/functest/images:/home/opnfv/functest/images \
71             -v /home/opnfv/functest/tempest_conf.yaml:/usr/lib/python2.7/\
72           site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml \
73             $image run_tests -t {test} -r
74           res=$?
75           gsutil -m cp -r $WORKSPACE/ \
76             gs://artifacts.opnfv.org/airship/$JOB_NAME-$BUILD_ID > /dev/null 2>&1
77           find $WORKSPACE -type f \
78             -printf \
79             "http://artifacts.opnfv.org/airship/$JOB_NAME-$BUILD_ID/%P\n"
80           exit $res
81
82 - builder:
83     name: airship-remove-images
84     builders:
85       - shell: |
86           set +x
87           if [ "{repo}" = "_" ]; then
88             image={container}:{functest_tag}
89           elif [ "{port}" = "None" ]; then
90             image={repo}/{container}:{functest_tag}
91           else
92             image={repo}:{port}/{container}:{functest_tag}
93           fi
94           sudo docker rmi $image || true
95
96 - builder:
97     name: airship-deploy
98     builders:
99       - shell: |
100           set +x
101           sudo -u ubuntu tools/deploy.sh deploy_site
102
103 - scm:
104     name: airship-scm
105     scm:
106       - git:
107           url: https://gerrit.opnfv.org/gerrit/airship
108           refspec: '+refs/changes/*:refs/changes/*'
109           branches:
110             - '{ref}'
111
112 - parameter:
113     name: airship-branch
114     parameters:
115       - string:
116           name: branch
117           default: '{branch}'
118
119 - job-template:
120     name: 'airship-deploy-daily-{tag}'
121     parameters:
122       - airship-slave:
123           slave: '{slave}'
124       - airship-branch:
125           branch: '{branch}'
126     scm:
127       - airship-scm:
128           ref: $branch
129     builders:
130       - airship-deploy
131
132 - job-template:
133     name: 'airship-deploy-gate-{tag}'
134     parameters:
135       - airship-slave:
136           slave: '{slave}'
137     scm:
138       - airship-scm:
139           ref: $GERRIT_REFSPEC
140     builders:
141       - airship-deploy
142
143 - project:
144     name: 'airship-deploy'
145     <<: *airship-params
146     jobs:
147       - 'airship-deploy-daily-{tag}'
148       - 'airship-deploy-gate-{tag}'
149
150 - job-template:
151     name: 'airship-{repo}-{container}-{tag}-pull'
152     parameters:
153       - airship-slave:
154           slave: '{slave}'
155     builders:
156       - airship-pull-containers:
157           <<: *airship-containers
158
159 - project:
160     name: 'airship-opnfv-functest-healthcheck-pull'
161     <<: *airship-params
162     container: 'functest-healthcheck'
163     jobs:
164       - 'airship-{repo}-{container}-{tag}-pull'
165
166 - project:
167     name: 'airship-opnfv-functest-smoke-pull'
168     <<: *airship-params
169     container: 'functest-smoke'
170     jobs:
171       - 'airship-{repo}-{container}-{tag}-pull'
172
173 - project:
174     name: 'airship-opnfv-functest-benchmarking-pull'
175     <<: *airship-params
176     container: 'functest-benchmarking'
177     jobs:
178       - 'airship-{repo}-{container}-{tag}-pull'
179
180 - project:
181     name: 'airship-opnfv-functest-vnf-pull'
182     <<: *airship-params
183     container: 'functest-vnf'
184     jobs:
185       - 'airship-{repo}-{container}-{tag}-pull'
186
187 - job-template:
188     name: 'airship-{repo}-{container}-{tag}-rmi'
189     parameters:
190       - airship-slave:
191           slave: '{slave}'
192     builders:
193       - airship-remove-images:
194           <<: *airship-containers
195
196 - project:
197     name: 'airship-opnfv-functest-healthcheck-rmi'
198     <<: *airship-params
199     container: 'functest-healthcheck'
200     jobs:
201       - 'airship-{repo}-{container}-{tag}-rmi'
202
203 - project:
204     name: 'airship-opnfv-functest-smoke-rmi'
205     <<: *airship-params
206     container: 'functest-smoke'
207     jobs:
208       - 'airship-{repo}-{container}-{tag}-rmi'
209
210 - project:
211     name: 'airship-opnfv-functest-benchmarking-rmi'
212     <<: *airship-params
213     container: 'functest-benchmarking'
214     jobs:
215       - 'airship-{repo}-{container}-{tag}-rmi'
216
217 - project:
218     name: 'airship-opnfv-functest-vnf-rmi'
219     <<: *airship-params
220     container: 'functest-vnf'
221     jobs:
222       - 'airship-{repo}-{container}-{tag}-rmi'
223
224 - job-template:
225     name: 'airship-{repo}-{container}-{tag}-{test}-run'
226     parameters:
227       - airship-slave:
228           slave: '{slave}'
229     builders:
230       - airship-run-containers:
231           <<: *airship-run-containers
232
233 - project:
234     name: 'airship-opnfv-functest-healthcheck'
235     <<: *airship-params
236     container: 'functest-healthcheck'
237     test:
238       - connection_check
239       - tenantnetwork1
240       - tenantnetwork2
241       - vmready1
242       - vmready2
243       - singlevm1
244       - singlevm2
245       - vping_ssh
246       - vping_userdata
247       - cinder_test
248       - odl
249       - tempest_smoke
250     jobs:
251       - 'airship-{repo}-{container}-{tag}-{test}-run'
252
253 - project:
254     name: 'airship-opnfv-functest-smoke'
255     <<: *airship-params
256     container: 'functest-smoke'
257     test:
258       - neutron-tempest-plugin-api
259       - rally_sanity
260       - refstack_defcore
261       - tempest_full
262       - tempest_scenario
263       - patrole
264       - neutron_trunk
265       - networking-bgpvpn
266       - networking-sfc
267       - barbican
268     jobs:
269       - 'airship-{repo}-{container}-{tag}-{test}-run'
270
271 - project:
272     name: 'airship-opnfv-functest-benchmarking'
273     <<: *airship-params
274     container: 'functest-benchmarking'
275     test:
276       - rally_full
277       - rally_jobs
278       - vmtp
279       - shaker
280     jobs:
281       - 'airship-{repo}-{container}-{tag}-{test}-run'
282
283 - project:
284     name: 'airship-opnfv-functest-vnf'
285     <<: *airship-params
286     container: 'functest-vnf'
287     test:
288       - cloudify
289       - cloudify_ims
290       - heat_ims
291       - vyos_vrouter
292       - juju_epc
293     jobs:
294       - 'airship-{repo}-{container}-{tag}-{test}-run'
295
296 - job-template:
297     name: 'airship-{tag}-daily'
298     project-type: multijob
299     triggers:
300       - timed: '@daily'
301     parameters:
302       - airship-slave:
303           slave: '{slave}'
304       - airship-branch:
305           branch: 'master'
306     properties:
307       - build-blocker:
308           use-build-blocker: true
309           blocking-level: 'NODE'
310           blocking-jobs:
311             - '^airship-{tag}-(daily|gate)$'
312     builders:
313       - multijob:
314           name: deploy
315           projects:
316             - name: 'airship-deploy-daily-latest'
317               <<: *airship-jobs
318       - multijob:
319           name: remove former images
320           projects:
321             - name: 'airship-opnfv-functest-healthcheck-{tag}-rmi'
322               <<: *airship-jobs
323             - name: 'airship-opnfv-functest-smoke-{tag}-rmi'
324               <<: *airship-jobs
325             - name: 'airship-opnfv-functest-benchmarking-{tag}-rmi'
326               <<: *airship-jobs
327             - name: 'airship-opnfv-functest-vnf-{tag}-rmi'
328               <<: *airship-jobs
329       - multijob:
330           name: pull containers
331           projects:
332             - name: 'airship-opnfv-functest-healthcheck-{tag}-pull'
333               <<: *airship-jobs
334             - name: 'airship-opnfv-functest-smoke-{tag}-pull'
335               <<: *airship-jobs
336             - name: 'airship-opnfv-functest-benchmarking-{tag}-pull'
337               <<: *airship-jobs
338             - name: 'airship-opnfv-functest-vnf-{tag}-pull'
339               <<: *airship-jobs
340       - multijob:
341           name: opnfv/functest-healthcheck:{functest_tag}
342           condition: ALWAYS
343           projects:
344             - name: 'airship-opnfv-functest-healthcheck-{tag}-connection_check-run'
345               <<: *airship-jobs
346             - name: 'airship-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
347               <<: *airship-jobs
348             - name: 'airship-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
349               <<: *airship-jobs
350             - name: 'airship-opnfv-functest-healthcheck-{tag}-vmready1-run'
351               <<: *airship-jobs
352             - name: 'airship-opnfv-functest-healthcheck-{tag}-vmready2-run'
353               <<: *airship-jobs
354             - name: 'airship-opnfv-functest-healthcheck-{tag}-singlevm1-run'
355               <<: *airship-jobs
356             - name: 'airship-opnfv-functest-healthcheck-{tag}-singlevm2-run'
357               <<: *airship-jobs
358             - name: 'airship-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
359               <<: *airship-jobs
360             - name: 'airship-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
361               <<: *airship-jobs
362             - name: 'airship-opnfv-functest-healthcheck-{tag}-cinder_test-run'
363               <<: *airship-jobs
364             - name: 'airship-opnfv-functest-healthcheck-{tag}-odl-run'
365               <<: *airship-jobs
366             - name: 'airship-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
367               <<: *airship-jobs
368       - multijob:
369           name: opnfv/functest-smoke:{functest_tag}
370           condition: ALWAYS
371           projects:
372             - name: 'airship-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
373               <<: *airship-jobs
374             - name: 'airship-opnfv-functest-smoke-{tag}-rally_sanity-run'
375               <<: *airship-jobs
376             - name: 'airship-opnfv-functest-smoke-{tag}-refstack_defcore-run'
377               <<: *airship-jobs
378             - name: 'airship-opnfv-functest-smoke-{tag}-tempest_full-run'
379               <<: *airship-jobs
380             - name: 'airship-opnfv-functest-smoke-{tag}-tempest_scenario-run'
381               <<: *airship-jobs
382             - name: 'airship-opnfv-functest-smoke-{tag}-patrole-run'
383               <<: *airship-jobs
384             - name: 'airship-opnfv-functest-smoke-{tag}-neutron_trunk-run'
385               <<: *airship-jobs
386             - name: 'airship-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
387               <<: *airship-jobs
388             - name: 'airship-opnfv-functest-smoke-{tag}-networking-sfc-run'
389               <<: *airship-jobs
390             - name: 'airship-opnfv-functest-smoke-{tag}-barbican-run'
391               <<: *airship-jobs
392       - multijob:
393           name: opnfv/functest-benchmarking:{functest_tag}
394           condition: ALWAYS
395           projects:
396             - name: 'airship-opnfv-functest-benchmarking-{tag}-rally_full-run'
397               <<: *airship-jobs
398             - name: 'airship-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
399               <<: *airship-jobs
400             - name: 'airship-opnfv-functest-benchmarking-{tag}-vmtp-run'
401               <<: *airship-jobs
402             - name: 'airship-opnfv-functest-benchmarking-{tag}-shaker-run'
403               <<: *airship-jobs
404       - multijob:
405           name: opnfv/functest-vnf:{functest_tag}
406           condition: ALWAYS
407           execution-type: SEQUENTIALLY
408           projects:
409             - name: 'airship-opnfv-functest-vnf-{tag}-cloudify-run'
410               <<: *airship-jobs
411             - name: 'airship-opnfv-functest-vnf-{tag}-cloudify_ims-run'
412               <<: *airship-jobs
413             - name: 'airship-opnfv-functest-vnf-{tag}-heat_ims-run'
414               <<: *airship-jobs
415             - name: 'airship-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
416               <<: *airship-jobs
417             - name: 'airship-opnfv-functest-vnf-{tag}-juju_epc-run'
418               <<: *airship-jobs
419
420 - trigger:
421     name: airship-patchset-created
422     triggers:
423       - gerrit:
424           server-name: 'gerrit.opnfv.org'
425           trigger-on:
426             - patchset-created-event
427             - comment-added-contains-event:
428                 comment-contains-value: 'recheck'
429             - comment-added-contains-event:
430                 comment-contains-value: 'reverify'
431           projects:
432             - project-compare-type: 'ANT'
433               project-pattern: 'airship'
434               branches:
435                 - branch-compare-type: 'ANT'
436                   branch-pattern: '**/{branch}'
437           skip-vote:
438             successful: false
439             failed: false
440             unstable: false
441             notbuilt: false
442
443 - job-template:
444     name: 'airship-{tag}-gate'
445     project-type: multijob
446     triggers:
447       - airship-patchset-created:
448           branch: '{branch}'
449     parameters:
450       - airship-slave:
451           slave: '{slave}'
452     properties:
453       - build-blocker:
454           use-build-blocker: true
455           blocking-level: 'NODE'
456           blocking-jobs:
457             - '^airship-{tag}-(daily|gate)$'
458     builders:
459       - multijob:
460           name: deploy
461           projects:
462             - name: 'airship-deploy-gate-latest'
463               <<: *airship-jobs
464       - multijob:
465           name: remove former images
466           projects:
467             - name: 'airship-opnfv-functest-healthcheck-{tag}-rmi'
468               <<: *airship-jobs
469             - name: 'airship-opnfv-functest-smoke-{tag}-rmi'
470               <<: *airship-jobs
471             - name: 'airship-opnfv-functest-benchmarking-{tag}-rmi'
472               <<: *airship-jobs
473             - name: 'airship-opnfv-functest-vnf-{tag}-rmi'
474               <<: *airship-jobs
475       - multijob:
476           name: pull containers
477           projects:
478             - name: 'airship-opnfv-functest-healthcheck-{tag}-pull'
479               <<: *airship-jobs
480             - name: 'airship-opnfv-functest-smoke-{tag}-pull'
481               <<: *airship-jobs
482             - name: 'airship-opnfv-functest-benchmarking-{tag}-pull'
483               <<: *airship-jobs
484             - name: 'airship-opnfv-functest-vnf-{tag}-pull'
485               <<: *airship-jobs
486       - multijob:
487           name: opnfv/functest-healthcheck:{functest_tag}
488           condition: ALWAYS
489           projects:
490             - name: 'airship-opnfv-functest-healthcheck-{tag}-connection_check-run'
491               <<: *airship-jobs
492             - name: 'airship-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
493               <<: *airship-jobs
494             - name: 'airship-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
495               <<: *airship-jobs
496             - name: 'airship-opnfv-functest-healthcheck-{tag}-vmready1-run'
497               <<: *airship-jobs
498             - name: 'airship-opnfv-functest-healthcheck-{tag}-vmready2-run'
499               <<: *airship-jobs
500             - name: 'airship-opnfv-functest-healthcheck-{tag}-singlevm1-run'
501               <<: *airship-jobs
502             - name: 'airship-opnfv-functest-healthcheck-{tag}-singlevm2-run'
503               <<: *airship-jobs
504             - name: 'airship-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
505               <<: *airship-jobs
506             - name: 'airship-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
507               <<: *airship-jobs
508             - name: 'airship-opnfv-functest-healthcheck-{tag}-cinder_test-run'
509               <<: *airship-jobs
510             - name: 'airship-opnfv-functest-healthcheck-{tag}-odl-run'
511               <<: *airship-jobs
512             - name: 'airship-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
513               <<: *airship-jobs
514       - multijob:
515           name: opnfv/functest-smoke:{functest_tag}
516           condition: ALWAYS
517           projects:
518             - name: 'airship-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
519               <<: *airship-jobs
520             - name: 'airship-opnfv-functest-smoke-{tag}-rally_sanity-run'
521               <<: *airship-jobs
522             - name: 'airship-opnfv-functest-smoke-{tag}-refstack_defcore-run'
523               <<: *airship-jobs
524             - name: 'airship-opnfv-functest-smoke-{tag}-tempest_full-run'
525               <<: *airship-jobs
526             - name: 'airship-opnfv-functest-smoke-{tag}-tempest_scenario-run'
527               <<: *airship-jobs
528             - name: 'airship-opnfv-functest-smoke-{tag}-patrole-run'
529               <<: *airship-jobs
530             - name: 'airship-opnfv-functest-smoke-{tag}-neutron_trunk-run'
531               <<: *airship-jobs
532             - name: 'airship-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
533               <<: *airship-jobs
534             - name: 'airship-opnfv-functest-smoke-{tag}-networking-sfc-run'
535               <<: *airship-jobs
536             - name: 'airship-opnfv-functest-smoke-{tag}-barbican-run'
537               <<: *airship-jobs
538       - multijob:
539           name: opnfv/functest-benchmarking:{functest_tag}
540           condition: ALWAYS
541           projects:
542             - name: 'airship-opnfv-functest-benchmarking-{tag}-rally_full-run'
543               <<: *airship-jobs
544             - name: 'airship-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
545               <<: *airship-jobs
546             - name: 'airship-opnfv-functest-benchmarking-{tag}-vmtp-run'
547               <<: *airship-jobs
548             - name: 'airship-opnfv-functest-benchmarking-{tag}-shaker-run'
549               <<: *airship-jobs
550       - multijob:
551           name: opnfv/functest-vnf:{functest_tag}
552           condition: ALWAYS
553           execution-type: SEQUENTIALLY
554           projects:
555             - name: 'airship-opnfv-functest-vnf-{tag}-cloudify-run'
556               <<: *airship-jobs
557             - name: 'airship-opnfv-functest-vnf-{tag}-cloudify_ims-run'
558               <<: *airship-jobs
559             - name: 'airship-opnfv-functest-vnf-{tag}-heat_ims-run'
560               <<: *airship-jobs
561             - name: 'airship-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
562               <<: *airship-jobs
563             - name: 'airship-opnfv-functest-vnf-{tag}-juju_epc-run'
564               <<: *airship-jobs
565
566 - project:
567     name: 'airship'
568     <<: *airship-params
569     jobs:
570       - 'airship-{tag}-daily'
571       - 'airship-{tag}-gate'
572
573 - view:
574     name: airship
575     view-type: list
576     columns:
577       - status
578       - weather
579       - job
580       - last-success
581       - last-failure
582       - last-duration
583     regex: ^airship-[a-z]+-(daily|check|gate)$