Merge "Remove odlparent-9.0.x jobs"
[releng/builder.git] / jjb / packaging / openstack-k8s-template.yaml
1 ---
2 - parameter:
3     name: lf-k8s-params
4     parameters:
5       - string:
6           name: BOOT_VOLUME_SIZE
7           default: "{boot-volume-size}"
8       - string:
9           name: CLUSTER_SETTLE_TIME
10           default: "{cluster-settle-time}"
11       - string:
12           name: CLUSTER_NAME
13           default: "$SILO-$JOB_NAME-$BUILD_NUMBER"
14       - string:
15           name: CLUSTER_TEMPLATE_NAME
16           default: "{cluster-template-name}"
17       - string:
18           name: DOCKER_VOLUME_SIZE
19           default: "{docker-volume-size}"
20       - string:
21           name: KEYPAIR
22           default: "$SILO"
23       - string:
24           name: K8S_VERSION
25           default: "{k8s-version}"
26       - string:
27           name: MASTER_COUNT
28           default: "{master-count}"
29       - string:
30           name: MASTER_FLAVOR
31           default: "{master-flavor}"
32       - string:
33           name: NODE_COUNT
34           default: "{node-count}"
35       - string:
36           name: NODE_FLAVOR
37           default: "{node-flavor}"
38       - string:
39           name: OS_CLOUD
40           default: "{openstack-cloud}"
41       - string:
42           name: HELM_VERSION
43           default: "{helm-version}"
44       - string:
45           name: HELM_SHA256
46           default: "{helm-sha256}"
47       - string:
48           name: HELM_CLIENT_URL
49           default: "{helm-client-url}"
50       - string:
51           name: CLOUD_PROVIDER_TAG
52           default: "{cloud-provider-tag}"
53       - string:
54           name: CONTAINER_INFRA_PREFIX
55           default: "{container-infra-prefix}"
56       - string:
57           name: ETCD_VOLUME_SIZE
58           default: "{etcd-volume-size}"
59       - string:
60           name: KUBE_TAG
61           default: "{kube-tag}"
62       - string:
63           name: MASTER_LB_FLOATING_IP_ENABLED
64           default: "{master-lb-floating-ip-enabled}"
65
66 - builder:
67     name: lf-k8s-cluster-create-with-template
68     builders:
69       - inject:
70           properties-content: |
71             BOOT_VOLUME_SIZE={boot-volume-size}
72             CLOUD_PROVIDER_TAG={cloud-provider-tag}
73             CLUSTER_NAME={cluster-name}
74             CLUSTER_SETTLE_TIME={cluster-settle-time}
75             CLUSTER_TEMPLATE_NAME={cluster-template-name}
76             CONTAINER_INFRA_PREFIX={container-infra-prefix}
77             ETCD_VOLUME_SIZE={etcd-volume-size}
78             HELM_VERSION={helm-version}
79             HELM_SHA256={helm-sha256}
80             HELM_CLIENT_URL={helm-client-url}
81             K8S_VERSION={k8s-version}
82             KEYPAIR={keypair}
83             KUBE_TAG={kube-tag}
84             MASTER_COUNT={master-count}
85             MASTER_FLAVOR={master-flavor}
86             MASTER_LB_FLOATING_IP_ENABLED={master-lb-floating-ip-enabled}
87             NODE_COUNT={node-count}
88             NODE_FLAVOR={node-flavor}
89             OS_CLOUD={openstack-cloud}
90       - config-file-provider:
91           files:
92             - file-id: clouds-yaml
93               target: "$HOME/.config/openstack/clouds.yaml"
94       - shell: !include-raw-escape: openstack-k8s-create-with-template.sh
95       - shell: !include-raw-escape: openstack-k8s-config-export.sh
96
97 - builder:
98     name: lf-k8s-cluster-deploy
99     builders:
100       - shell: "{obj:deploy_script}"
101
102 - publisher:
103     name: lf-k8s-cluster-delete
104     publishers:
105       - postbuildscript:
106           builders:
107             - role: BOTH
108               build-on:
109                 - ABORTED
110                 - FAILURE
111                 - SUCCESS
112                 - UNSTABLE
113               build-steps:
114                 - inject:
115                     properties-content: |
116                       CLUSTER_NAME={cluster-name}
117                       OS_CLOUD={openstack-cloud}
118                 - config-file-provider:
119                     files:
120                       - file-id: clouds-yaml
121                         target: "$HOME/.config/openstack/clouds.yaml"
122                 - shell: !include-raw-escape: openstack-k8s-cluster-delete.sh
123           mark-unstable-if-failed: false
124
125 - trigger:
126     name: gerrit-trigger-patch-submitted-k8s-deploy
127     triggers:
128       - gerrit:
129           server-name: "{gerrit-server-name}"
130           trigger-on:
131             - patchset-created-event:
132                 exclude-drafts: true
133                 exclude-trivial-rebase: false
134                 exclude-no-code-change: false
135             - draft-published-event
136             - comment-added-contains-event:
137                 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
138           projects:
139             - project-compare-type: ANT
140               project-pattern: "{project}"
141               branches:
142                 - branch-compare-type: ANT
143                   branch-pattern: "**/{branch}"
144               file-paths:
145                 - compare-type: ANT
146                   pattern: "{files}"
147               forbidden-file-paths:
148                 - compare-type: ANT
149                   pattern: "{forbidden-files}"
150
151 - job-template:
152     name: "{project-name}-k8s-odl-deploy-test"
153
154     #####################
155     # Default variables #
156     #####################
157
158     deploy_script: ""
159     boot-volume-size: { boot-volume-size }
160     cluster-settle-time: { cluster-settle-time }
161     cluster-name: "$SILO-$JOB_NAME-$BUILD_NUMBER"
162     cloud-provider-tag: "{cloud-provider-tag}"
163     container-infra-prefix: "{container-infra-prefix}"
164     etcd-volume-size: "{etcd-volume-size}"
165     docker-volume-size: { docker-volume-size }
166     helm-client-url: "{helm-client-url}"
167     helm-sha256: "{helm-sha256}"
168     helm-version: "{helm-version}"
169     keypair: { keypair }
170     k8s-version: { k8s-version }
171     kube-tag: "{kube-tag}"
172     master-count: { master-count }
173     master-flavor: { master-flavor }
174     master-lb-floating-ip-enabled: "{master-lb-floating-ip-enabled}"
175     node-count: { node-count }
176     node-flavor: { node-flavor }
177     openstack-cloud: { openstack-cloud }
178
179     mvn-version: mvn35
180     disable-job: false
181
182     #####################
183     # Job Configuration #
184     #####################
185
186     project-type: freestyle
187     node: "{build-node}"
188
189     properties:
190       - lf-infra-properties:
191           build-days-to-keep: "{build-days-to-keep}"
192
193     parameters:
194       - lf-k8s-params:
195           boot-volume-size: "{boot-volume-size}"
196           cloud-provider-tag: "{cloud-provider-tag}"
197           container-infra-prefix: "{container-infra-prefix}"
198           cluster-settle-time: "{cluster-settle-time}"
199           cluster-template-name: "{cluster-template-name}"
200           cluster-name: "{cluster-name}"
201           docker-volume-size: "{docker-volume-size}"
202           etcd-volume-size: "{etcd-volume-size}"
203           helm-version: "{helm-version}"
204           helm-sha256: "{helm-sha256}"
205           helm-client-url: "{helm-client-url}"
206           keypair: "{keypair}"
207           k8s-version: "{k8s-version}"
208           kube-tag: "{kube-tag}"
209           master-count: "{master-count}"
210           master-flavor: "{master-flavor}"
211           master-lb-floating-ip-enabled: "{master-lb-floating-ip-enabled}"
212           node-count: "{node-count}"
213           node-flavor: "{node-flavor}"
214           openstack-cloud: "{openstack-cloud}"
215       - opendaylight-infra-parameters:
216           os-cloud: "{os-cloud}"
217           project: "{project}"
218           branch: "{branch}"
219           refspec: "refs/heads/{branch}"
220           artifacts: "{archive-artifacts}"
221
222     scm:
223       - gerrit-trigger-scm:
224           refspec: "$GERRIT_REFSPEC"
225           choosing-strategy: "default"
226           submodule-recursive: "false"
227
228     triggers:
229       - timed: "@weekly"
230       - gerrit-trigger-patch-submitted-k8s-deploy:
231           gerrit-server-name: "{gerrit-server-name}"
232           project: "{project}"
233           branch: "{branch}"
234           files: "helm/**"
235           forbidden-files: ""
236
237     builders:
238       - lf-infra-pre-build
239       - lf-k8s-cluster-create-with-template:
240           boot-volume-size: "{boot-volume-size}"
241           cloud-provider-tag: "{cloud-provider-tag}"
242           container-infra-prefix: "{container-infra-prefix}"
243           cluster-settle-time: "{cluster-settle-time}"
244           cluster-template-name: "{cluster-template-name}"
245           cluster-name: "{cluster-name}"
246           docker-volume-size: "{docker-volume-size}"
247           etcd-volume-size: "{etcd-volume-size}"
248           helm-version: "{helm-version}"
249           helm-sha256: "{helm-sha256}"
250           helm-client-url: "{helm-client-url}"
251           k8s-version: "{k8s-version}"
252           keypair: "{keypair}"
253           kube-tag: "{kube-tag}"
254           master-count: "{master-count}"
255           master-flavor: "{master-flavor}"
256           master-lb-floating-ip-enabled: "{master-lb-floating-ip-enabled}"
257           node-count: "{node-count}"
258           node-flavor: "{node-flavor}"
259           openstack-cloud: "{openstack-cloud}"
260       - lf-k8s-cluster-deploy:
261           deploy_script: "{openstack-k8s-deploy-script}"
262
263     wrappers:
264       - opendaylight-infra-wrappers:
265           build-timeout: "360"
266       - lf-infra-wrappers:
267           build-timeout: "{build-timeout}"
268           jenkins-ssh-credential: "{jenkins-ssh-credential}"
269
270     publishers:
271       - lf-k8s-cluster-delete:
272           cluster-name: "{cluster-name}"
273           openstack-cloud: "{openstack-cloud}"
274       - lf-infra-publish