Skip to content

Commit 2b875e0

Browse files
committed
fix(e2e): keep Dockerfile images local
Signed-off-by: Evan Lezar <elezar@nvidia.com>
1 parent a152303 commit 2b875e0

1 file changed

Lines changed: 18 additions & 16 deletions

File tree

e2e/with-docker-gateway.sh

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,9 @@
1818
# OPENSHELL_E2E_DOCKER_SANDBOX_IMAGE=...
1919
# OPENSHELL_E2E_DOCKER_SANDBOX_IMAGE_PULL_POLICY=Always|IfNotPresent|Never
2020
#
21-
# The default community sandbox image uses :latest and is pulled with Always so
22-
# local e2e runs do not reuse stale images that drift from the repo toolchain.
21+
# The default community sandbox image uses :latest. This wrapper refreshes it
22+
# before starting the gateway, while the Docker driver defaults to IfNotPresent
23+
# so local Dockerfile-built images remain usable.
2324

2425
set -euo pipefail
2526

@@ -367,14 +368,21 @@ image_uses_latest_tag() {
367368
[[ "${last_component}" == *:latest ]]
368369
}
369370

370-
default_sandbox_pull_policy() {
371+
ensure_sandbox_image_available() {
371372
local image=$1
372373

373374
if image_uses_latest_tag "${image}"; then
374-
printf '%s\n' "Always"
375-
else
376-
printf '%s\n' "IfNotPresent"
375+
echo "Refreshing latest sandbox image ${image}..."
376+
docker_pull_with_retry "${image}"
377+
return
377378
fi
379+
380+
if docker image inspect "${image}" >/dev/null 2>&1; then
381+
return
382+
fi
383+
384+
echo "Pulling ${image}..."
385+
docker_pull_with_retry "${image}"
378386
}
379387

380388
DAEMON_ARCH="$(normalize_arch "$(docker info --format '{{.Architecture}}' 2>/dev/null || true)")"
@@ -421,16 +429,10 @@ fi
421429

422430
DEFAULT_SANDBOX_IMAGE="ghcr.io/nvidia/openshell-community/sandboxes/base:latest"
423431
SANDBOX_IMAGE="${OPENSHELL_E2E_DOCKER_SANDBOX_IMAGE:-${OPENSHELL_SANDBOX_IMAGE:-${DEFAULT_SANDBOX_IMAGE}}}"
424-
SANDBOX_IMAGE_PULL_POLICY="${OPENSHELL_E2E_DOCKER_SANDBOX_IMAGE_PULL_POLICY:-${OPENSHELL_SANDBOX_IMAGE_PULL_POLICY:-}}"
425-
if [ -z "${SANDBOX_IMAGE_PULL_POLICY}" ]; then
426-
SANDBOX_IMAGE_PULL_POLICY="$(default_sandbox_pull_policy "${SANDBOX_IMAGE}")"
427-
fi
428-
if ! docker image inspect "${SANDBOX_IMAGE}" >/dev/null 2>&1; then
429-
echo "Pulling ${SANDBOX_IMAGE}..."
430-
if ! docker_pull_with_retry "${SANDBOX_IMAGE}"; then
431-
echo "ERROR: sandbox image '${SANDBOX_IMAGE}' is not available." >&2
432-
exit 2
433-
fi
432+
SANDBOX_IMAGE_PULL_POLICY="${OPENSHELL_E2E_DOCKER_SANDBOX_IMAGE_PULL_POLICY:-${OPENSHELL_SANDBOX_IMAGE_PULL_POLICY:-IfNotPresent}}"
433+
if ! ensure_sandbox_image_available "${SANDBOX_IMAGE}"; then
434+
echo "ERROR: sandbox image '${SANDBOX_IMAGE}' is not available." >&2
435+
exit 2
434436
fi
435437

436438
PKI_DIR="${WORKDIR}/pki"

0 commit comments

Comments
 (0)