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