From 1dd82ce2a4eef5eaf43c6f35e72dc469e6807529 Mon Sep 17 00:00:00 2001 From: carlory Date: Fri, 10 Oct 2025 10:55:37 +0800 Subject: [PATCH] Add port name and custom metric name to autoscaling utils Signed-off-by: carlory --- .../autoscaling/autoscaling_utils.go | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/test/e2e/framework/autoscaling/autoscaling_utils.go b/test/e2e/framework/autoscaling/autoscaling_utils.go index 23365fa4ae8..e3f339d0055 100644 --- a/test/e2e/framework/autoscaling/autoscaling_utils.go +++ b/test/e2e/framework/autoscaling/autoscaling_utils.go @@ -60,6 +60,7 @@ const ( dynamicRequestSizeInMegabytes = 100 dynamicRequestSizeCustomMetric = 10 port = 80 + portName = "http" targetPort = 8080 sidecarTargetPort = 8081 timeoutRC = 120 * time.Second @@ -113,6 +114,7 @@ type ResourceConsumer struct { dynamicClient dynamic.Interface resourceClient dynamic.ResourceInterface scaleClient scaleclient.ScalesGetter + customMetricName string cpu chan int mem chan int customMetric chan int @@ -131,7 +133,7 @@ type ResourceConsumer struct { // NewDynamicResourceConsumer is a wrapper to create a new dynamic ResourceConsumer func NewDynamicResourceConsumer(ctx context.Context, name, nsName string, kind schema.GroupVersionKind, replicas, initCPUTotal, initMemoryTotal, initCustomMetric int, cpuLimit, memLimit int64, clientset clientset.Interface, scaleClient scaleclient.ScalesGetter, enableSidecar SidecarStatusType, sidecarType SidecarWorkloadType, podResources *v1.ResourceRequirements) *ResourceConsumer { - return newResourceConsumer(ctx, name, nsName, kind, replicas, initCPUTotal, initMemoryTotal, initCustomMetric, dynamicConsumptionTimeInSeconds, + return NewResourceConsumer(ctx, name, nsName, kind, replicas, customMetricName, initCPUTotal, initMemoryTotal, initCustomMetric, dynamicConsumptionTimeInSeconds, dynamicRequestSizeInMillicores, dynamicRequestSizeInMegabytes, dynamicRequestSizeCustomMetric, cpuLimit, memLimit, clientset, scaleClient, nil, nil, enableSidecar, sidecarType, podResources) } @@ -169,7 +171,7 @@ initMemoryTotal argument is in megabytes memLimit argument is in megabytes, memLimit is a maximum amount of memory that can be consumed by a single pod cpuLimit argument is in millicores, cpuLimit is a maximum amount of cpu that can be consumed by a single pod */ -func newResourceConsumer(ctx context.Context, name, nsName string, kind schema.GroupVersionKind, replicas, initCPUTotal, initMemoryTotal, initCustomMetric, consumptionTimeInSeconds, requestSizeInMillicores, +func NewResourceConsumer(ctx context.Context, name, nsName string, kind schema.GroupVersionKind, replicas int, customMetricName string, initCPUTotal, initMemoryTotal, initCustomMetric, consumptionTimeInSeconds, requestSizeInMillicores, requestSizeInMegabytes int, requestSizeCustomMetric int, cpuLimit, memLimit int64, clientset clientset.Interface, scaleClient scaleclient.ScalesGetter, podAnnotations, serviceAnnotations map[string]string, sidecarStatus SidecarStatusType, sidecarType SidecarWorkloadType, podResources *v1.ResourceRequirements) *ResourceConsumer { if podAnnotations == nil { podAnnotations = make(map[string]string) @@ -211,6 +213,7 @@ func newResourceConsumer(ctx context.Context, name, nsName string, kind schema.G scaleClient: scaleClient, resourceClient: resourceClient, dynamicClient: dynamicClient, + customMetricName: customMetricName, cpu: make(chan int), mem: make(chan int), customMetric: make(chan int), @@ -323,13 +326,13 @@ func (rc *ResourceConsumer) makeConsumeCustomMetric(ctx context.Context) { select { case delta = <-rc.customMetric: if delta != 0 { - framework.Logf("RC %s: setting bump of metric %s to %d in total", rc.name, customMetricName, delta) + framework.Logf("RC %s: setting bump of metric %s to %d in total", rc.name, rc.customMetricName, delta) } else { - framework.Logf("RC %s: disabling consumption of custom metric %s", rc.name, customMetricName) + framework.Logf("RC %s: disabling consumption of custom metric %s", rc.name, rc.customMetricName) } case <-tick: if delta != 0 { - framework.Logf("RC %s: sending request to consume %d of custom metric %s", rc.name, delta, customMetricName) + framework.Logf("RC %s: sending request to consume %d of custom metric %s", rc.name, delta, rc.customMetricName) rc.sendConsumeCustomMetric(ctx, delta) } tick = time.After(rc.sleepTime) @@ -350,7 +353,7 @@ func (rc *ResourceConsumer) sendConsumeCPURequest(ctx context.Context, millicore return err } req := proxyRequest.Namespace(rc.nsName). - Name(rc.controllerName). + Name(fmt.Sprintf("%s:%s", rc.controllerName, portName)). Suffix("ConsumeCPU"). Param("millicores", strconv.Itoa(millicores)). Param("durationSec", strconv.Itoa(rc.consumptionTimeInSeconds)). @@ -381,7 +384,7 @@ func (rc *ResourceConsumer) sendConsumeMemRequest(ctx context.Context, megabytes return err } req := proxyRequest.Namespace(rc.nsName). - Name(rc.controllerName). + Name(fmt.Sprintf("%s:%s", rc.controllerName, portName)). Suffix("ConsumeMem"). Param("megabytes", strconv.Itoa(megabytes)). Param("durationSec", strconv.Itoa(rc.consumptionTimeInSeconds)). @@ -412,9 +415,9 @@ func (rc *ResourceConsumer) sendConsumeCustomMetric(ctx context.Context, delta i return err } req := proxyRequest.Namespace(rc.nsName). - Name(rc.controllerName). + Name(fmt.Sprintf("%s:%s", rc.controllerName, portName)). Suffix("BumpMetric"). - Param("metric", customMetricName). + Param("metric", rc.customMetricName). Param("delta", strconv.Itoa(delta)). Param("durationSec", strconv.Itoa(rc.consumptionTimeInSeconds)). Param("requestSizeMetrics", strconv.Itoa(rc.requestSizeCustomMetric)) @@ -571,9 +574,11 @@ func createService(ctx context.Context, c clientset.Interface, name, ns string, ObjectMeta: metav1.ObjectMeta{ Name: name, Annotations: annotations, + Labels: map[string]string{"name": name}, }, Spec: v1.ServiceSpec{ Ports: []v1.ServicePort{{ + Name: portName, Port: port, TargetPort: intstr.FromInt32(int32(targetPort)), }},