mirror of https://github.com/k3s-io/k3s
51 lines
1.3 KiB
Plaintext
51 lines
1.3 KiB
Plaintext
|
#!/bin/bash
|
||
|
|
||
|
all_services=(
|
||
|
coredns
|
||
|
local-path-provisioner
|
||
|
metrics-server
|
||
|
traefik
|
||
|
)
|
||
|
|
||
|
export NUM_SERVERS=1
|
||
|
export NUM_AGENTS=1
|
||
|
export WAIT_SERVICES="${all_services[@]}"
|
||
|
|
||
|
start-test() {
|
||
|
use-local-storage-volume
|
||
|
docker exec $(cat $TEST_DIR/servers/1/metadata/name) check-config || true
|
||
|
verify-valid-versions $(cat $TEST_DIR/servers/1/metadata/name)
|
||
|
verify-airgap-images $(cat $TEST_DIR/{servers,agents}/*/metadata/name)
|
||
|
}
|
||
|
export -f start-test
|
||
|
|
||
|
# -- check for changes to the airgap image list
|
||
|
verify-airgap-images() {
|
||
|
local airgap_image_list='scripts/airgap/image-list.txt'
|
||
|
|
||
|
for name in $@; do
|
||
|
docker exec $name crictl images -o json \
|
||
|
| jq -r '.images[].repoTags[0] | select(. != null)'
|
||
|
done | sort -u >$airgap_image_list.tmp
|
||
|
|
||
|
if ! diff $airgap_image_list{,.tmp}; then
|
||
|
echo '[ERROR] Failed airgap image check'
|
||
|
return 1
|
||
|
fi
|
||
|
}
|
||
|
export -f verify-airgap-images
|
||
|
|
||
|
# -- create a pod that uses local-storage to ensure that the local-path-provisioner
|
||
|
# -- helper image gets used
|
||
|
use-local-storage-volume() {
|
||
|
local volume_test_manifest='scripts/airgap/volume-test.yaml'
|
||
|
kubectl apply -f $volume_test_manifest
|
||
|
wait-for-services volume-test
|
||
|
}
|
||
|
export -f use-local-storage-volume
|
||
|
|
||
|
# --- create a basic cluster and check for valid versions
|
||
|
LABEL=BASICS run-test
|
||
|
|
||
|
cleanup-test-env
|