Check for changes in the airgap image list

This commit is contained in:
Erik Wilson 2020-03-09 17:19:02 -07:00
parent c4f18227fc
commit 9b8e829ec7
4 changed files with 57 additions and 24 deletions

1
.gitignore vendored
View File

@ -28,3 +28,4 @@ __pycache__
/tests/.tox/ /tests/.tox/
/tests/.vscode /tests/.vscode
/sonobuoy-output /sonobuoy-output
*.tmp

View File

@ -13,19 +13,18 @@ mkdir -p $artifacts
# --- # ---
[ "$ARCH" = 'arm' ] && \
early-exit "Skipping sonobuoy, images not available for $ARCH."
E2E_OUTPUT=$artifacts test-run-sonobuoy E2E_OUTPUT=$artifacts test-run-sonobuoy
# --- # ---
if [ "$DRONE_BUILD_EVENT" = 'tag' ]; then [ "$DRONE_BUILD_EVENT" = 'tag' ] && \
printf "\033[33mSkipping remaining tests on tag.\033[m\n" early-exit 'Skipping remaining tests on tag.'
exit 0
fi
if [ "$ARCH" != 'amd64' ]; then [ "$ARCH" != 'amd64' ] && \
printf "\033[33mSkipping remaining tests, images not available for $ARCH.\033[m\n" early-exit "Skipping remaining tests, images not available for $ARCH."
exit 0
fi
# --- # ---

View File

@ -437,6 +437,14 @@ export -f provision-cluster
# --- # ---
early-exit() {
printf "\033[33m$1\033[m\n"
exit $2
}
export -f early-exit
# ---
run-test() { run-test() {
export PROVISION_LOCK=$(mktemp) export PROVISION_LOCK=$(mktemp)
./scripts/test-runner $@ & ./scripts/test-runner $@ &
@ -454,27 +462,27 @@ export -f run-test
# --- # ---
e2e-test() { e2e-test() {
local label=$label local label=$label
if [ -n "$LABEL_SUFFIX" ]; then if [ -n "$LABEL_SUFFIX" ]; then
label="$label-$LABEL_SUFFIX" label="$label-$LABEL_SUFFIX"
fi fi
local logOutput= local logOutput=
if [ -n "$E2E_OUTPUT" ]; then if [ -n "$E2E_OUTPUT" ]; then
logOutput=$E2E_OUTPUT/$logName logOutput=$E2E_OUTPUT/$logName
fi fi
LABEL=$label LOG_OUTPUT=$logOutput run-test $@ LABEL=$label LOG_OUTPUT=$logOutput run-test $@
} }
# --- # ---
run-e2e-tests() { run-e2e-tests() {
label=PARALLEL \ label=PARALLEL \
logName=e2e-STATUS-${ARCH}-parallel.log \ logName=e2e-STATUS-${ARCH}-parallel.log \
e2e-test ${sonobuoyParallelArgs[@]} e2e-test ${sonobuoyParallelArgs[@]}
label=SERIAL \ label=SERIAL \
logName=e2e-STATUS-${ARCH}-serial.log \ logName=e2e-STATUS-${ARCH}-serial.log \
e2e-test ${sonobuoySerialArgs[@]} e2e-test ${sonobuoySerialArgs[@]}
} }
export -f run-e2e-tests export -f run-e2e-tests

View File

@ -1,14 +1,39 @@
#!/bin/bash #!/bin/bash
all_services=(
coredns
local-path-provisioner
metrics-server
nginx-ingress-controller
nginx-ingress-default-backend
)
export NUM_SERVERS=1 export NUM_SERVERS=1
export NUM_AGENTS=1 export NUM_AGENTS=1
export SERVER_ARGS='--no-deploy=traefik,coredns,local-storage,metrics-server' export WAIT_SERVICES="${all_services[@]}"
start-test() { start-test() {
docker exec $(cat $TEST_DIR/servers/1/metadata/name) check-config || true docker exec $(cat $TEST_DIR/servers/1/metadata/name) check-config || true
verify-valid-versions $(cat $TEST_DIR/servers/1/metadata/name) verify-valid-versions $(cat $TEST_DIR/servers/1/metadata/name)
verify-airgap-images $(cat $TEST_DIR/{servers,agents}/*/metadata/name)
} }
export -f start-test 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 basic cluster and check for valid versions # --- create a basic cluster and check for valid versions
LABEL=BASICS run-test LABEL=BASICS run-test