blob: 43f6e65f7336202d051addd026d1497acf524de2 [file] [log] [blame]
Fatih Degirmencic4db9952020-03-19 12:46:33 +00001---
2# ============LICENSE_START=======================================================
3# Copyright (C) 2019 Nordix Foundation.
4# ================================================================================
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16#
17# SPDX-License-Identifier: Apache-2.0
18# ============LICENSE_END=========================================================
19
20- project:
21 name: 'engine-periodic-offline-deploy-test'
22
23 project: 'engine-periodic-offline-deploy-test'
24
25 stream:
26 - 'master':
27 branch: '{stream}'
28
29 distro:
30 - ubuntu1804
31
32 deploy-scenario:
33 - k8-calico-nofeature
34 - k8-multus-nofeature
35
36 type:
37 - baremetal:
38 pod-name: est-baremetal
39 provisioner-type: bifrost
40 installer-type: kubespray
41 slave-label: baremetal-deploy
42 yardstick-dispatcher: 'influxdb'
43
44 phase:
45 - deploy:
46 build-timeout: 90
47 - functest:
48 build-timeout: 240
49 - yardstick:
50 build-timeout: 120
51
52 jobs:
53 - '{deploy-scenario}-offline-{distro}-{type}-periodic'
54 - 'kubernetes-offline-{phase}-{distro}-{type}-periodic'
55
56- job-template:
57 name: '{deploy-scenario}-offline-{distro}-{type}-periodic'
58
59 project-type: multijob
60
61 disabled: '{obj:disabled}'
62
63 concurrent: true
64
65 parameters:
66 - label:
67 name: SLAVE_LABEL
68 default: '{slave-label}'
69 description: 'Slave label to schedule this job on.'
70 - string:
71 name: PROVISIONER_TYPE
72 default: '{provisioner-type}'
73 description: 'Provisioner type to use'
74 - string:
75 name: INSTALLER_TYPE
76 default: '{installer-type}'
77 description: 'Installer type to use'
78 - string:
79 name: DEPLOY_SCENARIO
80 default: '{deploy-scenario}'
81 description: 'Scenario to deploy and test'
82 - string:
83 name: TEST_REPO_URL
84 default: 'https://gerrit.nordix.org/infra/test.git'
85 description: 'URL to clone the test repo from'
86 - string:
87 name: TEST_FW
88 default: 'functest'
89 description: 'Test framework to use'
90 - string:
91 name: TEST_SUITE
92 default: 'smoke'
93 description: 'Test suite to run'
94 - string:
95 name: YARDSTICK_DISPATCHER
96 default: '{yardstick-dispatcher}'
97 description: 'Dispatcher to use for Yardstick reporting'
98
99 properties:
100 - logrotate
101 - throttle:
102 max-per-node: 1
103 max-total: 3
104 option: project
105
106 wrappers:
107 - build-timeout:
108 timeout: 550
109 - mask-passwords
110 - fix-workspace-permissions
111
112 builders:
113 - description-setter:
114 description: $PROVISIONER_TYPE | $INSTALLER_TYPE | $DEPLOY_SCENARIO
115 - multijob:
116 name: "Offline Deployment on {type}"
117 condition: SUCCESSFUL
118 execution-type: PARALLEL
119 projects:
120 - name: 'kubernetes-offline-deploy-{distro}-{type}-periodic'
121 current-parameters: true
122 node-parameters: true
123 kill-phase-on: FAILURE
124 abort-all-job: true
125 - multijob:
126 name: functest
127 condition: ALWAYS
128 projects:
129 - name: 'kubernetes-offline-functest-{distro}-{type}-periodic'
130 current-parameters: true
131 node-parameters: true
132 kill-phase-on: FAILURE
133 abort-all-job: true
134 - multijob:
135 name: yardstick
136 condition: ALWAYS
137 projects:
138 - name: 'kubernetes-offline-yardstick-{distro}-{type}-periodic'
139 current-parameters: true
140 node-parameters: true
141 kill-phase-on: FAILURE
142 abort-all-job: true
143
144- job-template:
145 name: 'kubernetes-offline-{phase}-{distro}-{type}-periodic'
146
147 disabled: '{obj:disabled}'
148
149 properties:
150 - logrotate
151 - throttle:
152 max-per-node: 1
153 max-total: 3
154 option: project
155
156 wrappers:
157 - build-timeout:
158 timeout: '{build-timeout}'
159 - mask-passwords
160 - fix-workspace-permissions
161
162 builders:
163 - shell: |
164 #!/bin/bash
165 env