Uploaded image for project: 'OpenShift Node'
  1. OpenShift Node
  2. OCPNODE-1784

Improve CRI-O Wipe Image Removal On Upgrade

XMLWordPrintable

    • Icon: Epic Epic
    • Resolution: Done
    • Icon: Normal Normal
    • openshift-4.17
    • None
    • None
    • Improve CRI-O Wipe Image Removal On Upgrade
    • BU Product Work
    • False
    • None
    • False
    • Not Selected
    • To Do
    • OCPSTRAT-1291 - Phase -1 : Improve CRIO wipe for reboot
    • OCPSTRAT-1291Phase -1 : Improve CRIO wipe for reboot
    • 21% To Do, 0% In Progress, 79% Done
    • L

      Epic Goal

      • Image removal on upgrade was moved from crio wipe into crio itself, with the InternalWipe flag. It is configurable by setting `version_file_persist = “”` in the crio configuration.
      • This interferes with a number of optimizations possible: for instance, predownloading the new release images before an upgrade. 

       

      • The goal of this epic is to update Kubelet garbage collection to allow for a time-based removal, where kubelet cleans up images that haven’t been used after a period of time, which would allow old release images to be cleaned up.
      • While the existing kubelet garbage collection would take care of this, it waits until there is disk pressure, which would mean the images could potentially be needlessly kept for a long time.
      • To get upstream consensus, it's possible there will need to be a plugin based system for Kubelet GC

      Why is this important?

      • Image removal on upgrade can be considered a heavy hammer against a relatively simple problem: the old release images should eventually get cleaned up. Something even as simple as an LRU cache would improve the situation.

      Scenarios

      1. As an openshift admin, I would like to pre-cache my next upgrade to allow for a quicker update.

      Acceptance Criteria

      • CI - MUST be running successfully with tests automated
      • Release Technical Enablement - Provide necessary release enablement details and documents.
      • ...

      Dependencies (internal and external)

      1. ...

      Previous Work (Optional):

      Open questions::

      Done Checklist

      • CI - CI is running, tests are automated and merged.
      • Release Enablement <link to Feature Enablement Presentation>
      • DEV - Upstream code and tests merged: <link to meaningful PR or GitHub Issue>
      • DEV - Upstream documentation merged: <link to meaningful PR or GitHub Issue>
      • DEV - Downstream build attached to advisory: <link to errata>
      • QE - Test plans in Polarion: <link or reference to Polarion>
      • QE - Automated tests merged: <link or reference to automated tests>
      • DOC - Downstream documentation merged: <link to meaningful PR>

              rh-ee-kwilczyn Krzysztof Wilczyński
              pehunt@redhat.com Peter Hunt
              Sunil Choudhary Sunil Choudhary
              Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: