Use oc adm release extract --tools to download OCP binaries instead of release-controller file-cache#15
Conversation
|
LGTM, once E2E testing is done in a live environment and this passes this will be good to merge |
imatza-rh
left a comment
There was a problem hiding this comment.
The main concern is build type coverage - openshift_release_pull_spec is only set for the nightly/4-stable path today, but we need it for all paths (candidate, fast, stable, eus, specific builds). The release stream API returns pullSpec for nightly and 4-stable. For channel builds, release.txt on mirror.openshift.com has a Pull From: field with a digest-pinned pull spec that could be parsed directly. See the inline comment for details.
Also worth removing openshift_download_url from defaults/main.yml since it's now unused, and the task name fix from "installer" to "client" at line 72 is a nice catch.
853342b to
bda356e
Compare
Update: CI validation findings and revised approachWe ran the Zuul test on a clean environment and discovered that the shiftstackclient pod starts from a completely clean state — no Root cause of the CI failure: Revised approach (validated manually on a clean pod):
Manual validation results (clean pod, no pre-existing binaries):
New commit pushed — ready for re-review. |
imatza-rh
left a comment
There was a problem hiding this comment.
Looks good after the revisions - all prior review points addressed. One non-blocking suggestion inline. Consider squashing the 5 commits before merge.
8548bec to
4e56ee5
Compare
Summary
Replace the release-controller file-cache (
openshift-release-artifacts) withoc adm release extract --toolsfor downloading OCP installer and clientbinaries. The file-cache has no SLA or guaranteed support and can get stuck
indefinitely during tool extraction, causing job failures.
This was triggered by a 4.21 nightly job failure (OSPRH-31439) on 17 June 2026
where the artifacts server got permanently stuck extracting tools for build
4.21.0-0.nightly-2026-06-16-000931— the URL is still stuck 2 days later.What changed
get_openshift_release_build_name.yml: Save thepullSpecfrom therelease stream API response (already returned but previously discarded).
get_openshift_release_binaries.yml: Replace HTTP polling of thefile-cache with
oc adm release extract --tools, which pulls binariesdirectly from the container registry. The pull secret is extracted at
runtime from the host cluster via
rhoso_kubeconfig.Why
Per release-controller maintainer Brad Williams:
Manual validation on serval70 (18 June 2026)
All steps tested inside the
shiftstackclient-shiftstackpod on a liveRHOSO 18.0 deployment:
/usr/local/bin/oc(4.22.1) present in the podrhoso_kubeconfig:registry.ci.openshift.orgconfirmed present in authsoc adm release extract --toolssucceeded:Downloaded all tarballs for
4.21.0-0.nightly-2026-06-18-005110openshift-install version→4.21.0-0.nightly-2026-06-18-005110oc version --client→4.21.0-0.nightly-2026-06-18-005110ocin pod → guest cluster (api.ostest.shiftstack.local)--kubeconfig=rhoso_kubeconfig→ host cluster (api.ocp.openstack.lab)Scope / limitations
build_name: "") and4-stablecode paths — both gothrough the release stream API which returns
pullSpec.stream API and are unaffected by this change.