Uploaded image for project: 'OpenShift Bugs'
  1. OpenShift Bugs
  2. OCPBUGS-30080

Placeholder versions not replaced in CVO manifests when release is built

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Normal Normal
    • None
    • 4.16
    • oc / update
    • None
    • No
    • False
    • Hide

      None

      Show
      None

      Description of problem:

      The process to build releases (oc adm release new) substitutes placeholder versions in manifests collected into the payload image with the version of the payload being build, for example:

      $ curl https://raw.githubusercontent.com/openshift/cluster-storage-operator/master/manifests/10_deployment.yaml | yq .spec.template.spec.containers[0].env[0]
      name: OPERATOR_IMAGE_VERSION
      value: "0.0.1-snapshot"
      
      $ oc image extract registry.build03.ci.openshift.org/ci-ln-0vp2w7k/release:latest
      
      $ yq .spec.template.spec.containers[0].env[0] release-manifests/0000_50_cluster-storage-operator_10_deployment.yaml
      name: OPERATOR_IMAGE_VERSION
      value: "4.16.0-0.test-2024-02-28-171038-ci-ln-0vp2w7k-latest"
      

      This is not the case for CVO manifests thought, likely because they are treated separately: they are included in manifests directory instead of release-manifests one, and they get into the payload via the -to-image-base{,-tag} option, not via the standard manifest collection from operator images. This makes it hard for CVO to know its own version like other operators do, because it cannot e.g. rely on manifest-exposed envvars used in library-go code.

      Version-Release number of selected component (if applicable):

      4.16

      How reproducible:

      Always

      Steps to Reproduce:

      1. Cluster bot: build 4.16,openshift/cluster-version-operator#1039

      $ oc image extract registry.build03.ci.openshift.org/ci-ln-0vp2w7k/release:latest
      $ yq .spec.template.spec.containers[0].env[0] manifests/0000_00_cluster-version-operator_03_deployment.yaml
      

      Actual results:

      name: OPERATOR_IMAGE_VERSION
      value: "0.0.1-snapshot"
      

      Expected results:

      name: OPERATOR_IMAGE_VERSION
      value: "4.16.0-0.test-2024-02-28-171038-ci-ln-0vp2w7k-latest"
      

      Additional info:

      This is technically a bug in oc CLI which is a different component (the substitution happens in oc adm release new) but filing it for oc component would take it off our board.

              Unassigned Unassigned
              afri@afri.cz Petr Muller
              Jia Liu Jia Liu
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated: