Proposal
KEDA's ScaledObject currently reports Ready=True even when its managed HPA cannot fetch metrics (HPA shows <unknown> targets with ScalingActive=False).
Users see a healthy-looking ScaledObject while scaling is silently broken, the only way to discover the problem is to manually inspect the HPA. Examples of this might be broken metrics adapter, broken APIService.apiregistration, or invalid certs for the gRPC connection between operator and metrics adapter.
This has been reported a few times in the past but imho never properly addressed:
In the past, there were issues with too frequent reconciles due to HPA churn
But adding the HPA status aggregation to SO through the scaleHandler scaling loop shouldn't reintroduce any negative performance issues of HPA churn because it won't be based on informer events.
Use-Case
Better UX when SO is not scaling but it's not keda-operator's fault (or is and it just doesn't know, e.g. fails to refresh the certs for metric adapter gRPC).
Is this a feature you are interested in implementing yourself?
Yes
Anything else?
this will benefit from #7579 refactored status updates, ensuring that HPA status aggregation doesn't add unnecessary kube-apiserver load.
Proposal
KEDA's ScaledObject currently reports
Ready=Trueeven when its managed HPA cannot fetch metrics (HPA shows<unknown>targets withScalingActive=False).Users see a healthy-looking ScaledObject while scaling is silently broken, the only way to discover the problem is to manually inspect the HPA. Examples of this might be broken metrics adapter, broken APIService.apiregistration, or invalid certs for the gRPC connection between operator and metrics adapter.
This has been reported a few times in the past but imho never properly addressed:
In the past, there were issues with too frequent reconciles due to HPA churn
But adding the HPA status aggregation to SO through the
scaleHandlerscaling loop shouldn't reintroduce any negative performance issues of HPA churn because it won't be based on informer events.Use-Case
Better UX when SO is not scaling but it's not keda-operator's fault (or is and it just doesn't know, e.g. fails to refresh the certs for metric adapter gRPC).
Is this a feature you are interested in implementing yourself?
Yes
Anything else?
this will benefit from #7579 refactored status updates, ensuring that HPA status aggregation doesn't add unnecessary kube-apiserver load.