k3s/scripts/test-run-basics
Brad Davidson 52e450f033 Add etcd sonobuoy tests
Closes a gap in test coverage. Also fixes an issue where args and hooks
from previous test runs were not being reset for subsequent runs.

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2021-12-21 13:35:12 -08:00

51 lines
1.3 KiB
Bash
Executable File

#!/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