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