@@ -232,6 +232,13 @@ func TestHPAStore(t *testing.T) {
232232 TargetValue : resourcePtr (resource .MustParse ("100" )),
233233 },
234234 },
235+ {
236+ Type : autoscaling .ExternalMetricSourceType ,
237+ External : & autoscaling.ExternalMetricSource {
238+ MetricName : "traefik_backend_errors_per_second" ,
239+ TargetValue : resourcePtr (resource .MustParse ("100" )),
240+ },
241+ },
235242 },
236243 ScaleTargetRef : autoscaling.CrossVersionObjectReference {
237244 APIVersion : "apps/v1" ,
@@ -274,6 +281,13 @@ func TestHPAStore(t *testing.T) {
274281 CurrentAverageValue : resourcePtr (resource .MustParse ("2900m" )),
275282 },
276283 },
284+ {
285+ Type : "External" ,
286+ External : & autoscaling.ExternalMetricStatus {
287+ MetricName : "traefik_backend_errors_per_second" ,
288+ CurrentValue : resource .MustParse ("0" ),
289+ },
290+ },
277291 },
278292 },
279293 },
@@ -284,6 +298,7 @@ func TestHPAStore(t *testing.T) {
284298 kube_hpa_spec_min_replicas{hpa="hpa2",namespace="ns1"} 2
285299 kube_hpa_spec_target_metric{hpa="hpa2",metric_name="cpu",metric_target_type="utilization",namespace="ns1"} 80
286300 kube_hpa_spec_target_metric{hpa="hpa2",metric_name="memory",metric_target_type="utilization",namespace="ns1"} 75
301+ kube_hpa_spec_target_metric{hpa="hpa2",metric_name="traefik_backend_errors_per_second",metric_target_type="value",namespace="ns1"} 100
287302 kube_hpa_spec_target_metric{hpa="hpa2",metric_name="traefik_backend_requests_per_second",metric_target_type="value",namespace="ns1"} 100
288303 kube_hpa_status_condition{condition="AbleToScale",hpa="hpa2",namespace="ns1",status="false"} 0
289304 kube_hpa_status_condition{condition="AbleToScale",hpa="hpa2",namespace="ns1",status="true"} 1
0 commit comments