add filter based on begin&end time of start_date
[releng.git] / jjb / compass4nfv / compass-ci-jobs.yml
1 - project:
2
3     name: compass-ci
4
5     installer: 'compass'
6
7     project: 'compass4nfv'
8
9     master: &master
10         stream: master
11         branch: '{stream}'
12         gs-pathname: ''
13         disabled: false
14         openstack-version: ocata
15     danube: &danube
16         stream: danube
17         branch: 'stable/{stream}'
18         gs-pathname: '/{stream}'
19         disabled: false
20         openstack-version: newton
21 #--------------------------------
22 # POD, INSTALLER, AND BRANCH MAPPING
23 #--------------------------------
24 #        CI PODs
25 #--------------------------------
26     pod:
27         - baremetal:
28             slave-label: compass-baremetal-master
29             os-version: 'xenial'
30             <<: *master
31         - virtual:
32             slave-label: compass-virtual-master
33             os-version: 'xenial'
34             <<: *master
35         - baremetal:
36             slave-label: compass-baremetal-branch
37             os-version: 'xenial'
38             <<: *danube
39         - virtual:
40             slave-label: compass-virtual-branch
41             os-version: 'xenial'
42             <<: *danube
43 #--------------------------------
44 #        master
45 #--------------------------------
46         - baremetal-centos:
47             slave-label: 'intel-pod8'
48             os-version: 'centos7'
49             <<: *master
50
51     scenario:
52         - 'os-nosdn-nofeature-ha':
53             disabled: false
54             auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
55         - 'os-odl_l2-nofeature-ha':
56             disabled: false
57             auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
58         - 'os-odl_l3-nofeature-ha':
59             disabled: false
60             auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
61         - 'os-onos-nofeature-ha':
62             disabled: false
63             auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
64         - 'os-ocl-nofeature-ha':
65             disabled: false
66             auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
67         - 'os-onos-sfc-ha':
68             disabled: false
69             auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
70         - 'os-odl_l2-moon-ha':
71             disabled: false
72             auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
73         - 'os-nosdn-kvm-ha':
74             disabled: false
75             auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
76         - 'os-nosdn-openo-ha':
77             disabled: false
78             auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
79
80
81     jobs:
82         - 'compass-{scenario}-{pod}-daily-{stream}'
83         - 'compass-deploy-{pod}-daily-{stream}'
84
85 ########################
86 # job templates
87 ########################
88 - job-template:
89     name: 'compass-{scenario}-{pod}-daily-{stream}'
90
91     disabled: '{obj:disabled}'
92
93     concurrent: true
94
95     properties:
96         - logrotate-default
97         - throttle:
98             enabled: true
99             max-per-node: 1
100             option: 'project'
101         - build-blocker:
102             use-build-blocker: true
103             blocking-jobs:
104                 - 'compass-os-.*?-{pod}-daily-.*?'
105                 - 'compass-os-.*?-baremetal-daily-.*?'
106                 - 'compass-verify-[^-]*-[^-]*'
107             block-level: 'NODE'
108
109     wrappers:
110         - build-name:
111             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
112
113     parameters:
114         - project-parameter:
115             project: '{project}'
116             branch: '{branch}'
117         - compass-ci-parameter:
118             installer: '{installer}'
119             gs-pathname: '{gs-pathname}'
120         - string:
121             name: DEPLOY_SCENARIO
122             default: '{scenario}'
123         - '{slave-label}-defaults'
124         - '{installer}-defaults'
125
126     triggers:
127         - '{auto-trigger-name}'
128
129     builders:
130         - description-setter:
131             description: "POD: $NODE_NAME"
132         - trigger-builds:
133             - project: 'compass-deploy-{pod}-daily-{stream}'
134               current-parameters: true
135               predefined-parameters: |
136                 DEPLOY_SCENARIO={scenario}
137                 COMPASS_OS_VERSION={os-version}
138                 COMPASS_OPENSTACK_VERSION={openstack-version}
139               same-node: true
140               block: true
141         - trigger-builds:
142             - project: 'functest-compass-{pod}-daily-{stream}'
143               current-parameters: false
144               predefined-parameters:
145                 DEPLOY_SCENARIO={scenario}
146               same-node: true
147               block: true
148               block-thresholds:
149                 build-step-failure-threshold: 'never'
150                 failure-threshold: 'never'
151                 unstable-threshold: 'FAILURE'
152         - trigger-builds:
153             - project: 'yardstick-compass-{pod}-daily-{stream}'
154               current-parameters: false
155               predefined-parameters:
156                 DEPLOY_SCENARIO={scenario}
157               block: true
158               same-node: true
159               block-thresholds:
160                 build-step-failure-threshold: 'never'
161                 failure-threshold: 'never'
162                 unstable-threshold: 'FAILURE'
163         # dovetail only master by now, not sync with A/B/C branches
164         # here the stream means the SUT stream, dovetail stream is defined in its own job
165         # only run on os-(nosdn|odl_l2)-(nofeature|bgpvpn)-ha scenario
166         - conditional-step:
167             condition-kind: regex-match
168             regex: os-(nosdn|odl_l2)-(nofeature|bgpvpn)-ha
169             label: '{scenario}'
170             steps:
171                 - trigger-builds:
172                     - project: 'dovetail-compass-{pod}-proposed_tests-{stream}'
173                       current-parameters: false
174                       predefined-parameters:
175                         DEPLOY_SCENARIO={scenario}
176                       block: true
177                       same-node: true
178                       block-thresholds:
179                         build-step-failure-threshold: 'never'
180                         failure-threshold: 'never'
181                         unstable-threshold: 'FAILURE'
182
183 - job-template:
184     name: 'compass-deploy-{pod}-daily-{stream}'
185
186     disabled: false
187
188     concurrent: true
189
190     properties:
191         - logrotate-default
192         - throttle:
193             enabled: true
194             max-per-node: 1
195             option: 'project'
196         - build-blocker:
197             use-build-blocker: true
198             blocking-jobs:
199                 - 'compass-deploy-{pod}-daily-.*?'
200                 - 'compass-verify-deploy-.*?'
201             block-level: 'NODE'
202
203     wrappers:
204         - build-name:
205             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
206         - timeout:
207             timeout: 120
208             abort: true
209
210     parameters:
211         - project-parameter:
212             project: '{project}'
213             branch: '{branch}'
214         - compass-ci-parameter:
215             installer: '{installer}'
216             gs-pathname: '{gs-pathname}'
217         - '{slave-label}-defaults'
218         - '{installer}-defaults'
219
220     scm:
221         - git-scm
222
223     wrappers:
224         - build-name:
225             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
226
227
228     builders:
229         - description-setter:
230             description: "POD: $NODE_NAME"
231         - shell:
232             !include-raw-escape: ./compass-download-artifact.sh
233         - shell:
234             !include-raw-escape: ./compass-deploy.sh
235
236 ########################
237 # parameter macros
238 ########################
239 - parameter:
240     name: compass-ci-parameter
241     parameters:
242         - string:
243             name: BUILD_DIRECTORY
244             default: $WORKSPACE/build_output
245             description: "Directory where the build artifact will be located upon the completion of the build."
246         - string:
247             name: GS_URL
248             default: '$GS_BASE{gs-pathname}'
249             description: "URL to Google Storage."
250
251 ########################
252 # trigger macros
253 ########################
254 - trigger:
255     name: 'compass-os-nosdn-nofeature-ha-baremetal-centos-master-trigger'
256     triggers:
257         - timed: '0 19 * * *'
258 - trigger:
259     name: 'compass-os-nosdn-openo-ha-baremetal-centos-master-trigger'
260     triggers:
261         - timed: ''
262 - trigger:
263     name: 'compass-os-odl_l2-nofeature-ha-baremetal-centos-master-trigger'
264     triggers:
265         - timed: '0 23 * * *'
266 - trigger:
267     name: 'compass-os-odl_l3-nofeature-ha-baremetal-centos-master-trigger'
268     triggers:
269         - timed: '0 15 * * *'
270 - trigger:
271     name: 'compass-os-onos-nofeature-ha-baremetal-centos-master-trigger'
272     triggers:
273         - timed: '0 7 * * *'
274 - trigger:
275     name: 'compass-os-ocl-nofeature-ha-baremetal-centos-master-trigger'
276     triggers:
277         - timed: '0 11 * * *'
278 - trigger:
279     name: 'compass-os-onos-sfc-ha-baremetal-centos-master-trigger'
280     triggers:
281         - timed: '0 3 * * *'
282 - trigger:
283     name: 'compass-os-odl_l2-moon-ha-baremetal-centos-master-trigger'
284     triggers:
285         - timed: ''
286 - trigger:
287     name: 'compass-os-nosdn-kvm-ha-baremetal-centos-master-trigger'
288     triggers:
289         - timed: ''
290
291 - trigger:
292     name: 'compass-os-nosdn-nofeature-ha-baremetal-master-trigger'
293     triggers:
294         - timed: '0 2 * * *'
295 - trigger:
296     name: 'compass-os-nosdn-openo-ha-baremetal-master-trigger'
297     triggers:
298         - timed: '0 3 * * *'
299 - trigger:
300     name: 'compass-os-odl_l2-nofeature-ha-baremetal-master-trigger'
301     triggers:
302         - timed: '0 22 * * *'
303 - trigger:
304     name: 'compass-os-odl_l3-nofeature-ha-baremetal-master-trigger'
305     triggers:
306         - timed: '0 18 * * *'
307 - trigger:
308     name: 'compass-os-onos-nofeature-ha-baremetal-master-trigger'
309     triggers:
310         - timed: '0 14 * * *'
311 - trigger:
312     name: 'compass-os-ocl-nofeature-ha-baremetal-master-trigger'
313     triggers:
314         - timed: '0 10 * * *'
315 - trigger:
316     name: 'compass-os-onos-sfc-ha-baremetal-master-trigger'
317     triggers:
318         - timed: '0 6 * * *'
319 - trigger:
320     name: 'compass-os-odl_l2-moon-ha-baremetal-master-trigger'
321     triggers:
322         - timed: ''
323 - trigger:
324     name: 'compass-os-nosdn-kvm-ha-baremetal-master-trigger'
325     triggers:
326         - timed: ''
327
328 - trigger:
329     name: 'compass-os-nosdn-nofeature-ha-baremetal-danube-trigger'
330     triggers:
331         - timed: '0 9 * * *'
332 - trigger:
333     name: 'compass-os-nosdn-openo-ha-baremetal-danube-trigger'
334     triggers:
335         - timed: '0 13 * * *'
336 - trigger:
337     name: 'compass-os-odl_l2-nofeature-ha-baremetal-danube-trigger'
338     triggers:
339         - timed: '0 17 * * *'
340 - trigger:
341     name: 'compass-os-odl_l3-nofeature-ha-baremetal-danube-trigger'
342     triggers:
343         - timed: '0 21 * * *'
344 - trigger:
345     name: 'compass-os-onos-nofeature-ha-baremetal-danube-trigger'
346     triggers:
347         - timed: '0 1 * * *'
348 - trigger:
349     name: 'compass-os-ocl-nofeature-ha-baremetal-danube-trigger'
350     triggers:
351         - timed: '0 5 * * *'
352 - trigger:
353     name: 'compass-os-onos-sfc-ha-baremetal-danube-trigger'
354     triggers:
355         - timed: ''
356 - trigger:
357     name: 'compass-os-odl_l2-moon-ha-baremetal-danube-trigger'
358     triggers:
359         - timed: ''
360 - trigger:
361     name: 'compass-os-nosdn-kvm-ha-baremetal-danube-trigger'
362     triggers:
363         - timed: ''
364
365 - trigger:
366     name: 'compass-os-nosdn-nofeature-ha-virtual-master-trigger'
367     triggers:
368         - timed: '0 21 * * *'
369 - trigger:
370     name: 'compass-os-nosdn-openo-ha-virtual-master-trigger'
371     triggers:
372         - timed: '0 22 * * *'
373 - trigger:
374     name: 'compass-os-odl_l2-nofeature-ha-virtual-master-trigger'
375     triggers:
376         - timed: '0 20 * * *'
377 - trigger:
378     name: 'compass-os-odl_l3-nofeature-ha-virtual-master-trigger'
379     triggers:
380         - timed: '0 19 * * *'
381 - trigger:
382     name: 'compass-os-onos-nofeature-ha-virtual-master-trigger'
383     triggers:
384         - timed: '0 18 * * *'
385 - trigger:
386     name: 'compass-os-ocl-nofeature-ha-virtual-master-trigger'
387     triggers:
388         - timed: '0 16 * * *'
389 - trigger:
390     name: 'compass-os-onos-sfc-ha-virtual-master-trigger'
391     triggers:
392         - timed: '0 15 * * *'
393 - trigger:
394     name: 'compass-os-odl_l2-moon-ha-virtual-master-trigger'
395     triggers:
396         - timed: '0 14 * * *'
397 - trigger:
398     name: 'compass-os-nosdn-kvm-ha-virtual-master-trigger'
399     triggers:
400         - timed: ''
401
402 - trigger:
403     name: 'compass-os-nosdn-nofeature-ha-virtual-danube-trigger'
404     triggers:
405         - timed: '0 21 * * *'
406 - trigger:
407     name: 'compass-os-nosdn-openo-ha-virtual-danube-trigger'
408     triggers:
409         - timed: '0 22 * * *'
410 - trigger:
411     name: 'compass-os-odl_l2-nofeature-ha-virtual-danube-trigger'
412     triggers:
413         - timed: '0 20 * * *'
414 - trigger:
415     name: 'compass-os-odl_l3-nofeature-ha-virtual-danube-trigger'
416     triggers:
417         - timed: '0 19 * * *'
418 - trigger:
419     name: 'compass-os-onos-nofeature-ha-virtual-danube-trigger'
420     triggers:
421         - timed: '0 18 * * *'
422 - trigger:
423     name: 'compass-os-ocl-nofeature-ha-virtual-danube-trigger'
424     triggers:
425         - timed: ''
426 - trigger:
427     name: 'compass-os-onos-sfc-ha-virtual-danube-trigger'
428     triggers:
429         - timed: '0 15 * * *'
430 - trigger:
431     name: 'compass-os-odl_l2-moon-ha-virtual-danube-trigger'
432     triggers:
433         - timed: '0 14 * * *'
434 - trigger:
435     name: 'compass-os-nosdn-kvm-ha-virtual-danube-trigger'
436     triggers:
437         - timed: ''