e2e: deflake a HPA CPU test by stabilizing cpu consumption

This test requires consistent CPU consumption for 3 minutes
to pass. Consumption on a single Pod is more consistent than
split across multiple Pods: no temporary usage drops in aggregate.
This commit is contained in:
Piotr Betkier 2023-06-10 10:42:56 +02:00
parent 11067ceb32
commit 587f992a7b

View File

@ -398,7 +398,7 @@ var _ = SIGDescribe("[Feature:HPA] [Serial] [Slow] Horizontal pod autoscaling (n
ginkgo.It("should keep recommendation within the range over two stabilization windows", func(ctx context.Context) { ginkgo.It("should keep recommendation within the range over two stabilization windows", func(ctx context.Context) {
ginkgo.By("setting up resource consumer and HPA") ginkgo.By("setting up resource consumer and HPA")
initPods := 2 initPods := 1
initCPUUsageTotal := usageForReplicas(initPods) initCPUUsageTotal := usageForReplicas(initPods)
upScaleStabilization := 3 * time.Minute upScaleStabilization := 3 * time.Minute
downScaleStabilization := 3 * time.Minute downScaleStabilization := 3 * time.Minute
@ -411,7 +411,7 @@ var _ = SIGDescribe("[Feature:HPA] [Serial] [Slow] Horizontal pod autoscaling (n
ginkgo.DeferCleanup(rc.CleanUp) ginkgo.DeferCleanup(rc.CleanUp)
hpa := e2eautoscaling.CreateCPUHorizontalPodAutoscalerWithBehavior(ctx, hpa := e2eautoscaling.CreateCPUHorizontalPodAutoscalerWithBehavior(ctx,
rc, int32(targetCPUUtilizationPercent), 2, 5, rc, int32(targetCPUUtilizationPercent), 1, 5,
e2eautoscaling.HPABehaviorWithStabilizationWindows(upScaleStabilization, downScaleStabilization), e2eautoscaling.HPABehaviorWithStabilizationWindows(upScaleStabilization, downScaleStabilization),
) )
ginkgo.DeferCleanup(e2eautoscaling.DeleteHPAWithBehavior, rc, hpa.Name) ginkgo.DeferCleanup(e2eautoscaling.DeleteHPAWithBehavior, rc, hpa.Name)
@ -421,7 +421,7 @@ var _ = SIGDescribe("[Feature:HPA] [Serial] [Slow] Horizontal pod autoscaling (n
waitDeadline := upScaleStabilization waitDeadline := upScaleStabilization
ginkgo.By("verifying number of replicas stay in desired range within stabilisation window") ginkgo.By("verifying number of replicas stay in desired range within stabilisation window")
rc.EnsureDesiredReplicasInRange(ctx, 2, 2, waitDeadline, hpa.Name) rc.EnsureDesiredReplicasInRange(ctx, 1, 1, waitDeadline, hpa.Name)
ginkgo.By("waiting for replicas to scale up after stabilisation window passed") ginkgo.By("waiting for replicas to scale up after stabilisation window passed")
waitStart := time.Now() waitStart := time.Now()