add ccsdk-sli-northbound
[infra/cicd.git] / jjb / cloud-infra / openstack-jobs / openstack-release-jobs.yaml
1 ---
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: 'openstack-release'
22
23     project: 'openstack-release'
24
25     stream:
26       - 'master':
27           branch: 'master'
28           deploy-scenario: 'os-nosdn-nofeature'
29           promote-stack: 'false'
30       - 'train':
31           branch: 'train'
32           deploy-scenario: 'os-nosdn-nofeature'
33           promote-stack: 'true'
34
35     environment-type:
36       - offline:
37           disabled: false
38           execution-mode: offline-deployment
39           openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd'
40
41     distro:
42       - ubuntu1804
43
44     jobs:
45       - 'openstack-release-{distro}-{stream}'
46       - 'openstack-package-{distro}-{stream}'
47       - 'openstack-promote-{distro}-{stream}'
48
49 - job-template:
50     name: 'openstack-release-{distro}-{stream}'
51
52     project-type: multijob
53
54     disabled: '{obj:disabled}'
55
56     node: 'engine-package-{distro}-fra'
57
58     concurrent: false
59
60     parameters:
61       - string:
62           name: BRANCH
63           default: '{branch}'
64           description: 'Branch the job is created for. DO NOT MODIFY!'
65       - string:
66           name: DISTRO
67           default: '{distro}'
68           description: 'Distribution to provision and configre target nodes with. DO NOT MODIFY!'
69       - string:
70           name: DEPLOY_SCENARIO
71           default: '{deploy-scenario}'
72           description: 'Scenario to test change with. This depends on the branch of the stack.'
73       - string:
74           name: CI_LOOP
75           default: 'release'
76           description: 'CI loop type. DO NOT MODIFY!'
77       - string:
78           name: VERBOSITY
79           default: 'false'
80           description: 'Engine verbosity'
81       - string:
82           name: NORDIX_ENGINE_VERSION
83           default: 'master'
84           description: 'Engine version of engine to package, deploy, test, release'
85       - string:
86           name: STACK_TYPE
87           default: 'openstack'
88           description: 'Stack to package, deploy, test, release'
89       - string:
90           name: STACK_VERSION
91           default: '{branch}'
92           description: 'Stack version of engine to package, deploy, test, release'
93       - string:
94           name: NORDIX_KOLLA_VERSION
95           default: '{branch}'
96           description: 'Kolla version of engine to package, deploy, test, release'
97       - string:
98           name: NORDIX_BIFROST_VERSION
99           default: 'master'
100           description: 'Bifrost version of engine to package, deploy, test, release'
101       - string:
102           name: PROMOTE_STACK
103           default: '{promote-stack}'
104           description: 'Heat version of engine to package, deploy, test, release'
105
106     properties:
107       - logrotate
108       # NOTE (fdegir): throttle categories are controlled in jenkins global configuration
109       - throttle:
110           enabled: true
111           max-per-node: 1
112           max-total: 1
113           option: category
114           categories:
115             - engine-verify-package
116
117     wrappers:
118       - build-timeout:
119           timeout: 600
120       - mask-passwords
121       - fix-workspace-permissions
122       - openstack:
123           single-use: True
124
125     triggers:
126       - pollscm:
127           cron: "#H 0,8,16 * * *"
128
129     scm:
130       - git:
131           url: https://gerrit.nordix.org/infra/engine.git
132           branches:
133             - master
134           timeout: 15
135           wipe-workspace: true
136
137     builders:
138       - 'generate-release-metadata-macro'
139       - inject:
140           properties-file: "$WORKSPACE/release.properties"
141       - 'generate-ssh-keypair-macro'
142       - 'wait-pkg-mgr-macro'
143       - multijob:
144           name: Packaging
145           condition: SUCCESSFUL
146           execution-type: PARALLEL
147           projects:
148             - name: 'openstack-package-{distro}-{stream}'
149               current-parameters: false
150               git-revision: true
151               node-parameters: true
152               property-file: "$WORKSPACE/release.properties"
153               kill-phase-on: FAILURE
154               abort-all-job: true
155       - multijob:
156           name: Release Test {deploy-scenario}
157           condition: SUCCESSFUL
158           execution-type: PARALLEL
159           projects:
160             - name: 'openstack-release-offline-deploy-test-{distro}-baremetal-{stream}'
161               current-parameters: false
162               git-revision: true
163               node-parameters: false
164               property-file: "$WORKSPACE/release.properties"
165               kill-phase-on: FAILURE
166               abort-all-job: true
167       - multijob:
168           name: Promotion
169           condition: SUCCESSFUL
170           execution-type: PARALLEL
171           projects:
172             - name: 'openstack-promote-{distro}-{stream}'
173               current-parameters: false
174               git-revision: true
175               node-parameters: true
176               property-file: "$WORKSPACE/release.properties"
177               kill-phase-on: FAILURE
178               abort-all-job: true
179
180 - job-template:
181     name: 'openstack-package-{distro}-{stream}'
182
183     disabled: '{obj:disabled}'
184
185     concurrent: false
186
187     parameters:
188       - string:
189           name: EXECUTION_MODE
190           default: 'packaging'
191           description: 'Execution mode to run engine'
192
193     properties:
194       - logrotate
195
196     wrappers:
197       - build-timeout:
198           timeout: 180
199       - credentials-binding:
200           - username-password-separated:
201               credential-id: 'nordix-cicd-arm-credentials'
202               username: NORDIX_ARM_USERNAME
203               password: NORDIX_ARM_TOKEN
204       - mask-passwords
205       - fix-workspace-permissions
206
207     scm:
208       - git:
209           url: https://gerrit.nordix.org/infra/engine.git
210           branches:
211             - master
212           timeout: 15
213           wipe-workspace: true
214
215     builders:
216       - 'package-macro'
217       - 'upload-artifact-macro'
218
219 - job-template:
220     name: 'openstack-promote-{distro}-{stream}'
221
222     disabled: '{obj:disabled}'
223
224     concurrent: false
225
226     properties:
227       - logrotate
228
229     wrappers:
230       - build-timeout:
231           timeout: 60
232       - credentials-binding:
233           - username-password-separated:
234               credential-id: 'nordix-cicd-arm-credentials'
235               username: NORDIX_ARM_USERNAME
236               password: NORDIX_ARM_TOKEN
237       - mask-passwords
238       - fix-workspace-permissions
239
240     scm:
241       - git:
242           url: https://gerrit.nordix.org/infra/engine.git
243           branches:
244             - master
245           timeout: 15
246           wipe-workspace: true
247
248     builders:
249       - 'promote-macro'