Skip to content

Commit cbbb4e3

Browse files
Pothulapatiolix0r
authored andcommitted
pin k8s versions with integration tests (#7236)
Fixes #7112 This pins the default integration tests to run on the latest k3d version by retrieving the latest k3d binary, while also pinning `helm-deep` to run on `v1.20+` (our min k8s version). T his way we have integration tests running on both sides (i.e latest and minimum) Changes include: - Update `./bin/k3d` to always retrieve the latest k3d binary and use it. - Update `_test-helpers.sh` to use min version image for `helm-deep`. here, we also replace flags that are removed and replaced with newer ones with the latest k3d binary. I've tried to find a GitHub action for K3s, but most of them seem to be have a had a release while ago, and not goes well with our plan of somehow getting the latest k8s. Signed-off-by: Tarun Pothulapati <tarunpothulapati@outlook.com> (cherry picked from commit 5ba7d04) Signed-off-by: Oliver Gould <ver@buoyant.io>
1 parent 0a0b4b6 commit cbbb4e3

File tree

2 files changed

+24
-9
lines changed

2 files changed

+24
-9
lines changed

bin/_test-helpers.sh

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,7 @@ check_linkerd_binary() {
215215

216216
check_cluster() {
217217
check_if_k8s_reachable
218+
kubectl version
218219
check_if_l5d_exists
219220
}
220221

@@ -229,6 +230,18 @@ cleanup_cluster() {
229230
exit_on_err 'error removing existing Linkerd resources'
230231
}
231232

233+
setup_min_cluster() {
234+
local name=$1
235+
export helm_path="$bindir"/helm
236+
237+
test_setup
238+
if [ -z "$skip_cluster_create" ]; then
239+
"$bindir"/k3d cluster create "$@" --image +v1.20
240+
image_load "$name"
241+
fi
242+
check_cluster
243+
}
244+
232245
setup_cluster() {
233246
local name=$1
234247
export helm_path="$bindir"/helm
@@ -304,20 +317,20 @@ image_load() {
304317

305318
start_test() {
306319
local name=$1
307-
local config=(--no-hostip --k3s-server-arg '--disable=local-storage,metrics-server')
320+
local config=(--k3s-arg '--disable=local-storage,metrics-server@server:0')
308321

309322
case $name in
310323
cluster-domain)
311-
config=("$name" "${config[@]}" --no-lb --k3s-server-arg --cluster-domain=custom.domain --k3s-server-arg '--disable=servicelb,traefik')
324+
config=("$name" "${config[@]}" --no-lb --k3s-arg --cluster-domain=custom.domain --k3s-arg '--disable=servicelb,traefik@server:0')
312325
;;
313326
cni-calico-deep)
314-
config=("$name" "${config[@]}" --no-lb --k3s-server-arg --write-kubeconfig-mode=644 --k3s-server-arg --flannel-backend=none --k3s-server-arg --cluster-cidr=192.168.0.0/16 --k3s-server-arg '--disable=servicelb,traefik')
327+
config=("$name" "${config[@]}" --no-lb --k3s-arg --write-kubeconfig-mode=644 --k3s-arg --flannel-backend=none --k3s-arg --cluster-cidr=192.168.0.0/16 --k3s-arg '--disable=servicelb,traefik@server:0')
315328
;;
316329
multicluster)
317330
config=("${config[@]}" --network multicluster-test)
318331
;;
319332
*)
320-
config=("$name" "${config[@]}" --no-lb --k3s-server-arg '--disable=servicelb,traefik')
333+
config=("$name" "${config[@]}" --no-lb --k3s-arg '--disable=servicelb,traefik@server:0')
321334
;;
322335
esac
323336

@@ -330,7 +343,11 @@ start_test() {
330343

331344
start_single_test() {
332345
name=$1
333-
setup_cluster "$@"
346+
if [ "$name" == "helm-deep" ]; then
347+
setup_min_cluster "$@"
348+
else
349+
setup_cluster "$@"
350+
fi
334351
if [ -n "$cleanup_docker" ]; then
335352
rm -rf image-archives
336353
docker system prune --force --all

bin/k3d

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,9 @@
22

33
set -eu
44

5-
k3dversion=v4.4.5
6-
75
bindir=$( cd "${0%/*}" && pwd )
86
targetbin=$( cd "$bindir"/.. && pwd )/target/bin
9-
k3dbin=$targetbin/.k3d-$k3dversion
7+
k3dbin=$targetbin/.k3d
108

119
if [ ! -f "$k3dbin" ]; then
1210
if [ "$(uname -s)" = Darwin ]; then
@@ -24,7 +22,7 @@ if [ ! -f "$k3dbin" ]; then
2422
fi
2523

2624
mkdir -p "$targetbin"
27-
curl -sfL -o "$k3dbin" https://github.com/rancher/k3d/releases/download/$k3dversion/k3d-$os-$arch
25+
curl -sfL -o "$k3dbin" https://github.com/rancher/k3d/releases/latest/download/k3d-$os-$arch
2826
chmod +x "$k3dbin"
2927
fi
3028

0 commit comments

Comments
 (0)