…e annotation
bee450b (ci-operator: expose ephemeral cluster versions based on
parents, 2020-08-11, openshift#1098) taught assembleReleaseStep to consume the
release.openshift.io/config annotation on an ImageStream to find a
version prefix that actually reflects the 4.y release branch (instead
of using 0.0.1-0 as the prefix). Those annotations are set on the
app.ci ImageStreams, for example:
$ oc whoami -c
default/api-ci-l2s4-p1-openshiftapps-com:6443/wking
$ oc -n ocp get -o json imagestream 4.13 | jq -r '.metadata.annotations["release.openshift.io/config"] | fromjson | .name'
4.13.0-0.ci
But they are not set in ImageStreams contained within release images:
$ oc adm release info -o json registry.ci.openshift.org/ocp/release:4.13.0-0.ci-2023-03-29-224346 | jq '.references | {kind, metadata}'
{
"kind": "ImageStream",
"metadata": {
"name": "4.13.0-0.ci-2023-03-29-224346",
"creationTimestamp": "2023-03-29T22:52:54Z",
"annotations": {
"release.openshift.io/from-image-stream": "ocp/4.13-2023-03-29-224346"
}
}
}
With this commit, I'm taking the name out of the imported release
ImageStream and trying to parse it as a Semantic Version. If it
parses, I'm constructing a release.openshift.io/config annotation to
set just the 'name' property to the MAJOR.MINOR.PATCH from that parsed
name. This should allow cluster-bot runs like:
launch 4.13.0-0.ci,openshift/cluster-version-operator#918,openshift/hypershift#2318 hypershift-hosted
to build releases named 4.13.0-0-... instead of their current
0.0.1-0-...:
$ curl -s https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/origin-ci-test/logs/release-openshift-origin-installer-launch-hypershift-hosted/1641294936391290880/artifacts/release/artifacts/release-payload-latest/image-references | jq -r .metadata.name
0.0.1-0.test-2023-03-30-043404-ci-ln-h9dwcbk-latest
which is failing to run with [1]:
Release image is not valid: {
"lastTransitionTime": "2023-03-30T04:36:29Z",
"message": "releases before 4.8 are not supported",
"observedGeneration": 3,
"reason": "InvalidImage",
"status": "False",
"type": "ValidReleaseImage"
}
[1]: https://prow.ci.openshift.org/view/gs/origin-ci-test/logs/release-openshift-origin-installer-launch-hypershift-hosted/1641294936391290880#1:build-log.txt%3A203-210