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