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