Uploaded image for project: 'OpenShift Request For Enhancement'
  1. OpenShift Request For Enhancement
  2. RFE-3332

OLM: CSV installable dependecies

XMLWordPrintable

    • Icon: Feature Request Feature Request
    • Resolution: Done
    • Icon: Undefined Undefined
    • None
    • None
    • OLM
    • None
    • False
    • None
    • False
    • Not Selected
    • 0
    • This issue doesn't have any child issues

      1. Proposed title of this feature request
      2. What is the nature and description of the request?
      3. Why does the customer need this? (List the business requirements here)
      4. List any affected packages or components.

      1. OLM: CSV installable dependecies

      2. The ClusterServiceVersion allows to specify installables to be installed. These are installed and removed automatically when a CSV is created/removed. Currently there are no dependencies between the installables, all are created and removed all at the same time.
      This can become an issue if the installables depend on each other. For example, if the CSV includes a deployment and the permissions (roles) for the deployment, during deletion the roles could be removed before the deployment pods finish their cleanup operations for which the permissions are required.
      This leaves the deployment pods without required permissions, unable to finish cleanup.

      There could be several ways to fix this:

      • only start deleting the CSV permissions when the deployments are successfully deleted (it's a separate section in the CSV, so should be easy to see which is which)
      • OLM sends signal to operator before it's deleted, and waits for confirmation (idea by Alex Greene):
           Operator: "Let me know when I'm going to be deleted"
           OLM: "I'm about to delete you, tell me when you're ready"
           Operator: "Okay, I'm ready".
        
      • put an ownerReference on the deployment, with all permissions entities listed as owners, with blockOwnereDeletion set (and foreground deletion). This would block deleting of the permissions until the deployment is gone. This should also be relatively simple, with just adding a few metadata entries to the entities created by OLM

      Discussion on this:
      https://coreos.slack.com/archives/D01RMBQGV3K/p1666007618931149

      A previous bug on this topic:
      https://bugzilla.redhat.com/show_bug.cgi?id=2039950

            DanielMesser Daniel Messer
            mmirecki@redhat.com Marcin Mirecki (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: