Uploaded image for project: 'Red Hat Advanced Cluster Management'
  1. Red Hat Advanced Cluster Management
  2. ACM-1601

Determine pruneObjectBehavior behavior when objects no longer apply

XMLWordPrintable

    • Icon: Epic Epic
    • Resolution: Won't Do
    • Icon: Normal Normal
    • None
    • None
    • GRC
    • Handle pruneObjectBehavior edge cases
    • False
    • None
    • False
    • To Do
    • ACM-1380 - ACM Ability to delete resources created by ACM-Policy-Controller
    • ACM-1380ACM Ability to delete resources created by ACM-Policy-Controller

      Epic Goal

      Design and implement the behavior for the ConfigurationPolicy pruneObjectBehavior option when the namespaceSelector or objectDefinition is modified to apply to different objects.

      Should it only delete the objects that the policy handles at the time of deletion, which is the behavior in 2.6? Should it delete all objects the policy has ever handled at policy deletion? Should it delete the objects that no longer apply right after a change to the namespaceSelector or objectDefinition?

      The behavior cannot change with the current options, but adding additional options to cover this is okay, if we choose to change this at all.

      Why is this important?

      The current behavior is different than ArgoCD, which may be the assumption that customers have and desire. There is also benefit to providing a similar functionality to ArgoCD, where the objects that the policy no longer handles after a modification are deleted/pruned.

      Scenarios

      1. As an ACM policy maintainer, I set pruneObjectBehavior to DeleteAll or DeleteIfCreated to a policy that creates a ConfigMap. I then rename the ConfigMap in the policy and want the old ConfigMap to be automatically deleted.
      2. As an ACM policy maintainer, I set pruneObjectBehavior to DeleteAll or DeleteIfCreated to a policy that creates a ConfigMap in several namespaces using the namespaceSelector field. I then change the namespaceSelector in the policy and want the ConfigMaps in the old namespaces to be automatically deleted.

      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>

            rhn-support-cstark Christian Stark
            mprahl Matthew Prahl
            Gus Parvin Gus Parvin
            Sho Weimer Sho Weimer
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: