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

oc-mirror v1 auto-pruning fails to trigger, in a context where new metadata is generated

XMLWordPrintable

    • Important
    • None
    • False
    • Hide

      None

      Show
      None

      Description of problem:

      • In a context where the `ImageSetConfiguration` custom resource is updated - i.e. before [1] and after [2] change - and introducing at least one metadata change (like the edge [3] update from 4.14.26 to 4.14.39).. we are failing to see v1 auto-pruning being triggered, ending up with orphaned 4.12 and 4.13 images in the mirror registry:
      [1]
      ~~~
            - name: stable-4.14
              minVersion: 4.14.19
              maxVersion: 4.14.26  <<---
              type: ocp
            - name: eus-4.14
              minVersion: 4.14.19
              maxVersion: 4.14.26  <<---
            - name: stable-4.13
              minVersion: 4.13.15
              maxVersion: 4.13.37
              type: ocp
            - name: eus-4.12
              minVersion: 4.12.18
              maxVersion: 4.12.47
            - name: stable-4.12
              minVersion: 4.12.18
              maxVersion: 4.12.47
      ~~~
      
      [2]
      ~~~
            - name: stable-4.14
              minVersion: 4.14.19
              maxVersion: 4.14.39  <<---
              type: ocp
            - name: eus-4.14
              minVersion: 4.14.19
              maxVersion: 4.14.39  <<<---
      ~~~
      
      
      [3]
      ~~~
      $ CHANNEL_NAME=stable-4.14; for v in 4.14.{26..39}; do CURRENT_VERSION=$v; curl -sH 'Accept:application/json' "https://api.openshift.com/api/upgrades_info/v1/graph?channel=${CHANNEL_NAME}" | jq -r --arg CURRENT_VERSION "${CURRENT_VERSION}" '. as $graph | $graph.nodes | map(.version=='\"$CURRENT_VERSION\"') | index(true) as $orig | $graph.edges | map(select(.[0] == $orig)[1]) | map($graph.nodes[.].version) | sort_by(.) | "'"$CURRENT_VERSION"': \(.)"'; done
      4.14.26: ["4.14.27","4.14.28","4.14.31","4.14.32","4.14.33","4.14.35","4.14.36","4.14.37","4.14.38","4.14.39","4.14.41"]
                                                                                                           ^^^^^^^
      [...]
      ~~~    

      Actual results:

      The images related to the removed stable-4.12, eus-4.12 and stable-4.13 channels remain unpruned from the mirror registry.

      Expected results:

      For v1 oc-mirror auto-pruning to be triggered in the context of the removed stable-4.12, eus-4.12 and stable-4.13 channels

      Additional info:

      - RHOCP 4.14 in a disconnected setting.: i.e. https://docs.openshift.com/container-platform/4.14/installing/disconnected_install/installing-mirroring-disconnected.html
      - Using VMware Harbor with local storage and the relevant `storage.delete.enabled: true` configuration in place.
      
      ```
      storage:
        cache:
          layerinfo: redis
        filesystem:
          rootdirectory: /storage
        maintenance:
          uploadpurging:
            enabled: true
            age: 168h
            interval: 24h
            dryrun: false
        delete:
          enabled: true
      ```

              luzuccar@redhat.com Luigi Mario Zuccarelli
              rhn-support-rsandu Robert Sandu
              ying zhou ying zhou
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated: