Use old functest container for armband CI runs
[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         disabled: false
14     euphrates: &euphrates
15         stream: euphrates
16         branch: 'stable/{stream}'
17         gs-pathname: '/{stream}'
18         disabled: true
19 #--------------------------------
20 # POD, INSTALLER, AND BRANCH MAPPING
21 #--------------------------------
22 # CI POD's
23 #--------------------------------
24 #        euphrates
25 #--------------------------------
26     pod:
27         - armband-baremetal:
28             slave-label: armband-baremetal
29             installer: fuel
30             <<: *euphrates
31         - armband-virtual:
32             slave-label: armband-virtual
33             installer: fuel
34             <<: *euphrates
35 #--------------------------------
36 #        master
37 #--------------------------------
38         - armband-baremetal:
39             slave-label: armband-baremetal
40             installer: fuel
41             <<: *master
42         - armband-virtual:
43             slave-label: armband-virtual
44             installer: fuel
45             <<: *master
46 #--------------------------------
47 #       scenarios
48 #--------------------------------
49     scenario:
50         # HA scenarios
51         - 'os-nosdn-nofeature-ha':
52             auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
53         - 'os-odl-nofeature-ha':
54             auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
55
56         # NOHA scenarios
57         - 'os-nosdn-nofeature-noha':
58             auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
59
60     jobs:
61         - '{installer}-{scenario}-{pod}-daily-{stream}'
62         - '{installer}-deploy-{pod}-daily-{stream}'
63
64 ########################
65 # job templates
66 ########################
67 - job-template:
68     name: '{installer}-{scenario}-{pod}-daily-{stream}'
69
70     disabled: '{obj:disabled}'
71
72     concurrent: false
73
74     properties:
75         - logrotate-default
76         - throttle:
77             enabled: true
78             max-total: 4
79             max-per-node: 1
80             option: 'project'
81         - build-blocker:
82             use-build-blocker: true
83             blocking-jobs:
84                 - '{installer}-os-.*?-{pod}-daily-.*'
85                 - 'armband-verify-.*'
86             block-level: 'NODE'
87
88     wrappers:
89         - build-name:
90             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
91
92     triggers:
93         - '{auto-trigger-name}'
94
95     parameters:
96         - project-parameter:
97             project: '{project}'
98             branch: '{branch}'
99         - '{installer}-defaults':
100             gs-pathname: '{gs-pathname}'
101         - '{slave-label}-defaults':
102             installer: '{installer}'
103         - string:
104             name: DEPLOY_SCENARIO
105             default: '{scenario}'
106
107     builders:
108         - trigger-builds:
109             - project: '{installer}-deploy-{pod}-daily-{stream}'
110               current-parameters: false
111               predefined-parameters:
112                 DEPLOY_SCENARIO={scenario}
113               same-node: true
114               block: true
115         - trigger-builds:
116             - project: 'functest-{installer}-{pod}-arm-daily-{stream}'
117               current-parameters: false
118               predefined-parameters:
119                 DEPLOY_SCENARIO={scenario}
120               block: true
121               same-node: true
122               block-thresholds:
123                 build-step-failure-threshold: 'never'
124                 failure-threshold: 'never'
125                 unstable-threshold: 'FAILURE'
126         - trigger-builds:
127             - project: 'yardstick-{installer}-{pod}-daily-{stream}'
128               current-parameters: false
129               predefined-parameters:
130                 DEPLOY_SCENARIO={scenario}
131               block: true
132               same-node: true
133               block-thresholds:
134                 build-step-failure-threshold: 'never'
135                 failure-threshold: 'never'
136                 unstable-threshold: 'FAILURE'
137         # 1.dovetail only master, based on D release
138         # 2.here the stream means the SUT stream, dovetail stream is defined in its own job
139         # 3.only proposed_tests testsuite here(refstack, ha, ipv6, bgpvpn)
140         # 4.not used for release criteria or compliance,
141         #   only to debug the dovetail tool bugs with arm pods
142         # 5.only run against scenario os-(nosdn|odl)-(nofeature-bgpvpn)-ha
143         - conditional-step:
144             condition-kind: regex-match
145             regex: os-(nosdn|odl)-(nofeature|bgpvpn)-ha
146             label: '{scenario}'
147             steps:
148                 - trigger-builds:
149                     - project: 'dovetail-{installer}-{pod}-proposed_tests-{stream}'
150                       current-parameters: false
151                       predefined-parameters:
152                         DEPLOY_SCENARIO={scenario}
153                       block: true
154                       same-node: true
155                       block-thresholds:
156                         build-step-failure-threshold: 'never'
157                         failure-threshold: 'never'
158                         unstable-threshold: 'FAILURE'
159
160 - job-template:
161     name: '{installer}-deploy-{pod}-daily-{stream}'
162
163     concurrent: true
164
165     properties:
166         - logrotate-default
167         - throttle:
168             enabled: true
169             max-total: 4
170             max-per-node: 1
171             option: 'project'
172         - build-blocker:
173             use-build-blocker: true
174             blocking-jobs:
175                 - '{installer}-deploy-{pod}-daily-{stream}'
176                 - '{installer}-deploy-generic-daily-.*'
177             block-level: 'NODE'
178
179     parameters:
180         - project-parameter:
181             project: '{project}'
182             branch: '{branch}'
183         - '{installer}-defaults':
184             gs-pathname: '{gs-pathname}'
185         - '{slave-label}-defaults':
186             installer: '{installer}'
187         - string:
188             name: DEPLOY_SCENARIO
189             default: 'os-odl-nofeature-ha'
190
191     scm:
192         - git-scm
193
194     wrappers:
195         - build-name:
196             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
197
198     builders:
199         - shell:
200             !include-raw-escape: ../fuel/fuel-deploy.sh
201
202     publishers:
203         - email:
204             recipients: armband@enea.com
205         - email-jenkins-admins-on-failure
206
207 ########################
208 # trigger macros
209 ########################
210 # CI PODs
211 #-----------------------------------------------------------------
212 # Enea Armband CI Baremetal Triggers running against master branch
213 #-----------------------------------------------------------------
214 - trigger:
215     name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-master-trigger'
216     triggers:
217         - timed: '0 1 * * *'
218 - trigger:
219     name: 'fuel-os-nosdn-nofeature-noha-armband-baremetal-master-trigger'
220     triggers:
221         - timed: ''
222 - trigger:
223     name: 'fuel-os-odl-nofeature-ha-armband-baremetal-master-trigger'
224     triggers:
225         - timed: '0 16 * * *'
226 #----------------------------------------------------------------------
227 # Enea Armband CI Baremetal Triggers running against euphrates branch
228 #----------------------------------------------------------------------
229 - trigger:
230     name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-euphrates-trigger'
231     triggers:
232         - timed: ''
233 - trigger:
234     name: 'fuel-os-nosdn-nofeature-noha-armband-baremetal-euphrates-trigger'
235     triggers:
236         - timed: ''
237 - trigger:
238     name: 'fuel-os-odl-nofeature-ha-armband-baremetal-euphrates-trigger'
239     triggers:
240         - timed: ''
241 #---------------------------------------------------------------
242 # Enea Armband CI Virtual Triggers running against master branch
243 #---------------------------------------------------------------
244 - trigger:
245     name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-master-trigger'
246     triggers:
247         - timed: ''
248 - trigger:
249     name: 'fuel-os-nosdn-nofeature-noha-armband-virtual-master-trigger'
250     triggers:
251         - timed: ''
252 - trigger:
253     name: 'fuel-os-odl-nofeature-ha-armband-virtual-master-trigger'
254     triggers:
255         - timed: ''
256 #--------------------------------------------------------------------
257 # Enea Armband CI Virtual Triggers running against euphrates branch
258 #--------------------------------------------------------------------
259 - trigger:
260     name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-euphrates-trigger'
261     triggers:
262         - timed: ''
263 - trigger:
264     name: 'fuel-os-nosdn-nofeature-noha-armband-virtual-euphrates-trigger'
265     triggers:
266         - timed: ''
267 - trigger:
268     name: 'fuel-os-odl-nofeature-ha-armband-virtual-euphrates-trigger'
269     triggers:
270         - timed: ''