Uploaded image for project: 'Operator Ecosystem'
  1. Operator Ecosystem
  2. OPECO-3036

[Catalogd] Unpack image source using direct registry clients

XMLWordPrintable

    • Icon: Epic Epic
    • Resolution: Done
    • Icon: Major Major
    • openshift-4.15
    • None
    • None
    • None
    • Catalogd Unpacking
    • Upstream
    • False
    • None
    • False
    • Not Selected
    • Done
    • OCPSTRAT-429 - [Phase 2 MVP/Tech Preview] OLM 1.0 - Extension Catalogs (F1)
    • OCPSTRAT-429[Phase 2 MVP/Tech Preview] OLM 1.0 - Extension Catalogs (F1)
    • 0% To Do, 0% In Progress, 100% Done

      Epic Goal

      • Satisfy this piece of the Extension Catalogs feature [1]:

      “Changes or updates to the catalog source images should be reconciled and made available on the catalog representation on the cluster.”

      [1] OCPSTRAT-429 [Phase 2 MVP/Tech Preview] OLM 1.0 - Extension Catalogs (F1)

      Why is this important?

      • This will enable catalog changes to be automatically made available on the cluster without needing any manual intervention.

      Currently Catalogd uses a Pod for unpacking catalog image contents and reads the unpacked contents from said Pod’s logs. There are a few problems associated with this:

      • As mentioned by the Kubernetes documentation on working with Pods, Pods are designed as disposable entities. Pods that have exited successfully can be garbage collected at any time and thus there is no guarantee that it will still exist by the time we attempt to read the logs or that the logs that are present are lossless.
      • It is not recommended to manage Pod resources yourself and instead use something like a Deployment, Job, or StatefulSet.
      • When thinking about polling, we will likely be checking if the SHA of an image is different from the last time the image was unpacked. The general approach to doing this with a Pod based unpacking process is to create another pod to pull the same image and check the Pod status to determine if there is a difference in the SHA.
        Directly communicating with an image registry allows us to avoid running into these issues altogether.

      RFC: https://docs.google.com/document/d/1VHlUAVewIckVMLccNsoNptRsrQ19KcWzQ2HZetYK2h0/edit?usp=sharing

      Relevant Links

      Upstream epic issue: https://github.com/operator-framework/catalogd/issues/179

      Done Checklist

      • CI - CI is running, tests are automated and merged.
      • DEV - Upstream code and tests merged: <link to meaningful PR or GitHub Issue>

              rh-ee-cchantse Catherine Chan-Tse
              rh-ee-cchantse Catherine Chan-Tse
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: