Skip cloning netvirt repo and fail the job if artifact doesn't exist
[releng.git] / jjb / 3rd_party_ci / odl-netvirt.yml
1 - project:
2     name: 'netvirt'
3
4     project: 'netvirt'
5
6     installer: 'apex'
7 #####################################
8 # branch definitions
9 #####################################
10     stream:
11         - master:
12             branch: '{stream}'
13             gs-pathname: ''
14             disabled: false
15 #####################################
16 # patch verification phases
17 #####################################
18     phase:
19         - 'create-apex-vms':
20             slave-label: 'ericsson-virtual5'
21         - 'install-netvirt':
22             slave-label: 'ericsson-virtual6'
23         - 'functest':
24             slave-label: 'ericsson-virtual6'
25         - 'postprocess':
26             slave-label: 'ericsson-virtual6'
27 #####################################
28 # jobs
29 #####################################
30     jobs:
31         - 'odl-netvirt-verify-virtual-{stream}'
32         - 'odl-netvirt-verify-virtual-{phase}-{stream}'
33 #####################################
34 # job templates
35 #####################################
36 - job-template:
37     name: 'odl-netvirt-verify-virtual-{stream}'
38
39     project-type: multijob
40
41     disabled: '{obj:disabled}'
42
43     concurrent: true
44
45     properties:
46         - throttle:
47             enabled: true
48             max-total: 5
49             max-per-node: 1
50             option: 'project'
51
52     parameters:
53         - project-parameter:
54             project: '{project}'
55         - gerrit-parameter:
56             branch: '{branch}'
57         - string:
58             name: NETVIRT_ARTIFACT
59             default: $WORKSPACE/distribution-karaf.tar.gz
60         - 'ericsson-virtual6-defaults'
61
62     triggers:
63         - gerrit:
64             server-name: 'git.opendaylight.org'
65             trigger-on:
66                 - comment-added-contains-event:
67                     comment-contains-value: 'https://jenkins.opendaylight.org/releng/job/netvirt-patch-test-current-carbon/.*?/ : SUCCESS'
68                 - comment-added-contains-event:
69                     comment-contains-value: 'https://jenkins.opendaylight.org/releng/job/netvirt-patch-test-current-carbon/.*?/ : UNSTABLE'
70                 - comment-added-contains-event:
71                     comment-contains-value: 'opnfv-test'
72             projects:
73               - project-compare-type: 'ANT'
74                 project-pattern: '{project}'
75                 branches:
76                   - branch-compare-type: 'ANT'
77                     branch-pattern: '**/{branch}'
78             readable-message: true
79
80     builders:
81         - description-setter:
82             description: "Built on $NODE_NAME"
83         - multijob:
84             name: create-apex-vms
85             condition: SUCCESSFUL
86             projects:
87                 - name: 'odl-netvirt-verify-virtual-create-apex-vms-{stream}'
88                   current-parameters: false
89                   predefined-parameters: |
90                     GERRIT_BRANCH=$GERRIT_BRANCH
91                     GERRIT_REFSPEC=$GERRIT_REFSPEC
92                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
93                     GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID
94                     GERRIT_PATCHSET_NUMBER=$GERRIT_PATCHSET_NUMBER
95                     GERRIT_PATCHSET_REVISION=$GERRIT_PATCHSET_REVISION
96                     NETVIRT_ARTIFACT=$NETVIRT_ARTIFACT
97                     APEX_ENV_NUMBER=$APEX_ENV_NUMBER
98                   node-parameters: false
99                   kill-phase-on: FAILURE
100                   abort-all-job: true
101         - multijob:
102             name: install-netvirt
103             condition: SUCCESSFUL
104             projects:
105                 - name: 'odl-netvirt-verify-virtual-install-netvirt-{stream}'
106                   current-parameters: false
107                   predefined-parameters: |
108                     GERRIT_BRANCH=$GERRIT_BRANCH
109                     GERRIT_REFSPEC=$GERRIT_REFSPEC
110                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
111                     GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID
112                     GERRIT_PATCHSET_NUMBER=$GERRIT_PATCHSET_NUMBER
113                     GERRIT_PATCHSET_REVISION=$GERRIT_PATCHSET_REVISION
114                     NETVIRT_ARTIFACT=$NETVIRT_ARTIFACT
115                   node-parameters: true
116                   kill-phase-on: FAILURE
117                   abort-all-job: true
118         - multijob:
119             name: functest
120             condition: SUCCESSFUL
121             projects:
122                 - name: 'odl-netvirt-verify-virtual-functest-{stream}'
123                   current-parameters: false
124                   predefined-parameters: |
125                     GERRIT_BRANCH=$GERRIT_BRANCH
126                     GERRIT_REFSPEC=$GERRIT_REFSPEC
127                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
128                     GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID
129                     GERRIT_PATCHSET_NUMBER=$GERRIT_PATCHSET_NUMBER
130                     GERRIT_PATCHSET_REVISION=$GERRIT_PATCHSET_REVISION
131                     NETVIRT_ARTIFACT=$NETVIRT_ARTIFACT
132                   node-parameters: true
133                   kill-phase-on: FAILURE
134                   abort-all-job: true
135         - multijob:
136             name: postprocess
137             condition: SUCCESSFUL
138             projects:
139                 - name: 'odl-netvirt-verify-virtual-postprocess-{stream}'
140                   current-parameters: false
141                   predefined-parameters: |
142                     GERRIT_BRANCH=$GERRIT_BRANCH
143                     GERRIT_REFSPEC=$GERRIT_REFSPEC
144                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
145                     GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID
146                     GERRIT_PATCHSET_NUMBER=$GERRIT_PATCHSET_NUMBER
147                     GERRIT_PATCHSET_REVISION=$GERRIT_PATCHSET_REVISION
148                     NETVIRT_ARTIFACT=$NETVIRT_ARTIFACT
149                   node-parameters: true
150                   kill-phase-on: FAILURE
151                   abort-all-job: true
152
153 - job-template:
154     name: 'odl-netvirt-verify-virtual-{phase}-{stream}'
155
156     disabled: '{obj:disabled}'
157
158     concurrent: true
159
160     properties:
161         - throttle:
162             enabled: true
163             max-total: 5
164             max-per-node: 1
165             option: 'project'
166         - build-blocker:
167             use-build-blocker: true
168             blocking-jobs:
169                 - 'odl-netvirt-verify-virtual-install-.*'
170                 - 'odl-netvirt-verify-virtual-functest-.*'
171                 - 'odl-netvirt-verify-virtual-postprocess-.*'
172             block-level: 'NODE'
173
174     wrappers:
175         - ssh-agent-credentials:
176             users:
177                 - '{ssh-credentials}'
178         - timeout:
179             timeout: 360
180             fail: true
181
182     parameters:
183         - project-parameter:
184             project: '{project}'
185         - gerrit-parameter:
186             branch: '{branch}'
187         - '{slave-label}-defaults'
188         - '{installer}-defaults'
189
190     builders:
191         - description-setter:
192             description: "Built on $NODE_NAME"
193         - '{project}-verify-{phase}-builder'
194 #####################################
195 # builder macros
196 #####################################
197 - builder:
198     name: 'netvirt-verify-create-apex-vms-builder'
199     builders:
200         - shell:
201             !include-raw: ./create-apex-vms.sh
202 - builder:
203     name: 'netvirt-verify-install-netvirt-builder'
204     builders:
205         - shell:
206             !include-raw: ./download-netvirt-artifact.sh
207         - shell:
208             !include-raw: ./install-netvirt.sh
209 - builder:
210     name: 'netvirt-verify-functest-builder'
211     builders:
212         - shell:
213             !include-raw: ./functest-netvirt.sh
214 - builder:
215     name: 'netvirt-verify-postprocess-builder'
216     builders:
217         - shell:
218             !include-raw: ./postprocess-netvirt.sh