Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 32 additions & 4 deletions bin/_test-helpers.sh
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,18 @@ cleanup_cluster() {
exit_on_err 'error removing existing Linkerd resources'
}

setup_min_cluster() {
local name=$1
export helm_path="$bindir"/helm

test_setup
if [ -z "$skip_cluster_create" ]; then
"$bindir"/k3d-min cluster create "$@"
image_load "$name"
fi
check_cluster
}

setup_cluster() {
local name=$1
export helm_path="$bindir"/helm
Expand Down Expand Up @@ -304,30 +316,46 @@ image_load() {

start_test() {
local name=$1
local config=(--no-hostip --k3s-server-arg '--disable=local-storage,metrics-server')
local config=(--k3s-arg '--disable=local-storage,metrics-server@server:0')
local min_config=(--no-hostip --k3s-server-arg '--disable=local-storage,metrics-server')

case $name in
cluster-domain)
config=("$name" "${config[@]}" --no-lb --k3s-server-arg --cluster-domain=custom.domain --k3s-server-arg '--disable=servicelb,traefik')
config=("$name" "${config[@]}" --no-lb --k3s-arg --cluster-domain=custom.domain --k3s-arg '--disable=servicelb,traefik@server:0')
;;
cni-calico-deep)
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')
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')
;;
multicluster)
config=("${config[@]}" --network multicluster-test)
;;
*)
config=("$name" "${config[@]}" --no-lb --k3s-server-arg '--disable=servicelb,traefik')
config=("$name" "${config[@]}" --no-lb --k3s-arg '--disable=servicelb,traefik@server:0')
min_config=("$name" "${min_config[@]}" --no-lb --k3s-server-arg '--disable=servicelb,traefik')
;;
esac

if [ "$name" == "multicluster" ]; then
start_multicluster_test "${config[@]}"
elif [ "$name" == "helm-deep" ]; then
start_min_single_test "${min_config[@]}"
else
start_single_test "${config[@]}"
fi
}

start_min_single_test() {
name=$1
setup_min_cluster "$@"
if [ -n "$cleanup_docker" ]; then
rm -rf image-archives
docker system prune --force --all
fi
run_"$name"_test
exit_on_err "error calling 'run_${name}_test'"
finish "$name"
}

start_single_test() {
name=$1
setup_cluster "$@"
Expand Down
6 changes: 2 additions & 4 deletions bin/k3d
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,9 @@

set -eu

k3dversion=v4.4.5

bindir=$( cd "${0%/*}" && pwd )
targetbin=$( cd "$bindir"/.. && pwd )/target/bin
k3dbin=$targetbin/.k3d-$k3dversion
k3dbin=$targetbin/.k3d

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

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

Expand Down
33 changes: 33 additions & 0 deletions bin/k3d-min
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#!/usr/bin/env sh

set -eu

# v4.4.4 seems to be the last version which defaults to k8s v1.20.*
k3dversion=v4.4.4

bindir=$( cd "${0%/*}" && pwd )
targetbin=$( cd "$bindir"/.. && pwd )/target/bin
k3dbin=$targetbin/.k3d-$k3dversion

if [ ! -f "$k3dbin" ]; then
if [ "$(uname -s)" = Darwin ]; then
os=darwin
arch=amd64
elif [ "$(uname -o)" = Msys ]; then
os=windows
arch=amd64
else
os=linux
case $(uname -m) in
x86_64) arch=amd64 ;;
arm) arch=arm64 ;;
esac
fi

mkdir -p "$targetbin"
curl -sfL -o "$k3dbin" https://github.com/rancher/k3d/releases/download/$k3dversion/k3d-$os-$arch
chmod +x "$k3dbin"
fi

"$k3dbin" "$@"