45065f872cedb922935ccc26fde032078e7ce4ab
[releng.git] / jjb / fuel / fuel-ci-jobs.yml
1 # jenkins job templates for Fuel
2 - project:
3
4     name: 'fuel'
5
6     project: '{name}'
7
8     installer: '{name}'
9
10 #--------------------------------
11 # BRANCH ANCHORS
12 #--------------------------------
13     master: &master
14         stream: master
15         branch: '{stream}'
16         gs-pathname: ''
17     brahmaputra: &brahmaputra
18         stream: brahmaputra
19         branch: 'stable/{stream}'
20         gs-pathname: '/{stream}'
21 #--------------------------------
22 # POD, INSTALLER, AND BRANCH MAPPING
23 #--------------------------------
24 #        brahmaputra
25 #--------------------------------
26     pod:
27         - opnfv-jump-2:
28             <<: *brahmaputra
29         - ericsson-pod1:
30             <<: *brahmaputra
31         - virtual:
32             <<: *brahmaputra
33 #--------------------------------
34 #        master
35 #--------------------------------
36         - ericsson-pod1:
37             <<: *master
38         - ericsson-pod2:
39             <<: *master
40         - virtual:
41             <<: *master
42 #--------------------------------
43 #       scenarios
44 #--------------------------------
45     scenario:
46         # HA scenarios
47         - 'os-onos-nofeature-ha':
48 #            auto-trigger-name: 'fuel-{scenario}-{pod}-trigger'
49             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
50         - 'os-odl_l2-nofeature-ha':
51             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
52         - 'os-odl_l3-nofeature-ha':
53             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
54         - 'os-odl_l2-bgpvpn-ha':
55             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
56         - 'os-nosdn-nofeature-ha':
57             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
58         - 'os-nosdn-kvm-ha':
59             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
60         - 'os-nosdn-kvm_ovs-ha':
61             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
62         - 'os-nosdn-ovs-ha':
63             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
64         - 'os-nosdn-vlan-ha':
65             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
66         # NOHA scenarios
67         - 'os-odl_l2-nofeature-noha':
68             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
69         - 'os-odl_l3-nofeature-noha':
70             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
71         - 'os-onos-nofeature-noha':
72             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
73         - 'os-nosdn-nofeature-noha':
74             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
75         - 'os-nosdn-kvm-noha':
76             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
77         - 'os-nosdn-kvm_ovs-noha':
78             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
79         - 'os-nosdn-ovs-noha':
80             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
81         - 'os-odl_l2-bgpvpn-noha':
82             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
83
84     jobs:
85         - 'fuel-{scenario}-{pod}-daily-{stream}'
86         - 'fuel-deploy-{pod}-daily-{stream}'
87
88 ########################
89 # job templates
90 ########################
91 - job-template:
92     name: 'fuel-{scenario}-{pod}-daily-{stream}'
93
94     concurrent: false
95
96     properties:
97         - throttle:
98             enabled: true
99             max-total: 1
100             max-per-node: 1
101         - build-blocker:
102             use-build-blocker: true
103             blocking-jobs:
104                 - 'fuel-os-.*?-{pod}-daily-{stream}'
105             block-level: 'NODE'
106
107     wrappers:
108         - build-name:
109             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
110
111     triggers:
112         - '{auto-trigger-name}'
113
114     parameters:
115         - project-parameter:
116             project: '{project}'
117         - '{installer}-defaults'
118         - '{pod}-defaults':
119             installer: '{installer}'
120         - string:
121             name: DEPLOY_SCENARIO
122             default: '{scenario}'
123         - fuel-ci-parameter:
124             gs-pathname: '{gs-pathname}'
125
126     builders:
127         - trigger-builds:
128             - project: 'fuel-deploy-{pod}-daily-{stream}'
129               current-parameters: false
130               predefined-parameters:
131                 DEPLOY_SCENARIO={scenario}
132               same-node: true
133               block: true
134         - trigger-builds:
135             - project: 'functest-fuel-{pod}-daily-{stream}'
136               current-parameters: false
137               predefined-parameters:
138                 DEPLOY_SCENARIO={scenario}
139               same-node: true
140               block: true
141               block-thresholds:
142                 build-step-failure-threshold: 'never'
143                 failure-threshold: 'never'
144                 unstable-threshold: 'FAILURE'
145         - trigger-builds:
146             - project: 'yardstick-fuel-{pod}-daily-{stream}'
147               current-parameters: false
148               predefined-parameters:
149                 DEPLOY_SCENARIO={scenario}
150               block: true
151               same-node: true
152               block-thresholds:
153                 build-step-failure-threshold: 'never'
154                 failure-threshold: 'never'
155                 unstable-threshold: 'FAILURE'
156
157 - job-template:
158     name: 'fuel-deploy-{pod}-daily-{stream}'
159
160     concurrent: false
161
162     properties:
163         - throttle:
164             enabled: true
165             max-total: 1
166             max-per-node: 1
167         - build-blocker:
168             use-build-blocker: true
169             blocking-jobs:
170                 - 'fuel-deploy-{pod}-daily-{stream}'
171                 - 'fuel-deploy-generic-daily-.*'
172             block-level: 'NODE'
173
174     parameters:
175         - project-parameter:
176             project: '{project}'
177         - '{installer}-defaults'
178         - '{pod}-defaults':
179             installer: '{installer}'
180         - string:
181             name: DEPLOY_SCENARIO
182             default: 'os-odl_l2-nofeature-ha'
183         - fuel-ci-parameter:
184             gs-pathname: '{gs-pathname}'
185
186     scm:
187         - git-scm:
188             credentials-id: '{ssh-credentials}'
189             refspec: ''
190             branch: '{branch}'
191
192     wrappers:
193         - build-name:
194             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
195
196     builders:
197         - shell:
198             !include-raw-escape: ./fuel-download-artifact.sh
199         - shell:
200             !include-raw-escape: ./fuel-deploy.sh
201
202     publishers:
203         - email:
204             recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
205
206 ########################
207 # parameter macros
208 ########################
209 - parameter:
210     name: fuel-ci-parameter
211     parameters:
212         - string:
213             name: BUILD_DIRECTORY
214             default: $WORKSPACE/build_output
215             description: "Directory where the build artifact will be located upon the completion of the build."
216         - string:
217             name: CACHE_DIRECTORY
218             default: $HOME/opnfv/cache/$INSTALLER_TYPE
219             description: "Directory where the cache to be used during the build is located."
220         - string:
221             name: GS_URL
222             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
223             description: "URL to Google Storage."
224 ########################
225 # trigger macros
226 ########################
227 # os-onos3-nofeature-ha trigger
228 - trigger:
229     name: 'fuel-os-onos-nofeature-ha-opnfv-jump-2-trigger'
230     triggers:
231         - timed: '0 20 * * *'
232 - trigger:
233     name: 'fuel-os-onos-nofeature-ha-ericsson-pod1-trigger'
234     triggers:
235         - timed: ''
236 - trigger:
237     name: 'fuel-os-onos-nofeature-ha-ericsson-pod2-trigger'
238     triggers:
239         - timed: ''
240 - trigger:
241     name: 'fuel-os-onos-nofeature-ha-virtual-trigger'
242     triggers:
243         - timed: ''
244
245 # os-odl_l2-nofeature-ha trigger
246 - trigger:
247     name: 'fuel-os-odl_l2-nofeature-ha-opnfv-jump-2-trigger'
248     triggers:
249         - timed: '0 0 * * *'
250 - trigger:
251     name: 'fuel-os-odl_l2-nofeature-ha-ericsson-pod1-trigger'
252     triggers:
253         - timed: ''
254 - trigger:
255     name: 'fuel-os-odl_l2-nofeature-ha-ericsson-pod2-trigger'
256     triggers:
257         - timed: ''
258 - trigger:
259     name: 'fuel-os-odl_l2-nofeature-ha-virtual-trigger'
260     triggers:
261         - timed: ''
262
263 # os-odl_l3-nofeature-ha trigger
264 - trigger:
265     name: 'fuel-os-odl_l3-nofeature-ha-opnfv-jump-2-trigger'
266     triggers:
267         - timed: '0 4 * * *'
268 - trigger:
269     name: 'fuel-os-odl_l3-nofeature-ha-ericsson-pod1-trigger'
270     triggers:
271         - timed: ''
272 - trigger:
273     name: 'fuel-os-odl_l3-nofeature-ha-ericsson-pod2-trigger'
274     triggers:
275         - timed: ''
276 - trigger:
277     name: 'fuel-os-odl_l3-nofeature-ha-virtual-trigger'
278     triggers:
279         - timed: ''
280
281 # os-odl_l2-bgpvpn-ha trigger
282 - trigger:
283     name: 'fuel-os-odl_l2-bgpvpn-ha-opnfv-jump-2-trigger'
284     triggers:
285         - timed: '0 8 * * *'
286 - trigger:
287     name: 'fuel-os-odl_l2-bgpvpn-ha-ericsson-pod1-trigger'
288     triggers:
289         - timed: ''
290 - trigger:
291     name: 'fuel-os-odl_l2-bgpvpn-ha-ericsson-pod2-trigger'
292     triggers:
293         - timed: ''
294 - trigger:
295     name: 'fuel-os-odl_l2-bgpvpn-ha-virtual-trigger'
296     triggers:
297         - timed: ''