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