-
Feature Request
-
Resolution: Unresolved
-
Major
-
None
-
None
-
None
-
None
-
Product / Portfolio Work
-
None
-
False
-
-
None
-
None
-
None
-
-
None
-
None
-
None
-
None
-
None
- Proposed title of this feature request:
{}Enable Selective Strategy Disabling in KubeDescheduler Operator Profiles
2. What is the nature and description of the request?
The customer is requesting the ability to customize individual descheduler strategies within a predefined profile when configuring the KubeDescheduler custom resource (CR) provided by the Red Hat Kube Descheduler Operator (version 5.0.2).
~~~
apiVersion: operator.openshift.io/v1
kind: KubeDescheduler
metadata:
name: cluster
namespace: openshift-kube-descheduler-operator
annotations:
argocd.argoproj.io/sync-wave: "3"
argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true
spec:
deschedulingIntervalSeconds: 60
logLevel: Normal
managementState: Managed
mode: Automatic
operatorLogLevel: Normal
profiles:
- "AffinityAndTaints"
- "TopologyAndDuplicates"
~~~
Specifically, the customer is using the TopologyAndDuplicates profile, which by default enables both:
~~~
RemoveDuplicates:
enabled: true
RemovePodsViolatingTopologySpreadConstraint:
enabled: true
~~~
However, the customer needs the ability to disable only the RemoveDuplicates strategy (i.e., RemoveDuplicates: false) while still keeping the rest of the profile active — particularly RemovePodsViolatingTopologySpreadConstraint.
Currently, the operator does not allow users to override or fine-tune individual strategies within a selected profile. As a result, there's no supported way to achieve this configuration through the CR.
3. Why does the customer need this? (List the business requirements here)
The customer relies on GitOps practices using ArgoCD, which watches the ConfigMap generated by the KubeDescheduler operator. Because the operator always generates the ConfigMap with RemoveDuplicates: true (as defined in the profile), any manual changes or workarounds are overwritten or flagged as drift by ArgoCD.This results in incorrect or undesired descheduler behavior in the production environment, potentially impacting workload placement and stability.To ensure proper functionality and compliance with their GitOps workflows, the customer requires the ability to:Disable specific descheduler strategies (in this case, RemoveDuplicates) without abandoning the rest of the predefined profile.
Ensure that the operator-generated ConfigMap reflects the intended configuration from the CR itself, eliminating the need for post-generation patches or manual intervention.Maintain compatibility with ArgoCD and avoid drift or reconciliation loops caused by mismatched ConfigMaps.This enhancement would provide greater flexibility and fine-grained control over descheduling behavior while supporting enterprise-grade GitOps automation.
4. List any affected packages or components.