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

oc-mirror does not prune removed release image and signatures according to imageset-config.yaml

XMLWordPrintable

    • No
    • CLID Sprint 251, CLID Sprint 252
    • 2
    • Rejected
    • False
    • Hide

      None

      Show
      None

      Description of problem:

      Update imageset-config.yaml from 
      ```
          channels:
          - name: candidate-4.14
            minVersion: 4.14.0
            maxVersion: 4.14.0    ```
      to 
      ``` - name: candidate-4.14
            type: ocp
      ```
      and redo oc-mirror, it will not prune removed ocp release image together with responding signature file in graph-data.

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

      ./oc-mirror version
      WARNING: This version information is deprecated and will be replaced with the output from --short. Use --output=yaml|json to get the full version.
      Client Version: version.Info{Major:"", Minor:"", GitVersion:"4.15.0-202312011230.p0.ge4022d0.assembly.stream-e4022d0", GitCommit:"e4022d08586406f3a0f92bab1d3ea6cb8856b4fa", GitTreeState:"clean", BuildDate:"2023-12-01T12:48:12Z", GoVersion:"go1.20.10 X:strictfipsruntime", Compiler:"gc", Platform:"linux/amd64"}

      How reproducible:

      always

      Steps to Reproduce:

      1. mirror 4.14.0 ocp release image and graph-data with following imageset-config.yaml file
      # cat imageset-config.yaml 
      kind: ImageSetConfiguration
      apiVersion: mirror.openshift.io/v1alpha2
      storageConfig:
        registry:
          imageURL: jliu415.mirror-registry.qe.gcp.devcluster.openshift.com:5000/otatest
          skipTLS: true
      mirror:
        platform:
          channels:
          - name: candidate-4.14
            minVersion: 4.14.0
            maxVersion: 4.14.0
          graph: true
      
      // 4.14.0 ocp release image was mirrored together with signatures as expected.
      
      # curl -u xxx -k https://jliu415.mirror-registry.qe.gcp.devcluster.openshift.com:5000/v2/openshift/release-images/tags/list?
      {"name":"openshift/release-images","tags":["4.14.0-x86_64"]}
      
      # ./oc exec -it update-service-oc-mirror-79d777dfb6-nffj7 -- ls /var/lib/cincinnati/graph-data/signatures/sha256/ -la
      Defaulted container "graph-builder" out of: graph-builder, policy-engine, graph-data (init)
      total 0
      drwxr-sr-x. 3 1000680000 root 78 Jan  1  1970 .
      drwxr-sr-x. 3 1000680000 root 20 Jan  1  1970 ..
      drwxr-sr-x. 2 1000680000 root 25 Jan  1  1970 e2c70fca183e380c6121a1c847806f11e839482123277235a8579db472b9ccf2
      
      
      2. update above imageset-config.yaml file as following to include only latest release image of 4.14(should be 4.14.5), and redo oc-mirror with updated imageset-config.yaml file.
      
      # cat imageset-config.yaml 
      kind: ImageSetConfiguration
      apiVersion: mirror.openshift.io/v1alpha2
      storageConfig:
        registry:
          imageURL: jliu415.mirror-registry.qe.gcp.devcluster.openshift.com:5000/otatest
          skipTLS: true
      mirror:
        platform:
          channels:
          - name: candidate-4.14
            type: ocp
          graph: true
      
      $ curl -u xxx -k https://jliu415.mirror-registry.qe.gcp.devcluster.openshift.com:5000/v2/openshift/release-images/tags/list?
      {"name":"openshift/release-images","tags":["4.14.0-x86_64","4.14.5-x86_64"]}
      
      # ./oc exec -it update-service-oc-mirror-68454bdd6c-k5g85 -- ls /var/lib/cincinnati/graph-data/signatures/sha256/ -la
      Defaulted container "graph-builder" out of: graph-builder, policy-engine, graph-data (init)
      total 0
      drwxr-sr-x. 4 1000680000 root 150 Jan  1  1970 .
      drwxr-sr-x. 3 1000680000 root  20 Jan  1  1970 ..
      drwxr-sr-x. 2 1000680000 root  25 Jan  1  1970 0ec9d715c717b2a592d07dd83860013613529fae69bc9eecb4b2d4ace679f6f3
      drwxr-sr-x. 2 1000680000 root  25 Jan  1  1970 e2c70fca183e380c6121a1c847806f11e839482123277235a8579db472b9ccf2
      

      Actual results:

      4.14.0 ocp release image together with signatures was not pruned.

      Expected results:

      4.14.0 ocp release image together with signatures should be pruned.

      Additional info:

      Update from 
      ```
        platform:
          channels:
          - name: candidate-4.14
            type: ocp
      ```
      to 
      ```
      platform:
        channels:
        - name: candidate-4.14
          minVersion: 4.14.0
          maxVersion: 4.14.0
      
      ```
      also hit the same issue(4.14.5 should be pruned). confirmed with oc-mirror qe it should be a regression.

            luzuccar@redhat.com Luigi Mario Zuccarelli
            rhn-support-jiajliu Jia Liu
            ying zhou ying zhou
            Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: