From edb97caf81271391139d82b77d456b4b84047912 Mon Sep 17 00:00:00 2001 From: Ashwin Das Date: Thu, 23 Jul 2026 13:11:25 -0400 Subject: [PATCH 1/2] doozer: point reconciliation-PR upstream heuristic at quay-proxy.ci.registry.openshift.org resolve_upstream_from() fell back to the raw registry.ci.openshift.org host when computing the desired upstream FROM pullspec used by `images:streams prs open`. Point it at the quay-proxy mirror instead. Co-authored-by: Cursor rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED --- doozer/doozerlib/cli/images_streams.py | 4 ++-- doozer/tests/cli/test_images_streams.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/doozer/doozerlib/cli/images_streams.py b/doozer/doozerlib/cli/images_streams.py index e022bf2466..13a8272009 100644 --- a/doozer/doozerlib/cli/images_streams.py +++ b/doozer/doozerlib/cli/images_streams.py @@ -1466,8 +1466,8 @@ def resolve_upstream_from(runtime, image_entry): # In release payloads, images are promoted into an imagestream # tag name without the ose- prefix. image_name = remove_prefix(image_name, 'ose-') - # e.g. registry.ci.openshift.org/ocp/4.6:base - return f'registry.ci.openshift.org/ocp/{major}.{minor}:{image_name}' + # e.g. quay-proxy.ci.registry.openshift.org/ocp/4.6:base + return f'quay-proxy.ci.registry.openshift.org/ocp/{major}.{minor}:{image_name}' if image_entry.image: # CI is on its own. We can't give them an image that isn't available outside the firewall. diff --git a/doozer/tests/cli/test_images_streams.py b/doozer/tests/cli/test_images_streams.py index 378cc5c7f9..040032a574 100644 --- a/doozer/tests/cli/test_images_streams.py +++ b/doozer/tests/cli/test_images_streams.py @@ -116,7 +116,7 @@ def test_resolve_upstream_from_with_member_using_heuristic(mocker, mock_runtime) result = images_streams.resolve_upstream_from(mock_runtime, image_entry) # Should strip 'ose-' prefix from image name - assert result == 'registry.ci.openshift.org/ocp/4.17:ansible' + assert result == 'quay-proxy.ci.registry.openshift.org/ocp/4.17:ansible' def test_resolve_upstream_from_with_member_using_payload_name(mocker, mock_runtime): @@ -135,7 +135,7 @@ def test_resolve_upstream_from_with_member_using_payload_name(mocker, mock_runti result = images_streams.resolve_upstream_from(mock_runtime, image_entry) # Should use payload_name and strip path - assert result == 'registry.ci.openshift.org/ocp/4.18:custom-payload-name' + assert result == 'quay-proxy.ci.registry.openshift.org/ocp/4.18:custom-payload-name' def test_resolve_upstream_from_with_image_entry(mock_runtime): From 62b7a5407e26d8c124a5ffeed5a94c7fdb27594b Mon Sep 17 00:00:00 2001 From: Ashwin Das Date: Thu, 23 Jul 2026 13:14:10 -0400 Subject: [PATCH 2/2] doozer: note that the quay-proxy heuristic is a temporary migration workaround Co-authored-by: Cursor rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED --- doozer/doozerlib/cli/images_streams.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doozer/doozerlib/cli/images_streams.py b/doozer/doozerlib/cli/images_streams.py index 13a8272009..ce9be4ad4a 100644 --- a/doozer/doozerlib/cli/images_streams.py +++ b/doozer/doozerlib/cli/images_streams.py @@ -1467,6 +1467,8 @@ def resolve_upstream_from(runtime, image_entry): # tag name without the ose- prefix. image_name = remove_prefix(image_name, 'ose-') # e.g. quay-proxy.ci.registry.openshift.org/ocp/4.6:base + # TODO: temporary workaround for a registry.ci.openshift.org migration; + # revisit switching this back once the migration is complete. return f'quay-proxy.ci.registry.openshift.org/ocp/{major}.{minor}:{image_name}' if image_entry.image: