Files
OpenShell/e2e/python/Dockerfile.workload
Philippe Martin f7273e48f6 fix(providers): restore supervisor-backed GCP metadata discovery (#3973)
* fix(providers): restore supervisor-backed GCP metadata discovery

Relay the reserved metadata endpoint to the supervisor and restore project, account, and placeholder token responses from live provider state. Cover Google SDK discovery and repeated refresh with provider E2E tests.

Closes #3860

Signed-off-by: Philippe Martin <phmartin@redhat.com>

* fix(providers): preserve default metadata account without an email

Use the default account identifier when the optional service account email is missing or empty. Cover repeated SDK refresh for missing, empty, and configured email values with distinct providers for parallel E2E execution.

Signed-off-by: Philippe Martin <phmartin@redhat.com>

* test(sandbox): fix metadata relay lint and timeout

Signed-off-by: Philippe Martin <phmartin@redhat.com>

---------

Signed-off-by: Philippe Martin <phmartin@redhat.com>
2026-10-02 15:33:37 +00:00

30 lines
1.5 KiB
Docker

# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
ARG WORKLOAD_BASE=nvcr.io/nvidia/base/ubuntu:24.04
FROM ghcr.io/astral-sh/uv:0.12.17@sha256:10787c682e4184e4f290de1171fd4703dc63de99221f10fe1c99002ce7fa9acc AS uv
FROM ${WORKLOAD_BASE}
COPY --from=uv /uv /uvx /usr/local/bin/
# Supplied from .python-version by the build task for cloudpickle compatibility.
ARG PYTHON_VERSION
# curl and openssl also support the Rust Docker tests sharing this fixture.
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
bash ca-certificates curl git openssl python3 python3-pip python3-venv python-is-python3 \
&& rm -rf /var/lib/apt/lists/* \
&& if getent passwd ubuntu >/dev/null; then userdel ubuntu; fi \
&& if getent group ubuntu >/dev/null; then groupdel ubuntu; fi \
&& groupadd --gid 1000 sandbox \
&& useradd --uid 1000 --gid sandbox --create-home --shell /bin/bash sandbox \
&& UV_PYTHON_INSTALL_DIR=/sandbox/.uv/python uv python install "${PYTHON_VERSION}" \
&& UV_PYTHON_INSTALL_DIR=/sandbox/.uv/python uv venv --python "${PYTHON_VERSION}" --seed /sandbox/.venv \
&& uv pip install --python /sandbox/.venv/bin/python cloudpickle==3.1.2 google-auth==2.40.3 requests==2.32.5 \
&& chown -R sandbox:sandbox /sandbox \
&& uv cache clean
ENV VIRTUAL_ENV=/sandbox/.venv
ENV PATH="/sandbox/.venv/bin:${PATH}"
WORKDIR /sandbox
USER sandbox:sandbox