-
Story
-
Resolution: Done
-
Normal
-
None
-
None
-
3
-
False
-
-
False
-
-
-
AUTOSCALE - Sprint 272, AUTOSCALE - Sprint 273, AUTOSCALE - Sprint 274
As an OpenShift developer, I want the Custom Metrics Autoscaler (CMA) Operator installation, through OperatorHub or through CLI, to be turnkey and require little to no extra effort to get started.
As of now, when you install the CMA operator, you cannot immediately get started with creating regular KEDA scaled objects to begin scaling workloads. You first need to create a KedaController, which tells the CMA operator to create the required keda deployments (keda-admission, keda-operator, etc.) which are needed for the CMA to do its business logic. Instead, we would like a generic KedaController to be created for you, upon installation, without needing the creation extra step.
This will ticket will involve contributing this feature back to the upstream (keda-olm-operator) and then cherry picking back to our downstream CMA operator code base.
DoD:
- Upon installation thourgh CLI or OperatorHub, KedaController is automatically created by CMA operator with some default values
- User is still able to delete the KedaController to remove the keda deployments
- User is still able to change the KedaController fields to change CMA configurations
- Changes are both in upstream and downstream
If you would like to see inspiration, vertical pod autoscaler operator does a very similar workflow: https://github.com/openshift/vertical-pod-autoscaler-operator/tree/mainin particular, this code may be useful for understanding: https://github.com/openshift/vertical-pod-autoscaler-operator/blob/1d76c123e6858ef54af8162f090aabe59d8901a9/internal/controller/verticalpodautoscaler/verticalpodautoscaler_controller.go#L334
Resources that is very relevant to CMA codebase:
Side note:
Potentially instead of explicitly making the operator create the KedaController, we can instead use an operator CSV annotation to force the user to create the KedaController instead: https://docs.redhat.com/en/documentation/openshift_container_platform/4.16/html/operators/developing-operators#osdk-csv-annotations-other_osdk-generating-csvs
However, this won't work as well if the user isn't installing through the OpenShift web console.