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.

            lmohanty@redhat.com Lalatendu Mohanty
            afri@afri.cz Petr Muller
            Jia Liu Jia Liu
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: