Remove Functest (OS and K8s) features containers
[releng.git] / jjb / functest / functest-daily-jobs.yaml
1 ---
2 ###################################
3 # job configuration for functest
4 ###################################
5 - project:
6     name: functest-daily
7
8     project: functest
9
10     # -------------------------------
11     # BRANCH ANCHORS
12     # -------------------------------
13     master: &master
14       stream: master
15       branch: '{stream}'
16       gs-pathname: ''
17     iruya: &iruya
18       stream: iruya
19       branch: 'stable/{stream}'
20       gs-pathname: '/{stream}'
21     hunter: &hunter
22       stream: hunter
23       branch: 'stable/{stream}'
24       gs-pathname: '/{stream}'
25     # -------------------------------
26     # POD, INSTALLER, AND BRANCH MAPPING
27     # -------------------------------
28     #    Installers using labels
29     #            CI PODs
30     # This section should only contain the installers
31     # that have been switched using labels for slaves
32     # -------------------------------
33     pod:
34       # fuel CI PODs
35       - baremetal:
36           slave-label: fuel-baremetal
37           installer: fuel
38           <<: *master
39       - virtual:
40           slave-label: fuel-virtual
41           installer: fuel
42           <<: *master
43       - baremetal:
44           slave-label: fuel-baremetal
45           installer: fuel
46           <<: *hunter
47       - virtual:
48           slave-label: fuel-virtual
49           installer: fuel
50           <<: *hunter
51       # apex CI PODs
52       - virtual:
53           slave-label: apex-virtual-master
54           installer: apex
55           <<: *master
56       - baremetal:
57           slave-label: apex-baremetal-master
58           installer: apex
59           <<: *master
60       - virtual:
61           slave-label: apex-virtual-master
62           installer: apex
63           <<: *hunter
64       - baremetal:
65           slave-label: apex-baremetal-master
66           installer: apex
67           <<: *hunter
68       # armband CI PODs
69       - armband-baremetal:
70           slave-label: armband-baremetal
71           installer: fuel
72           <<: *master
73       - armband-baremetal:
74           slave-label: armband-baremetal
75           installer: fuel
76           <<: *hunter
77       # fuel NONE CI PODs
78       - zte-pod1:
79           slave-label: fuel-baremetal
80           installer: fuel
81           <<: *master
82       - itri-pod1:
83           slave-label: fuel-baremetal
84           installer: fuel
85           <<: *master
86
87     testsuite:
88       - 'suite':
89           job-timeout: 60
90       - 'daily':
91           job-timeout: 600
92
93     jobs:
94       - 'functest-{installer}-{pod}-{testsuite}-{stream}'
95
96 ################################
97 # job template
98 ################################
99 - job-template:
100     name: 'functest-{installer}-{pod}-{testsuite}-{stream}'
101
102     concurrent: true
103
104     properties:
105       - logrotate-default
106       - throttle:
107           enabled: true
108           max-per-node: 1
109           max-total: 10
110           option: 'project'
111
112     wrappers:
113       - build-name:
114           name: '$BUILD_NUMBER Suite: $FUNCTEST_MODE Scenario: $DEPLOY_SCENARIO'
115       - timeout:
116           timeout: '{job-timeout}'
117           abort: true
118
119     parameters:
120       - project-parameter:
121           project: '{project}'
122           branch: '{branch}'
123       - '{installer}-defaults'
124       - '{slave-label}-defaults'
125       - 'functest-{testsuite}-parameter'
126       - string:
127           name: DEPLOY_SCENARIO
128           default: 'os-nosdn-nofeature-noha'
129       - string:
130           name: DOCKER_TAG
131           default: ''
132       - string:
133           name: CLEAN_DOCKER_IMAGES
134           default: 'false'
135           description: 'Remove downloaded docker images (opnfv/functest*:*)'
136       - functest-parameter:
137           gs-pathname: '{gs-pathname}'
138
139     scm:
140       - git-scm
141
142     builders:
143       - description-setter:
144           description: "Built on $NODE_NAME"
145       - 'functest-{testsuite}-builder'
146
147
148 ########################
149 # parameter macros
150 ########################
151 - parameter:
152     name: functest-daily-parameter
153     parameters:
154       - string:
155           name: FUNCTEST_MODE
156           default: 'daily'
157           description: "Daily suite name to run"
158
159 - parameter:
160     name: functest-suite-parameter
161     parameters:
162       - choice:
163           name: FUNCTEST_MODE
164           choices:
165             - 'tier'
166             - 'testcase'
167           default: 'tier'
168           description: "Test case or Tier to be run"
169       - choice:
170           name: FUNCTEST_SUITE_NAME
171           choices:
172             - 'connection_check'
173             - 'api_check'
174             - 'snaps_health_check'
175             - 'vping_ssh'
176             - 'vping_userdata'
177             - 'cinder_test'
178             - 'tempest_smoke'
179             - 'rally_sanity'
180             - 'refstack_defcore'
181             - 'patrole'
182             - 'odl'
183             - 'snaps_smoke'
184             - 'shaker'
185             - 'vmtp'
186             - 'neutron_trunk'
187             - 'tempest_full'
188             - 'rally_full'
189             - 'cloudify_ims'
190             - 'vyos_vrouter'
191             - 'juju_epc'
192             - 'parser'
193           default: 'connection_check'
194       - choice:
195           name: FUNCTEST_TIER
196           choices:
197             - 'healthcheck'
198             - 'smoke'
199             - 'benchmarking'
200             - 'components'
201             - 'vnf'
202             - 'parser'
203           default: 'healthcheck'
204       - string:
205           name: TESTCASE_OPTIONS
206           default: ''
207           description: 'Additional parameters specific to test case(s)'
208
209 - parameter:
210     name: functest-parameter
211     parameters:
212       - string:
213           name: GS_PATHNAME
214           default: '{gs-pathname}'
215           description: "Version directory where the opnfv documents will be stored in gs repository"
216       - string:
217           name: FUNCTEST_REPO_DIR
218           default: "/home/opnfv/repos/functest"
219           description: "Directory where the Functest repository is cloned"
220       - string:
221           name: PUSH_RESULTS_TO_DB
222           default: "true"
223           description: "Push the results of all the tests to the resultDB"
224       - string:
225           name: CI_DEBUG
226           default: 'false'
227           description: "Show debug output information"
228       - string:
229           name: RC_FILE_PATH
230           default: ''
231           description: "Path to the OS credentials file if given"
232       - string:
233           name: REPO
234           default: "opnfv"
235           description: "Repository name for functest images"
236 ########################
237 # trigger macros
238 ########################
239 - trigger:
240     name: 'functest-master'
241     triggers:
242       - pollscm:
243           cron: "H 9 * * *"
244 ########################
245 # builder macros
246 ########################
247 - builder:
248     name: functest-daily-builder
249     builders:
250       - 'functest-cleanup'
251       - 'functest-daily'
252       - 'functest-store-results'
253       - 'functest-exit'
254
255 - builder:
256     name: functest-suite-builder
257     builders:
258       - 'functest-cleanup'
259       - 'functest-daily'
260       - 'functest-store-results'
261       - 'functest-exit'
262
263 - builder:
264     name: functest-daily
265     builders:
266       # yamllint disable rule:indentation
267       - conditional-step:
268           condition-kind: regex-match
269           regex: "os-.*"
270           label: '$DEPLOY_SCENARIO'
271           steps:
272             - shell:
273                 !include-raw:
274                     - ./functest-env-presetup.sh
275                     - ../../utils/fetch_os_creds.sh
276                     - ./functest-alpine.sh
277       - conditional-step:
278           condition-kind: regex-match
279           regex: "k8-.*"
280           label: '$DEPLOY_SCENARIO'
281           steps:
282             - shell:
283                 !include-raw:
284                     - ../../utils/fetch_k8_conf.sh
285                     - ./functest-k8.sh
286
287 # yamllint enable rule:indentation
288 - builder:
289     name: functest-store-results
290     builders:
291       - shell:
292           !include-raw: ../../utils/push-test-logs.sh
293
294 - builder:
295     name: functest-cleanup
296     builders:
297       - shell:
298           !include-raw: ./functest-cleanup.sh
299
300 - builder:
301     name: functest-exit
302     builders:
303       - shell:
304           !include-raw: ./functest-exit.sh