Uploaded image for project: 'OpenShift Container Platform (OCP) Strategy'
  1. OpenShift Container Platform (OCP) Strategy
  2. OCPSTRAT-1144

OLM 1.0 - How OLM handles data deletion

XMLWordPrintable

    • Icon: Feature Feature
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • None
    • Operator Framework
    • None
    • False
    • Hide

      None

      Show
      None
    • False
    • OCPSTRAT-27Operators and Operator Lifecycle Management and Operator Hub
    • 100% To Do, 0% In Progress, 0% Done
    • 0
    • 0

      Feature Overview (aka. Goal Summary)  

      OLM 1.0 users (with sufficient permissions) need fine-grained controls to handle operator uninstall that allow them to decide if CRDs and custom resources are removed when the operator is uninstalled from a namespace or the cluster.

      Goals (aka. expected user outcomes)

      The observable functionality that the user now has as a result of receiving this feature. Include the anticipated primary user type/persona and which existing features, if any, will be expanded. Complete during New status.

      <your text here>

      Requirements (aka. Acceptance Criteria):

      A list of specific needs or objectives that a feature must deliver in order to be considered complete.  Be sure to include nonfunctional requirements such as security, reliability, performance, maintainability, scalability, usability, etc.  Initial completion during Refinement status.

      <enter general Feature acceptance here>

       

      Anyone reviewing this Feature needs to know which deployment configurations that the Feature will apply to (or not) once it's been completed.  Describe specific needs (or indicate N/A) for each of the following deployment scenarios. For specific configurations that are out-of-scope for a given release, ensure you provide the OCPSTRAT (for the future to be supported configuration) as well.

      Deployment considerations List applicable specific needs (N/A = not applicable)
      Self-managed, managed, or both  
      Classic (standalone cluster)  
      Hosted control planes  
      Multi node, Compact (three node), or Single node (SNO), or all  
      Connected / Restricted Network  
      Architectures, e.g. x86_x64, ARM (aarch64), IBM Power (ppc64le), and IBM Z (s390x)  
      Operator compatibility  
      Backport needed (list applicable versions)  
      UI need (e.g. OpenShift Console, dynamic plugin, OCM)  
      Other (please specify)  

      Use Cases (Optional):

      Include use case diagrams, main success scenarios, alternative flow scenarios.  Initial completion during Refinement status.

      <your text here>

      Questions to Answer (Optional):

      Include a list of refinement / architectural questions that may need to be answered before coding can begin.  Initial completion during Refinement status.

      <your text here>

      Out of Scope

      High-level list of items that are out of scope.  Initial completion during Refinement status.

      <your text here>

      Background

      Today in OLM 1.0, when a Cluster Administrator uninstalls an operator – i.e. deletes the operator resource from the cluster – that action also deletes all the resources associated with the operator. The CRDs and the associated CRs on the cluster are removed because of the ownership relationship between them. This is potentially a problem in some cases, as for many different reasons a cluster admin may want the workloads that the operator created to still exist.

      To deal with this limitation, OLM 1.0 needs to provide a mechanism that allows an operator to be uninstalled without removing the workloads that the operator created. For the existing cluster-scoped operator API, that means that there should be a way for a cluster admin to remove the operator from the cluster and leave the CRDs and CRs around.

      Also, as OLM 1.0 is working on a multitenancy model and namespace-scoped operator installations will exist, OLM 1.0 also needs a mechanism to allow CRDs to remain even when no operators are watching those CRDs in any namespace. 

      Upstream engineering brief: https://docs.google.com/document/d/1_UHklcej8gaF_uQKQZtqKj6_HV1khYyCSsV9g2TzsSg/edit?usp=sharing

      Customer Considerations

      Provide any additional customer-specific considerations that must be made when designing and delivering the Feature.  Initial completion during Refinement status.

      <your text here>

      Documentation Considerations

      Provide information that needs to be considered and planned so that documentation will meet customer needs.  If the feature extends existing functionality, provide a link to its current documentation. Initial completion during Refinement status.

      <your text here>

      Interoperability Considerations

      Which other projects, including ROSA/OSD/ARO, and versions in our portfolio does this feature impact?  What interoperability test scenarios should be factored by the layered products?  Initial completion during Refinement status.

      <your text here>

            Unassigned Unassigned
            rhn-coreos-tunwu Tony Wu
            Matthew Werner Matthew Werner
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: