[fuel] verify: Add baremetal testing on request
[releng.git] / jjb / fuel / fuel-verify-jobs.yaml
1 ---
2 - project:
3     name: 'fuel-verify-jobs'
4
5     project: 'fuel'
6
7     installer: 'fuel'
8     #####################################
9     # branch definitions
10     #####################################
11     stream:
12       - master:
13           branch: '{stream}'
14           gs-pathname: ''
15           disabled: false
16       - fraser:
17           branch: 'stable/{stream}'
18           gs-pathname: '/{stream}'
19           disabled: false
20     #####################################
21     # cluster architectures
22     #####################################
23     arch_tag:
24       - 'amd64':
25           slave-label: 'fuel'
26           functest-suite-label: 'fuel'
27       - 'arm64':
28           slave-label: 'armband'
29           functest-suite-label: 'fuel-armband'
30     #####################################
31     # cluster types
32     #####################################
33     type:
34       - 'virtual'
35       - 'baremetal'
36     #####################################
37     # patch verification phases
38     #####################################
39     phase:
40       - 'docker-build'
41       - 'deploy'
42     #####################################
43     # jobs
44     #####################################
45     jobs:
46       - 'fuel-verify-{type}-{arch_tag}-{stream}'
47       - 'fuel-verify-{phase}-{type}-{arch_tag}-{stream}'
48 #####################################
49 # job templates
50 #####################################
51 - job-template:
52     name: 'fuel-verify-{type}-{arch_tag}-{stream}'
53
54     project-type: multijob
55
56     disabled: '{obj:disabled}'
57
58     concurrent: true
59
60     properties:
61       - logrotate-default
62       - throttle:
63           enabled: true
64           max-total: 4
65           option: 'project'
66       - build-blocker:
67           use-build-blocker: true
68           blocking-jobs:
69             - 'fuel-os-.*?-daily-.*'
70             - 'fuel-verify-.*'
71           block-level: 'NODE'
72
73     scm:
74       - git-scm-gerrit
75
76     wrappers:
77       - ssh-agent-wrapper
78       - timeout:
79           timeout: 360
80           fail: true
81
82     triggers:
83       - 'fuel-verify-{type}-{arch_tag}-trigger':
84           project: '{project}'
85           branch: '{branch}'
86
87     parameters:
88       - project-parameter:
89           project: '{project}'
90           branch: '{branch}'
91       - '{slave-label}-{type}-defaults':
92           installer: '{installer}'
93       - '{installer}-defaults':
94           gs-pathname: '{gs-pathname}'
95
96     builders:
97       - 'fuel-verify-set-scenario-macro'
98       - inject:
99           properties-file: "/tmp/$GERRIT_CHANGE_NUMBER/scenario.properties"
100       - description-setter:
101           description: "Scenario: $DEPLOY_SCENARIO | Node: $NODE_NAME"
102       - multijob:
103           name: docker-build
104           condition: SUCCESSFUL
105           projects:
106             - name: 'fuel-verify-docker-build-{type}-{arch_tag}-{stream}'
107               current-parameters: false
108               predefined-parameters: |
109                 BRANCH=$BRANCH
110                 GERRIT_REFSPEC=$GERRIT_REFSPEC
111                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
112                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
113               node-parameters: true
114               kill-phase-on: FAILURE
115               abort-all-job: true
116
117       - multijob:
118           name: deploy
119           condition: SUCCESSFUL
120           projects:
121             - name: 'fuel-verify-deploy-{type}-{arch_tag}-{stream}'
122               current-parameters: false
123               predefined-parameters: |
124                 MCP_DOCKER_TAG={arch_tag}-verify
125                 DEPLOY_SCENARIO=$DEPLOY_SCENARIO
126                 BRANCH=$BRANCH
127                 GERRIT_REFSPEC=$GERRIT_REFSPEC
128                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
129                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
130               node-parameters: true
131               kill-phase-on: FAILURE
132               abort-all-job: true
133
134       - multijob:
135           name: smoke-test
136           condition: SUCCESSFUL
137           projects:
138             # Use Functest job definition from jjb/functest/functest-daily-jobs
139             - name: 'functest-{functest-suite-label}-{type}-suite-{stream}'
140               current-parameters: false
141               predefined-parameters: |
142                 FUNCTEST_MODE=tier
143                 FUNCTEST_TIER=healthcheck
144                 DEPLOY_SCENARIO=$DEPLOY_SCENARIO
145                 BRANCH=$BRANCH
146                 GERRIT_REFSPEC=$GERRIT_REFSPEC
147                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
148                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
149               node-parameters: true
150               kill-phase-on: NEVER
151               abort-all-job: true
152
153 - job-template:
154     name: 'fuel-verify-{phase}-{type}-{arch_tag}-{stream}'
155
156     disabled: '{obj:disabled}'
157
158     concurrent: true
159
160     properties:
161       - logrotate-default
162       - throttle:
163           enabled: true
164           max-total: 2
165           max-per-node: 1
166           option: 'project'
167       - build-blocker:
168           use-build-blocker: true
169           blocking-jobs:
170             - 'fuel-verify-docker-build-.*'
171             - 'fuel-verify-deploy-.*'
172           block-level: 'NODE'
173
174     scm:
175       - git-scm-gerrit
176
177     wrappers:
178       - ssh-agent-wrapper
179       - timeout:
180           timeout: 360
181           fail: true
182
183     parameters:
184       - project-parameter:
185           project: '{project}'
186           branch: '{branch}'
187       - '{slave-label}-{type}-defaults':
188           installer: '{installer}'
189       - '{installer}-defaults':
190           gs-pathname: '{gs-pathname}'
191
192     builders:
193       - description-setter:
194           description: "Built on $NODE_NAME"
195       - '{project}-verify-{phase}-macro'
196 ########################
197 # trigger macros
198 ########################
199 - trigger:
200     name: 'fuel-verify-virtual-amd64-trigger'
201     triggers:
202       - gerrit: &fuel_verify_virtual_amd64_trigger
203           server-name: 'gerrit.opnfv.org'
204           trigger-on:
205             - patchset-created-event:
206                 exclude-drafts: 'false'
207                 exclude-trivial-rebase: 'false'
208                 exclude-no-code-change: 'false'
209             - draft-published-event
210             - comment-added-contains-event:
211                 comment-contains-value: '(recheck|reverify)(\s|:\s*[-\w]+-noha)'
212           projects:
213             - project-compare-type: 'ANT'
214               project-pattern: '{project}'
215               branches:
216                 - branch-compare-type: 'ANT'
217                   branch-pattern: '**/{branch}'
218               file-paths:
219                 - compare-type: ANT
220                   pattern: 'ci/**'
221                 - compare-type: ANT
222                   pattern: 'mcp/**'
223               disable-strict-forbidden-file-verification: 'true'
224               forbidden-file-paths:
225                 - compare-type: ANT
226                   pattern: 'docs/**'
227           readable-message: true
228 - trigger:
229     name: 'fuel-verify-virtual-arm64-trigger'
230     triggers:
231       - gerrit:
232           <<: *fuel_verify_virtual_amd64_trigger
233           skip-vote:
234             successful: true
235             failed: true
236             unstable: true
237             notbuilt: true
238 - trigger:
239     name: 'fuel-verify-baremetal-amd64-trigger'
240     triggers:
241       - gerrit: &fuel_verify_baremetal_amd64_trigger
242           <<: *fuel_verify_virtual_amd64_trigger
243           trigger-on:
244             - comment-added-contains-event:
245                 comment-contains-value: '(recheck|reverify):\s*[-\w]+-ha'
246 - trigger:
247     name: 'fuel-verify-baremetal-arm64-trigger'
248     triggers:
249       - gerrit:
250           <<: *fuel_verify_baremetal_amd64_trigger
251           skip-vote:
252             successful: true
253             failed: true
254             unstable: true
255             notbuilt: true
256 #####################################
257 # builder macros
258 #####################################
259 - builder:
260     name: 'fuel-verify-set-scenario-macro'
261     builders:
262       - shell:
263           !include-raw: ./fuel-set-scenario.sh
264 - builder:
265     name: 'fuel-verify-deploy-macro'
266     builders:
267       - shell:
268           !include-raw: ./fuel-deploy.sh
269 - builder:
270     name: 'fuel-verify-docker-build-macro'
271     builders:
272       - shell: |
273           #!/bin/bash -ex
274           sudo ./ci/build.sh 'verify' ''