Add healthdist testcase
[infra/cicd.git] / jjb / cloud-infra / cloud-infra-periodic-onap.yaml
1 ---
2 #
3 # ============LICENSE_START=======================================================
4 #  Copyright (C) 2019 Nordix Foundation.
5 # ================================================================================
6 # Licensed under the Apache License, Version 2.0 (the "License");
7 # you may not use this file except in compliance with the License.
8 # You may obtain a copy of the License at
9 #
10 #      http://www.apache.org/licenses/LICENSE-2.0
11 #
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
17 #
18 # SPDX-License-Identifier: Apache-2.0
19 # ============LICENSE_END=========================================================
20
21 #--------------------------------------------------------------------------------------
22 # The jobs declared in this JJB configuration file are used for deploying and testing
23 # ONAP scenario onap-nofeature-noha.
24 #--------------------------------------------------------------------------------------
25
26 - project:
27     name: 'cloud-infra-periodic-onap'
28
29     project: 'infra/engine'
30
31     onap-branch:
32       - 'dublin':
33           nordix-branch: master
34           onap-version: dublin
35           onap-flavor: full
36           engine-version: master
37           engine-refspec: master
38           deploy-scenario-version: master
39           deploy-scenario-refspec: master
40           disabled: false
41           delete-stack: 'yes'
42       - 'master':
43           nordix-branch: master
44           onap-version: master
45           onap-flavor: full
46           engine-version: master
47           engine-refspec: master
48           deploy-scenario-version: master
49           deploy-scenario-refspec: master
50           disabled: false
51           delete-stack: 'no'
52
53     distro:
54       - ubuntu1804
55
56     deploy-scenario:
57       - onap-nofeature-noha
58
59     ci-loop:
60       - daily
61
62     type:
63       - cloud:
64           pod-name: est-cloud
65           provisioner-type: heat
66           installer-type: kubespray
67           slave-label: 'jumphost-onap-ubuntu1804'
68
69     onap-other-phases:
70       - onap-deploy:
71           build-timeout: 210
72       - oom-healthcheck:
73           build-timeout: 30
74           test-type: oom-healthcheck
75       - promote-onap:
76           build-timeout: 5
77
78     onap-healthcheck-phases:
79       - onap-healthcheck-core:
80           build-timeout: 30
81           test-type: onap-healthcheck
82       - onap-healthcheck-small:
83           build-timeout: 30
84           test-type: onap-healthcheck
85       - onap-healthcheck-medium:
86           build-timeout: 30
87           test-type: onap-healthcheck
88       - onap-healthcheck-full:
89           build-timeout: 30
90           test-type: onap-healthcheck
91       - onap-healthcheck-healthdist:
92           build-timeout: 30
93           test-type: onap-healthcheck
94
95     jobs:
96       - '{deploy-scenario}-{onap-flavor}-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}'
97       - '{onap-other-phases}-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}'
98       - '{onap-healthcheck-phases}-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}'
99
100 - job-template:
101     name: '{deploy-scenario}-{onap-flavor}-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}'
102
103     project-type: multijob
104
105     disabled: '{obj:disabled}'
106
107     concurrent: true
108
109     parameters:
110       - project-parameters:
111           project: '{project}'
112           branch: '{nordix-branch}'
113       - nordix-gerrit-parameters
114       - onap-parameter-macro
115       - string:
116           name: ONAP_VERSION
117           default: '{onap-version}'
118           description: 'ONAP version to deploy'
119       - string:
120           name: ONAP_FLAVOR
121           default: '{onap-flavor}'
122           description: 'ONAP flavor to deploy - could be core, small, medium, full. Also used for xtesting as run_type.'
123       - string:
124           name: STACK_NAME
125           default: 'nordix-cicd-{deploy-scenario}-{onap-branch}-{onap-flavor}'
126       - string:
127           name: ENGINE_VERSION
128           default: '{engine-version}'
129           description: 'Development purposes only! Nordix Cloud Infra Engine version to use for deploying ONAP. Could be sha, branch'
130       - string:
131           name: ENGINE_REFSPEC
132           default: '{engine-refspec}'
133           description: 'Development purposes only! Nordix Cloud Infra Engine version to use for deploying ONAP. Must be refspec.'
134       - string:
135           name: DEPLOY_SCENARIO_VERSION
136           default: '{deploy-scenario-version}'
137           description: 'Development purposes only! Nordix Cloud Infra Scenario version to use for deploying ONAP. Depends on DEPLOY_SCENARIO_REFSPEC and could be sha, branch.'
138       - string:
139           name: DEPLOY_SCENARIO_REFSPEC
140           default: '{deploy-scenario-refspec}'
141           description: 'Development purposes only! Nordix Cloud Infra Scenario version to use for deploying ONAP. Depends on DEPLOY_SCENARIO_VERSION and must be refspec.'
142       - string:
143           name: POD_NAME
144           default: '{pod-name}'
145           description: 'Development purposes only! Set to none for disabling test results DB reporting.'
146       - string:
147           name: DELETE_STACK
148           default: '{delete-stack}'
149           description: 'Development purposes only! Whether delete the stack or not. It must either be yes or no. Setting this to no will increase the cost!'
150
151     properties:
152       - logrotate
153       - build-blocker:
154           use-build-blocker: true
155           blocking-jobs:
156             - 'cloud-infra-periodic-engine-.*'
157             - 'onap-.*'
158             - 'k8-.*'
159           block-level: 'NODE'
160       - throttle:
161           max-per-node: 1
162           max-total: 3
163           option: project
164
165     wrappers:
166       - credentials-binding:
167           - file:
168               credential-id: est-jenkins-openrcfile-city-karlskrona-onap
169               variable: OPENRC_FILE
170       - mask-passwords
171       - build-timeout:
172           timeout: 300
173       - fix-workspace-permissions
174       - openstack:
175           single-use: True
176
177     triggers:
178       - timed: '@midnight'
179
180     scm:
181       - git-scm:
182           ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
183           branch: '{nordix-branch}'
184           refspec: ''
185           wipe_workspace: true
186           clean_before: false
187
188     builders:
189       - description-setter:
190           description: $DEPLOY_SCENARIO | $ONAP_FLAVOR
191       - shell: |
192           #!/bin/bash
193           cp $OPENRC_FILE /tmp/openrc
194       - multijob:
195           name: Deploy ONAP using OOM
196           condition: ALWAYS
197           projects:
198             - name: 'onap-deploy-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}'
199               current-parameters: false
200               predefined-parameters: |
201                 DISTRO=$DISTRO
202                 DEPLOY_TYPE=$DEPLOY_TYPE
203                 PROVISIONER_TYPE=$PROVISIONER_TYPE
204                 INSTALLER_TYPE=$INSTALLER_TYPE
205                 DEPLOY_SCENARIO=$DEPLOY_SCENARIO
206                 ONAP_VERSION=$ONAP_VERSION
207                 ONAP_FLAVOR=$ONAP_FLAVOR
208                 POD_NAME=$POD_NAME
209                 STACK_NAME=$STACK_NAME
210                 ENGINE_VERSION=$ENGINE_VERSION
211                 ENGINE_REFSPEC=$ENGINE_REFSPEC
212                 DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION
213                 DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC
214                 XTESTING_REPO_URL=$XTESTING_REPO_URL
215                 ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS
216                 CLEANUP=$CLEANUP
217               git-revision: true
218               node-parameters: true
219               kill-phase-on: NEVER
220               abort-all-job: false
221       - multijob:
222           name: K8S and OOM Healthcheck using xtesting
223           condition: ALWAYS
224           projects:
225             - name: 'oom-healthcheck-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}'
226               current-parameters: false
227               predefined-parameters: |
228                 DISTRO=$DISTRO
229                 DEPLOY_TYPE=$DEPLOY_TYPE
230                 PROVISIONER_TYPE=$PROVISIONER_TYPE
231                 INSTALLER_TYPE=$INSTALLER_TYPE
232                 DEPLOY_SCENARIO=$DEPLOY_SCENARIO
233                 ONAP_VERSION=$ONAP_VERSION
234                 ONAP_FLAVOR=full
235                 TEST_TYPE=oom-healthcheck
236                 POD_NAME=$POD_NAME
237                 STACK_NAME=$STACK_NAME
238                 ENGINE_VERSION=$ENGINE_VERSION
239                 ENGINE_REFSPEC=$ENGINE_REFSPEC
240                 DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION
241                 DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC
242                 XTESTING_REPO_URL=$XTESTING_REPO_URL
243                 ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS
244                 CLEANUP=$CLEANUP
245               node-parameters: true
246               kill-phase-on: NEVER
247               abort-all-job: false
248       - multijob:
249           name: ONAP Healthcheck using xtesting
250           condition: ALWAYS
251           projects:
252             - name: 'onap-healthcheck-core-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}'
253               current-parameters: false
254               predefined-parameters: |
255                 SLAVE_LABEL=$SLAVE_LABEL
256                 DISTRO=$DISTRO
257                 PROVISIONER_TYPE=$PROVISIONER_TYPE
258                 INSTALLER_TYPE=$INSTALLER_TYPE
259                 DEPLOY_SCENARIO=$DEPLOY_SCENARIO
260                 DEPLOY_TYPE=$DEPLOY_TYPE
261                 ONAP_VERSION=$ONAP_VERSION
262                 ONAP_FLAVOR=core
263                 TEST_TYPE=onap-healthcheck
264                 POD_NAME=$POD_NAME
265                 STACK_NAME=$STACK_NAME
266                 ENGINE_VERSION=$ENGINE_VERSION
267                 ENGINE_REFSPEC=$ENGINE_REFSPEC
268                 DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION
269                 DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC
270                 XTESTING_REPO_URL=$XTESTING_REPO_URL
271                 ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS
272                 CLEANUP=$CLEANUP
273               node-parameters: true
274               kill-phase-on: NEVER
275               abort-all-job: false
276             - name: 'onap-healthcheck-small-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}'
277               current-parameters: false
278               predefined-parameters: |
279                 SLAVE_LABEL=$SLAVE_LABEL
280                 DISTRO=$DISTRO
281                 PROVISIONER_TYPE=$PROVISIONER_TYPE
282                 INSTALLER_TYPE=$INSTALLER_TYPE
283                 DEPLOY_SCENARIO=$DEPLOY_SCENARIO
284                 DEPLOY_TYPE=$DEPLOY_TYPE
285                 ONAP_VERSION=$ONAP_VERSION
286                 ONAP_FLAVOR=small
287                 TEST_TYPE=onap-healthcheck
288                 POD_NAME=$POD_NAME
289                 STACK_NAME=$STACK_NAME
290                 ENGINE_VERSION=$ENGINE_VERSION
291                 ENGINE_REFSPEC=$ENGINE_REFSPEC
292                 DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION
293                 DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC
294                 XTESTING_REPO_URL=$XTESTING_REPO_URL
295                 ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS
296                 CLEANUP=$CLEANUP
297               node-parameters: true
298               kill-phase-on: NEVER
299               abort-all-job: false
300             - name: 'onap-healthcheck-medium-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}'
301               current-parameters: false
302               predefined-parameters: |
303                 SLAVE_LABEL=$SLAVE_LABEL
304                 DISTRO=$DISTRO
305                 PROVISIONER_TYPE=$PROVISIONER_TYPE
306                 INSTALLER_TYPE=$INSTALLER_TYPE
307                 DEPLOY_SCENARIO=$DEPLOY_SCENARIO
308                 DEPLOY_TYPE=$DEPLOY_TYPE
309                 ONAP_VERSION=$ONAP_VERSION
310                 ONAP_FLAVOR=medium
311                 TEST_TYPE=onap-healthcheck
312                 POD_NAME=$POD_NAME
313                 STACK_NAME=$STACK_NAME
314                 ENGINE_VERSION=$ENGINE_VERSION
315                 ENGINE_REFSPEC=$ENGINE_REFSPEC
316                 DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION
317                 DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC
318                 XTESTING_REPO_URL=$XTESTING_REPO_URL
319                 ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS
320                 CLEANUP=$CLEANUP
321               node-parameters: true
322               kill-phase-on: NEVER
323               abort-all-job: false
324             - name: 'onap-healthcheck-full-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}'
325               current-parameters: false
326               predefined-parameters: |
327                 SLAVE_LABEL=$SLAVE_LABEL
328                 DISTRO=$DISTRO
329                 PROVISIONER_TYPE=$PROVISIONER_TYPE
330                 INSTALLER_TYPE=$INSTALLER_TYPE
331                 DEPLOY_SCENARIO=$DEPLOY_SCENARIO
332                 DEPLOY_TYPE=$DEPLOY_TYPE
333                 ONAP_VERSION=$ONAP_VERSION
334                 ONAP_FLAVOR=full
335                 TEST_TYPE=onap-healthcheck
336                 POD_NAME=$POD_NAME
337                 STACK_NAME=$STACK_NAME
338                 ENGINE_VERSION=$ENGINE_VERSION
339                 ENGINE_REFSPEC=$ENGINE_REFSPEC
340                 DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION
341                 DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC
342                 XTESTING_REPO_URL=$XTESTING_REPO_URL
343                 ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS
344                 CLEANUP=$CLEANUP
345               node-parameters: true
346               kill-phase-on: NEVER
347               abort-all-job: false
348             - name: 'onap-healthcheck-healthdist-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}'
349               current-parameters: false
350               predefined-parameters: |
351                 SLAVE_LABEL=$SLAVE_LABEL
352                 DISTRO=$DISTRO
353                 PROVISIONER_TYPE=$PROVISIONER_TYPE
354                 INSTALLER_TYPE=$INSTALLER_TYPE
355                 DEPLOY_SCENARIO=$DEPLOY_SCENARIO
356                 DEPLOY_TYPE=$DEPLOY_TYPE
357                 ONAP_VERSION=$ONAP_VERSION
358                 ONAP_FLAVOR=healthdist
359                 TEST_TYPE=onap-healthcheck
360                 POD_NAME=$POD_NAME
361                 STACK_NAME=$STACK_NAME
362                 ENGINE_VERSION=$ENGINE_VERSION
363                 ENGINE_REFSPEC=$ENGINE_REFSPEC
364                 DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION
365                 DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC
366                 XTESTING_REPO_URL=$XTESTING_REPO_URL
367                 ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS
368                 CLEANUP=$CLEANUP
369               node-parameters: true
370               kill-phase-on: NEVER
371               abort-all-job: false
372       - multijob:
373           name: Promote ONAP (not activated)
374           condition: ALWAYS
375           projects:
376             - name: 'promote-onap-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}'
377               current-parameters: false
378               predefined-parameters: |
379                 DISTRO=$DISTRO
380                 DEPLOY_TYPE=$DEPLOY_TYPE
381                 INSTALLER_TYPE=$INSTALLER_TYPE
382                 DEPLOY_SCENARIO=$DEPLOY_SCENARIO
383                 ONAP_VERSION=$ONAP_VERSION
384                 ONAP_FLAVOR=$ONAP_FLAVOR
385                 ENGINE_VERSION=$ENGINE_VERSION
386                 ENGINE_REFSPEC=$ENGINE_REFSPEC
387                 POD_NAME=$POD_NAME
388                 STACK_NAME=$STACK_NAME
389                 DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION
390                 DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC
391                 XTESTING_REPO_URL=$XTESTING_REPO_URL
392                 ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS
393                 CLEANUP=$CLEANUP
394               node-parameters: true
395               kill-phase-on: NEVER
396               abort-all-job: false
397
398     publishers:
399       - postbuildscript:
400           builders:
401             - role: SLAVE
402               build-on:
403                 - SUCCESS
404                 - FAILURE
405                 - ABORTED
406                 - NOT_BUILT
407                 - UNSTABLE
408               build-steps:
409                 - shell:
410                     !include-raw-escape: ./wait-for-pkg-manager.sh
411                 - shell:
412                     !include-raw: ./delete-heat-stack.sh
413
414 - job-template:
415     name: '{onap-other-phases}-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}'
416
417     disabled: false
418
419     concurrent: true
420
421     properties:
422       - logrotate
423
424     parameters:
425       - project-parameters:
426           project: '{project}'
427           branch: '{nordix-branch}'
428       - nordix-gerrit-parameters
429       - onap-parameter-macro
430       - string:
431           name: ONAP_FLAVOR
432           default: '{onap-flavor}'
433           description: 'ONAP flavor to deploy - could be core, small, medium, full. Also used for xtesting as run_type.'
434       - string:
435           name: ONAP_VERSION
436           default: '{onap-version}'
437           description: 'ONAP version to deploy'
438
439     wrappers:
440       - credentials-binding:
441           - file:
442               credential-id: est-jenkins-openrcfile-city-karlskrona-onap
443               variable: OPENRC_FILE
444       - mask-passwords
445       - build-timeout:
446           timeout: '{build-timeout}'
447       - fix-workspace-permissions
448
449     scm:
450       - git-scm:
451           ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
452           branch: '{nordix-branch}'
453           refspec: ''
454           wipe_workspace: true
455           clean_before: false
456
457     builders:
458       - description-setter:
459           description: $DEPLOY_SCENARIO | $ONAP_FLAVOR
460       - '{onap-other-phases}-macro'
461
462 - job-template:
463     name: '{onap-healthcheck-phases}-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}'
464
465     disabled: false
466
467     concurrent: true
468
469     properties:
470       - logrotate
471
472     parameters:
473       - project-parameters:
474           project: '{project}'
475           branch: '{nordix-branch}'
476       - nordix-gerrit-parameters
477       - onap-parameter-macro
478       - string:
479           name: ONAP_VERSION
480           default: '{onap-version}'
481           description: 'ONAP version to deploy'
482       - string:
483           name: ENGINE_VERSION
484           default: '{engine-version}'
485           description: 'Development purposes only! Nordix Cloud Infra Engine version to use for deploying ONAP. Could be sha, branch'
486       - string:
487           name: ENGINE_REFSPEC
488           default: '{engine-refspec}'
489           description: 'Development purposes only! Nordix Cloud Infra Engine version to use for deploying ONAP. Must be refspec.'
490       - string:
491           name: DEPLOY_SCENARIO_VERSION
492           default: '{deploy-scenario-version}'
493           description: 'Development purposes only! Nordix Cloud Infra Scenario version to use for deploying ONAP. Depends on DEPLOY_SCENARIO_REFSPEC and could be sha, branch.'
494       - string:
495           name: DEPLOY_SCENARIO_REFSPEC
496           default: '{deploy-scenario-refspec}'
497           description: 'Development purposes only! Nordix Cloud Infra Scenario version to use for deploying ONAP. Depends on DEPLOY_SCENARIO_VERSION and must be refspec.'
498       - string:
499           name: POD_NAME
500           default: '{pod-name}'
501           description: 'Development purposes only! Set to none for disabling test results DB reporting.'
502
503     wrappers:
504       - credentials-binding:
505           - file:
506               credential-id: est-jenkins-openrcfile-city-karlskrona-onap
507               variable: OPENRC_FILE
508       - mask-passwords
509       - build-timeout:
510           timeout: '{build-timeout}'
511       - fix-workspace-permissions
512
513     scm:
514       - git-scm:
515           ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
516           branch: '{nordix-branch}'
517           refspec: ''
518           wipe_workspace: true
519           clean_before: false
520
521     builders:
522       - description-setter:
523           description: $DEPLOY_SCENARIO | $ONAP_FLAVOR
524       - 'onap-healthcheck-macro'
525
526 # vim: set ts=2 sw=2 expandtab: