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]

Reply via email to