mobs75 opened a new issue, #239:
URL: https://github.com/apache/openserverless/issues/239
**Branch tested**: `0.9.0sc` (superproject commit `d57c28c`), `oplugins`
submodule on `main` (`86c8407`), `runtimes` submodule at `d2f0b43`
During `build-and-test-ubuntu.sh`, the `kind-preload`/`_kind-get-images`
task in `oplugins/util/freeze/opsfile.yml` fails to pull the 4 runtime images
(go, java, nodejs, python) because the assembled image reference has a
duplicated `docker.io/` prefix, e.g.:
docker.io/docker.io/apache/openserverless-runtime-go:v1.26-b90faa7
**Root cause**:
1. `runtimes/runtimes.py`, lines 170-174, builds the image prefix as:
registry = os.environ.get("DOCKER_HUB_REGISTRY",
env.get("DOCKER_HUB_REGISTRY", "docker.io"))
user = os.environ.get("DOCKERHUB_USER", env.get("DOCKERHUB_USER",
"apache"))
prefix = "%s/%s" % (registry, user)
With defaults, this produces `prefix = "docker.io/apache"`, which is written
into `runtimes.json` under each entry's `image.prefix`.
2. `oplugins/util/freeze/findimages.js`, line 58, reads that `prefix` back
and re-prepends `docker.io/` unconditionally:
images.push(`docker.io/${prefix}/${name}:${tag}`)
Since `prefix` already contains `docker.io/`, the result is
`docker.io/docker.io/apache/${name}:${tag}`.
**Observed effect** (from `_kind-get-images` in
`oplugins/util/freeze/opsfile.yml`, lines 96-113):
>>> Saving: amd64
docker.io/docker.io/apache/openserverless-runtime-go:v1.26-b90faa7
Error response from daemon: manifest for
apache/openserverless-runtime-go:v1.26-b90faa7 not found: manifest unknown:
manifest unknown
*** FAIL pull
docker.io/docker.io/apache/openserverless-runtime-go:v1.26-b90faa7
Error response from daemon: reference does not exist
*** FAIL save ...
OK: save ...
Same pattern for java, nodejs, python.
**Impact**: Non-blocking. The task falls back to the locally-built image
immediately after each failed pull/save attempt (`OK: save` right after), so
the kind cluster is created successfully and the full test suite (13/13
applicable scripts in `testing/tests/all.sh kind`) passes regardless. This is a
cosmetic/log-noise issue, not a functional one - but it likely means the "pull
freshest tag from registry before falling back to local" intent of this task
never actually succeeds for runtime images.
**Suggested fix**: either strip a leading `docker.io/` from `prefix` before
use in `findimages.js` line 58, or skip re-prepending `docker.io/` if `prefix`
already starts with it.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]