Uploaded image for project: 'OpenShift Over the Air'
  1. OpenShift Over the Air
  2. OTA-1039

Enhancement proposal for adding a capability annotation without implicit-enablement

XMLWordPrintable

    • Icon: Story Story
    • Resolution: Unresolved
    • Icon: Normal Normal
    • None
    • None
    • None
    • None

      Both OCPBUGS-20164 (for the builds.config.openshift.io CRD) and OCPBUGS-20331 (for some Console dashboards and associated recording rules) had resources which missed getting annotated for a new capability, but which we subsequently wanted to include in that capability, because they were not useful in clusters where the capability was disabled.  Today (as discussed in those bugs) adding a capability annotation to the resource would result in the cluster-version operator implicitly enabling the capability.  And because capabilites cannot be uninstalled, the only recovery mechanism was creating a new cluster and migrating workload to that new cluster.

      OCPBUGS-20331 is able to dance around this issue by deleting the existing resources (with deletion manifests) and creating replacement resources with a new name (so the cluster-version operator doesn't associate them with the existing resources) and the capability annotation.  But some resources, like OCPBUGS-20164's CRD, cannot be easily renamed.

      This ticket is about drafting an enhancement proposal, either new, or as an update to the existing capabilities enhancement, to provide a mechanism for manifest authors to say "I realize I'm shifting this resource into a capability, and I have a plan that deletes it from clusters with the capability disabled, and I assert that no customers whose clusters disable the capability will miss the resource", so the CVO will know it should not taint the capability-disabled clusters into that capability on update.

      Definition of done, either:

      • Land an enhancement around this issue. Create follow-up tickets in this epic for any API and CVO changes that the enhancement calls for. Or
      • Decide this is too complicated, and that we are willing to punt until we actually need this kind of functionality before building it.

            Unassigned Unassigned
            trking W. Trevor King
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: