-
Story
-
Resolution: Done
-
Major
-
None
-
None
-
Upstream
-
5
-
False
-
None
-
False
-
OCPSTRAT-46 - Strategic Upstream Work - OCP Control Plane and Node Lifecycle Group
-
-
-
Workloads Sprint 257, Workloads Sprint 258
As part of removing v1alpha1 from the descheduler code base (https://github.com/kubernetes-sigs/descheduler/issues/1375) it's time to upgrade the current descheduling policy from v1alpha1 to v1alpha2. Example of v1alpha2 policy is at https://github.com/kubernetes-sigs/descheduler?tab=readme-ov-file#example-policy.
The descheduler operator is an operator responsible for rendering descheduler operand and associated manifests. E.g. a descheduler deployment, cluster role, configmap with the descheduler policy. The code responsible for rendering the manifests is located under target config reconciler. The reconciler reads the kubedescheduler configuration and renders the corresponding manifests.
The operator is built on top of the library-go controllers. To complete this task knowledge of the library-go code is not required. A good starting point for any refactoring and testing are the unit tests under target_config_reconciler_test.go.
DoD
- update code under https://github.com/openshift/cluster-kube-descheduler-operator/blob/0e4156d5c2a108ae8c5edf3aeaca739fed035384/pkg/operator/target_config_reconciler.go#L393-L532 to generate v1alpha2 DeschedulerPolicy
- [ ] unit tests for v1alpha2 DeschedulerPolicy