Update jenkins-job-builder to 2.2.1
[releng.git] / jjb / 3rd_party_ci / odl-netvirt.yaml
1 ---
2 - project:
3     name: 'netvirt'
4
5     project: 'netvirt'
6
7     installer: 'netvirt'
8     #####################################
9     # branch definitions
10     #####################################
11     stream:
12       - master:
13           branch: '{stream}'
14           gs-pathname: ''
15           disabled: false
16       - oxygen:
17           branch: 'stable/oxygen'
18           gs-pathname: ''
19           disabled: false
20     #####################################
21     # patch verification phases
22     #####################################
23     phase:
24       - 'create-apex-vms':
25           slave-label: 'apex-virtual-master'
26       - 'install-netvirt':
27           slave-label: 'apex-virtual-master'
28       - 'postprocess':
29           slave-label: 'apex-virtual-master'
30     #####################################
31     # jobs
32     #####################################
33     jobs:
34       - 'odl-netvirt-verify-virtual-{stream}'
35       - 'odl-netvirt-verify-virtual-{phase}-{stream}'
36
37 #####################################
38 # job templates
39 #####################################
40 - job-template:
41     name: 'odl-netvirt-verify-virtual-{stream}'
42
43     project-type: multijob
44
45     disabled: '{obj:disabled}'
46
47     concurrent: true
48
49     properties:
50       - logrotate-default
51       - throttle:
52           enabled: true
53           max-total: 5
54           max-per-node: 1
55           option: 'project'
56       - build-blocker:
57           use-build-blocker: true
58           blocking-jobs:
59             - 'apex-verify.*'
60             - 'apex-.*-promote.*'
61             - 'apex-virtual.*'
62             - 'odl-netvirt-verify-virtual-create-apex-vms-.*'
63             - 'odl-netvirt-verify-virtual-install-netvirt-.*'
64             - 'functest-netvirt-virtual-suite-.*'
65             - 'odl-netvirt-verify-virtual-postprocess-.*'
66           blocking-level: 'NODE'
67     scm:
68       - git:
69           url: https://gerrit.opnfv.org/gerrit/apex
70           branches:
71             - 'origin/master'
72           timeout: 15
73           wipe-workspace: true
74
75     parameters:
76       - project-parameter:
77           project: '{project}'
78           branch: '{branch}'
79       - string:
80           name: NETVIRT_ARTIFACT
81           default: distribution-karaf.tar.gz
82       - 'apex-virtual-master-defaults'
83
84     triggers:
85       - gerrit:
86           server-name: 'git.opendaylight.org'
87           trigger-on:
88             # yamllint disable rule:line-length
89             # - comment-added-contains-event:
90             #     comment-contains-value: 'https://jenkins.opendaylight.org/releng/job/netvirt-patch-test-current-carbon/.*?/ : SUCCESS'
91             # - comment-added-contains-event:
92             #     comment-contains-value: 'https://jenkins.opendaylight.org/releng/job/netvirt-patch-test-current-carbon/.*?/ : UNSTABLE'
93             # yamllint enable rule:line-length
94             - comment-added-contains-event:
95                 comment-contains-value: 'check-opnfv'
96           projects:
97             - project-compare-type: 'ANT'
98               project-pattern: '*'
99               branches:
100                 - branch-compare-type: 'ANT'
101                   branch-pattern: '**/{branch}'
102           readable-message: true
103
104     builders:
105       - description-setter:
106           description: "Built on $NODE_NAME"
107       - detect-opnfv-snapshot
108       - inject:
109           properties-file: detected_snapshot
110       - multijob:
111           name: create-apex-vms
112           condition: SUCCESSFUL
113           projects:
114             - name: 'odl-netvirt-verify-virtual-create-apex-vms-{stream}'
115               current-parameters: false
116               predefined-parameters: |
117                 BRANCH=$BRANCH
118                 GERRIT_REFSPEC=$GERRIT_REFSPEC
119                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
120                 GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID
121                 GERRIT_PATCHSET_NUMBER=$GERRIT_PATCHSET_NUMBER
122                 GERRIT_PATCHSET_REVISION=$GERRIT_PATCHSET_REVISION
123                 NETVIRT_ARTIFACT=$NETVIRT_ARTIFACT
124                 APEX_ENV_NUMBER=$APEX_ENV_NUMBER
125                 GERRIT_EVENT_COMMENT_TEXT=$GERRIT_EVENT_COMMENT_TEXT
126                 TOPOLOGY=$TOPOLOGY
127                 OS_VERSION=$OS_VERSION
128               node-parameters: true
129               kill-phase-on: FAILURE
130               abort-all-job: true
131       - multijob:
132           name: install-netvirt
133           condition: SUCCESSFUL
134           projects:
135             - name: 'odl-netvirt-verify-virtual-install-netvirt-{stream}'
136               current-parameters: false
137               predefined-parameters: |
138                 ODL_BRANCH=$BRANCH
139                 BRANCH=$BRANCH
140                 GERRIT_REFSPEC=$GERRIT_REFSPEC
141                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
142                 GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID
143                 GERRIT_PATCHSET_NUMBER=$GERRIT_PATCHSET_NUMBER
144                 GERRIT_PATCHSET_REVISION=$GERRIT_PATCHSET_REVISION
145                 GERRIT_PROJECT=$GERRIT_PROJECT
146                 NETVIRT_ARTIFACT=$NETVIRT_ARTIFACT
147                 TOPOLOGY=$TOPOLOGY
148                 OS_VERSION=$OS_VERSION
149               node-parameters: true
150               kill-phase-on: FAILURE
151               abort-all-job: true
152       - multijob:
153           name: csit
154           condition: ALWAYS
155           projects:
156             - name: cperf-apex-csit-master
157               predefined-parameters: |
158                 ODL_BRANCH=$BRANCH
159                 RC_FILE_PATH=$SNAP_CACHE/overcloudrc
160                 NODE_FILE_PATH=$SNAP_CACHE/node.yaml
161                 SSH_KEY_PATH=$SNAP_CACHE/id_rsa
162                 ODL_CONTAINERIZED=false
163                 OS_VERSION=$OS_VERSION
164               node-parameters: true
165               kill-phase-on: FAILURE
166               abort-all-job: false
167       - multijob:
168           name: csit-collect-logs
169           condition: ALWAYS
170           projects:
171             - name: cperf-upload-logs-csit
172               predefined-parameters: |
173                 ODL_BRANCH=$BRANCH
174                 OS_VERSION=$OS_VERSION
175               node-parameters: true
176               kill-phase-on: FAILURE
177               abort-all-job: false
178       - multijob:
179           name: apex-fetch-logs
180           condition: ALWAYS
181           projects:
182             - name: 'apex-fetch-logs-{stream}'
183               current-parameters: false
184               node-parameters: true
185               kill-phase-on: NEVER
186               abort-all-job: true
187               git-revision: false
188       - multijob:
189           name: postprocess
190           condition: ALWAYS
191           projects:
192             - name: 'odl-netvirt-verify-virtual-postprocess-{stream}'
193               current-parameters: false
194               predefined-parameters: |
195                 BRANCH=$BRANCH
196                 GERRIT_REFSPEC=$GERRIT_REFSPEC
197                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
198                 GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID
199                 GERRIT_PATCHSET_NUMBER=$GERRIT_PATCHSET_NUMBER
200                 GERRIT_PATCHSET_REVISION=$GERRIT_PATCHSET_REVISION
201                 NETVIRT_ARTIFACT=$NETVIRT_ARTIFACT
202               node-parameters: true
203               kill-phase-on: FAILURE
204               abort-all-job: false
205
206 - job-template:
207     name: 'odl-netvirt-verify-virtual-{phase}-{stream}'
208
209     disabled: '{obj:disabled}'
210
211     concurrent: true
212
213     properties:
214       - logrotate-default
215       - throttle:
216           enabled: true
217           max-total: 5
218           max-per-node: 1
219           option: 'project'
220       - build-blocker:
221           use-build-blocker: true
222           blocking-jobs:
223             - 'odl-netvirt-verify-virtual-create-apex-vms-.*'
224             - 'odl-netvirt-verify-virtual-install-netvirt-.*'
225             - 'functest-netvirt-virtual-suite-.*'
226             - 'odl-netvirt-verify-virtual-postprocess-.*'
227           blocking-level: 'NODE'
228
229     wrappers:
230       - ssh-agent-wrapper
231       - timeout:
232           timeout: 360
233           fail: true
234
235     scm:
236       - git:
237           url: https://gerrit.opnfv.org/gerrit/apex
238           branches:
239             - 'origin/master'
240           timeout: 15
241           wipe-workspace: true
242
243     parameters:
244       - project-parameter:
245           project: '{project}'
246           branch: '{branch}'
247       - '{slave-label}-defaults'
248       - '{installer}-defaults'
249       - string:
250           name: DEPLOY_SCENARIO
251           default: 'os-odl-nofeature-noha'
252           description: 'Scenario to deploy and test'
253       - string:
254           name: GS_URL
255           default: artifacts.opnfv.org/apex
256           description: "URL to Google Storage with snapshot artifacts."
257
258     builders:
259       - description-setter:
260           description: "Built on $NODE_NAME"
261       - '{project}-verify-{phase}-builder'
262 #####################################
263 # builder macros
264 #####################################
265 - builder:
266     name: 'netvirt-verify-create-apex-vms-builder'
267     builders:
268       - shell:
269           !include-raw: ../apex/apex-snapshot-deploy.sh
270 - builder:
271     name: 'netvirt-verify-install-netvirt-builder'
272     builders:
273       - shell:
274           !include-raw: ./download-netvirt-artifact.sh
275       - shell:
276           !include-raw: ./install-netvirt.sh
277 - builder:
278     name: 'netvirt-verify-postprocess-builder'
279     builders:
280       - shell:
281           !include-raw: ./postprocess-netvirt.sh
282
283 - builder:
284     name: 'detect-opnfv-snapshot'
285     builders:
286       - shell:
287           !include-raw: ./detect-snapshot.sh