3
3
# # Kubernetes version mapping, as supported by kind ##
4
4
# See the release notes of the kind version in use
5
5
DEFAULT_K8S_VERSION=1.23
6
- declare -A kind_k8s_versions
6
+ declare -A kind_k8s_versions kind_kind_binaries
7
+ # kind-0.12 hashes
7
8
kind_k8s_versions[1.17]=1.17.17@sha256:e477ee64df5731aa4ef4deabbafc34e8d9a686b49178f726563598344a3898d5
8
9
kind_k8s_versions[1.18]=1.18.20@sha256:e3dca5e16116d11363e31639640042a9b1bd2c90f85717a7fc66be34089a8169
9
10
kind_k8s_versions[1.19]=1.19.16@sha256:81f552397c1e6c1f293f967ecb1344d8857613fb978f963c30e907c32f598467
10
11
kind_k8s_versions[1.20]=1.20.15@sha256:393bb9096c6c4d723bb17bceb0896407d7db581532d11ea2839c80b28e5d8deb
11
12
kind_k8s_versions[1.21]=1.21.10@sha256:84709f09756ba4f863769bdcabe5edafc2ada72d3c8c44d6515fc581b66b029c
12
13
kind_k8s_versions[1.22]=1.22.7@sha256:1dfd72d193bf7da64765fd2f2898f78663b9ba366c2aa74be1fd7498a1873166
13
14
kind_k8s_versions[1.23]=1.23.4@sha256:0e34f0d0fd448aa2f2819cfd74e99fe5793a6e4938b328f657c8e3f81ee0dfb9
15
+ # kind-0.14 hashes
16
+ # kind_k8s_versions[1.18]=1.18.20@sha256:738cdc23ed4be6cc0b7ea277a2ebcc454c8373d7d8fb991a7fcdbd126188e6d7
17
+ # kind_k8s_versions[1.19]=1.19.16@sha256:d9c819e8668de8d5030708e484a9fdff44d95ec4675d136ef0a0a584e587f65c
18
+ # kind_k8s_versions[1.20]=1.20.15@sha256:6f2d011dffe182bad80b85f6c00e8ca9d86b5b8922cdf433d53575c4c5212248
19
+ # kind_k8s_versions[1.21]=1.21.12@sha256:f316b33dd88f8196379f38feb80545ef3ed44d9197dca1bfd48bcb1583210207
20
+ # kind_k8s_versions[1.22]=1.22.9@sha256:8135260b959dfe320206eb36b3aeda9cffcb262f4b44cda6b33f7bb73f453105
21
+ # kind_k8s_versions[1.23]=1.23.6@sha256:b1fa224cc6c7ff32455e0b1fd9cbfd3d3bc87ecaa8fcb06961ed1afb3db0f9ae
22
+ kind_k8s_versions[1.24]=1.24.2@sha256:a3220cefdf4f9be6681c871da35521eaaf59fadd7d509613a9e1881c5f74b587
23
+ kind_kind_binaries[1.17]=' kind'
24
+ kind_kind_binaries[1.18]=' kind'
25
+ kind_kind_binaries[1.19]=' kind'
26
+ kind_kind_binaries[1.20]=' kind'
27
+ kind_kind_binaries[1.21]=' kind'
28
+ kind_kind_binaries[1.22]=' kind'
29
+ kind_kind_binaries[1.23]=' kind'
30
+ kind_kind_binaries[1.24]=' kind-0.14'
14
31
15
32
# # Process command line flags ##
16
33
@@ -29,6 +46,7 @@ eval set -- "${FLAGS_ARGV}"
29
46
k8s_version=" ${FLAGS_k8s_version} "
30
47
olm_version=" ${FLAGS_olm_version} "
31
48
[[ -z " ${k8s_version} " ]] && k8s_version=" ${DEFAULT_K8S_VERSION} "
49
+ kind=" ${kind_kind_binaries[$k8s_version]} "
32
50
[[ -n " ${kind_k8s_versions[$k8s_version]} " ]] && k8s_version=" ${kind_k8s_versions[$k8s_version]} "
33
51
[[ " ${FLAGS_olm} " = " ${FLAGS_TRUE} " ]] && olm=true || olm=false
34
52
[[ " ${FLAGS_prometheus} " = " ${FLAGS_TRUE} " ]] && prometheus=true || prometheus=false
@@ -37,7 +55,7 @@ olm_version="${FLAGS_olm_version}"
37
55
settings=" ${FLAGS_settings} "
38
56
timeout=" ${FLAGS_timeout} "
39
57
40
- echo " Running with: k8s_version=${k8s_version} , olm_version=${olm_version} , olm=${olm} , globalnet=${globalnet} , prometheus=${prometheus} , registry_inmemory=${registry_inmemory} , settings=${settings} , timeout=${timeout} "
58
+ echo " Running with: kind= ${kind} , k8s_version=${k8s_version} , olm_version=${olm_version} , olm=${olm} , globalnet=${globalnet} , prometheus=${prometheus} , registry_inmemory=${registry_inmemory} , settings=${settings} , timeout=${timeout} "
41
59
42
60
set -em
43
61
@@ -118,9 +136,9 @@ function create_kind_cluster() {
118
136
export KUBECONFIG=${KUBECONFIGS_DIR} /kind-config-${cluster}
119
137
rm -f " $KUBECONFIG "
120
138
121
- if kind get clusters | grep -q " ^${cluster} $" ; then
139
+ if ${ kind} get clusters | grep -q " ^${cluster} $" ; then
122
140
echo " KIND cluster already exists, skipping its creation..."
123
- kind export kubeconfig --name=" ${cluster} "
141
+ ${ kind} export kubeconfig --name=" ${cluster} "
124
142
kind_fixup_config
125
143
return
126
144
fi
@@ -137,16 +155,16 @@ function create_kind_cluster() {
137
155
image_flag=" --image=kindest/node:v${k8s_version} "
138
156
fi
139
157
140
- kind version
158
+ ${ kind} version
141
159
cat " ${RESOURCES_DIR} /${cluster} -config.yaml"
142
- kind create cluster ${image_flag: +" $image_flag " } --name=" ${cluster} " --config=" ${RESOURCES_DIR} /${cluster} -config.yaml"
160
+ ${ kind} create cluster ${image_flag: +" $image_flag " } --name=" ${cluster} " --config=" ${RESOURCES_DIR} /${cluster} -config.yaml"
143
161
kind_fixup_config
144
162
145
163
( deploy_cluster_capabilities; ) &
146
164
if ! wait $! ; then
147
165
echo " Failed to deploy cluster capabilities, removing the cluster"
148
166
kubectl cluster-info dump 1>&2
149
- kind delete cluster --name=" ${cluster} "
167
+ ${ kind} delete cluster --name=" ${cluster} "
150
168
return 1
151
169
fi
152
170
}
@@ -249,14 +267,14 @@ function deploy_kind_ovn(){
249
267
( ./ovn-kubernetes/contrib/kind.sh -ov " $OVN_IMAGE " -cn " ${KIND_CLUSTER_NAME} " -ric -lr -dd " ${KIND_CLUSTER_NAME} .local" ; ) &
250
268
if ! wait $! ; then
251
269
echo " Failed to install kind with OVN"
252
- kind delete cluster --name=" ${cluster} "
270
+ ${ kind} delete cluster --name=" ${cluster} "
253
271
return 1
254
272
fi
255
273
256
274
( deploy_cluster_capabilities; ) &
257
275
if ! wait $! ; then
258
276
echo " Failed to deploy cluster capabilities, removing the cluster"
259
- kind delete cluster --name=" ${cluster} "
277
+ ${ kind} delete cluster --name=" ${cluster} "
260
278
return 1
261
279
fi
262
280
}
0 commit comments