Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OTA-925: pkg/steps/release/import_release: Set release.openshift.io/config name annotation #3350

Merged

Commits on Mar 30, 2023

  1. pkg/steps/release/import_release: Set release.openshift.io/config nam…

    …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
    wking committed Mar 30, 2023
    Configuration menu
    Copy the full SHA
    14ab04d View commit details
    Browse the repository at this point in the history