Add reusable kind test job execution
This commit is contained in:
parent
3ed528b288
commit
af8bb1a03a
1 changed files with 310 additions and 64 deletions
|
|
@ -4,9 +4,6 @@ set -euo pipefail
|
|||
ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
|
||||
source "$ROOT/tests/kind/lib.sh"
|
||||
|
||||
mkdir -p "$RUNTIME"
|
||||
rm -rf "$RUNTIME/image-archives"
|
||||
mkdir -p "$RUNTIME/image-archives"
|
||||
USER_KUBECONFIG_BEFORE="$(user_kubeconfig_digest)"
|
||||
SUCCEEDED=false
|
||||
|
||||
|
|
@ -19,11 +16,8 @@ cleanup() {
|
|||
exit "$status"
|
||||
fi
|
||||
if [[ -n "${REMORA_REAL_NERDCTL:-}" ]]; then
|
||||
delete_cluster || status=1
|
||||
remove_runtime_namespace || status=1
|
||||
destroy_fixture || status=1
|
||||
fi
|
||||
rm -rf "$RUNTIME/image-archives" || status=1
|
||||
rm -f "$KUBECONFIG_PATH" "$RUNTIME/dependencies.yaml" "$RUNTIME/probe.yaml" || status=1
|
||||
if [[ "$(user_kubeconfig_digest)" != "$USER_KUBECONFIG_BEFORE" ]]; then
|
||||
printf 'user kubeconfig changed unexpectedly\n' >&2
|
||||
status=1
|
||||
|
|
@ -34,50 +28,12 @@ cleanup() {
|
|||
exit "$status"
|
||||
}
|
||||
|
||||
trap cleanup EXIT INT TERM
|
||||
trap cleanup EXIT
|
||||
trap 'exit 130' INT
|
||||
trap 'exit 143' TERM
|
||||
|
||||
prepare_tools
|
||||
prepare_provider
|
||||
|
||||
"$BIN/kind" create cluster \
|
||||
--name "$CLUSTER" \
|
||||
--image "$NODE_IMAGE" \
|
||||
--config "$TESTBED/cluster.yaml" \
|
||||
--kubeconfig "$KUBECONFIG_PATH" \
|
||||
--wait 180s
|
||||
|
||||
POSTGRES_LOCAL_IMAGE="$(load_external_image postgres "$POSTGRES_IMAGE")"
|
||||
REDIS_LOCAL_IMAGE="$(load_external_image redis "$REDIS_IMAGE")"
|
||||
DRAGONFLY_LOCAL_IMAGE="$(load_external_image dragonfly "$DRAGONFLY_IMAGE")"
|
||||
VAULT_LOCAL_IMAGE="$(load_external_image vault "$VAULT_IMAGE")"
|
||||
KEYCLOAK_LOCAL_IMAGE="$(load_external_image keycloak "$KEYCLOAK_IMAGE")"
|
||||
ZITADEL_LOCAL_IMAGE="$(load_external_image zitadel "$ZITADEL_IMAGE")"
|
||||
GARAGE_LOCAL_IMAGE="$(load_external_image garage "$GARAGE_IMAGE")"
|
||||
VERSITYGW_LOCAL_IMAGE="$(load_external_image versitygw "$VERSITYGW_IMAGE")"
|
||||
COREDNS_LOCAL_IMAGE="$(load_external_image coredns "$COREDNS_IMAGE")"
|
||||
CURL_LOCAL_IMAGE="$(load_external_image curl "$CURL_IMAGE")"
|
||||
AWS_CLI_LOCAL_IMAGE="$(load_external_image aws-cli "$AWS_CLI_IMAGE")"
|
||||
render_manifests \
|
||||
"$POSTGRES_LOCAL_IMAGE" \
|
||||
"$REDIS_LOCAL_IMAGE" \
|
||||
"$DRAGONFLY_LOCAL_IMAGE" \
|
||||
"$VAULT_LOCAL_IMAGE" \
|
||||
"$KEYCLOAK_LOCAL_IMAGE" \
|
||||
"$ZITADEL_LOCAL_IMAGE" \
|
||||
"$GARAGE_LOCAL_IMAGE" \
|
||||
"$VERSITYGW_LOCAL_IMAGE" \
|
||||
"$COREDNS_LOCAL_IMAGE" \
|
||||
"$CURL_LOCAL_IMAGE" \
|
||||
"$AWS_CLI_LOCAL_IMAGE"
|
||||
|
||||
kube apply --filename "$RUNTIME/dependencies.yaml"
|
||||
for deployment in postgres redis dragonfly vault keycloak zitadel garage versitygw controlled-dns; do
|
||||
kube --namespace remora-testbed rollout status "deployment/$deployment" --timeout 240s
|
||||
done
|
||||
|
||||
kube apply --filename "$RUNTIME/probe.yaml"
|
||||
for job in state-probe oidc-probe garage-probe versitygw-probe; do
|
||||
wait_for_job "$job"
|
||||
done
|
||||
acquire_fixture_lock
|
||||
setup_fixture
|
||||
verify_dependencies
|
||||
|
||||
SUCCEEDED=true
|
||||
|
|
|
|||
Loading…
Reference in a new issue