package fuzzer
import "k8s.io/kubernetes/pkg/apis/autoscaling/fuzzer"
Index ¶
Variables ¶
var Funcs = func(codecs runtimeserializer.CodecFactory) []interface{} { return []interface{}{ func(s *autoscaling.ScaleStatus, c randfill.Continue) { c.FillNoCustom(s) metaSelector := &metav1.LabelSelector{} c.Fill(metaSelector) labelSelector, _ := metav1.LabelSelectorAsSelector(metaSelector) s.Selector = labelSelector.String() }, func(s *autoscaling.HorizontalPodAutoscalerSpec, c randfill.Continue) { c.FillNoCustom(s) s.MinReplicas = pointer.Int32(c.Rand.Int31()) randomQuantity := func() resource.Quantity { var q resource.Quantity c.Fill(&q) _ = q.String() return q } var podMetricID autoscaling.MetricIdentifier var objMetricID autoscaling.MetricIdentifier c.Fill(&podMetricID) c.Fill(&objMetricID) targetUtilization := int32(c.Uint64()) averageValue := randomQuantity() s.Metrics = []autoscaling.MetricSpec{ { Type: autoscaling.PodsMetricSourceType, Pods: &autoscaling.PodsMetricSource{ Metric: podMetricID, Target: autoscaling.MetricTarget{ Type: autoscaling.AverageValueMetricType, AverageValue: &averageValue, }, }, }, { Type: autoscaling.ObjectMetricSourceType, Object: &autoscaling.ObjectMetricSource{ Metric: objMetricID, Target: autoscaling.MetricTarget{ Type: autoscaling.ValueMetricType, Value: &averageValue, }, }, }, { Type: autoscaling.ResourceMetricSourceType, Resource: &autoscaling.ResourceMetricSource{ Name: api.ResourceCPU, Target: autoscaling.MetricTarget{ Type: autoscaling.UtilizationMetricType, AverageUtilization: &targetUtilization, }, }, }, } stabilizationWindow := int32(c.Uint64()) maxPolicy := autoscaling.MaxPolicySelect minPolicy := autoscaling.MinPolicySelect s.Behavior = &autoscaling.HorizontalPodAutoscalerBehavior{ ScaleUp: &autoscaling.HPAScalingRules{ StabilizationWindowSeconds: &stabilizationWindow, SelectPolicy: &maxPolicy, Policies: []autoscaling.HPAScalingPolicy{ { Type: autoscaling.PodsScalingPolicy, Value: int32(c.Uint64()), PeriodSeconds: int32(c.Uint64()), }, { Type: autoscaling.PercentScalingPolicy, Value: int32(c.Uint64()), PeriodSeconds: int32(c.Uint64()), }, }, }, ScaleDown: &autoscaling.HPAScalingRules{ StabilizationWindowSeconds: &stabilizationWindow, SelectPolicy: &minPolicy, Policies: []autoscaling.HPAScalingPolicy{ { Type: autoscaling.PodsScalingPolicy, Value: int32(c.Uint64()), PeriodSeconds: int32(c.Uint64()), }, { Type: autoscaling.PercentScalingPolicy, Value: int32(c.Uint64()), PeriodSeconds: int32(c.Uint64()), }, }, }, } }, func(s *autoscaling.HorizontalPodAutoscalerStatus, c randfill.Continue) { c.FillNoCustom(s) randomQuantity := func() resource.Quantity { var q resource.Quantity c.Fill(&q) _ = q.String() return q } averageValue := randomQuantity() currentUtilization := int32(c.Uint64()) s.CurrentMetrics = []autoscaling.MetricStatus{ { Type: autoscaling.PodsMetricSourceType, Pods: &autoscaling.PodsMetricStatus{ Metric: autoscaling.MetricIdentifier{ Name: c.String(0), }, Current: autoscaling.MetricValueStatus{ AverageValue: &averageValue, }, }, }, { Type: autoscaling.ResourceMetricSourceType, Resource: &autoscaling.ResourceMetricStatus{ Name: api.ResourceCPU, Current: autoscaling.MetricValueStatus{ AverageUtilization: ¤tUtilization, AverageValue: &averageValue, }, }, }, } }, } }
Funcs returns the fuzzer functions for the autoscaling api group.
Source Files ¶
fuzzer.go
- Version
- v1.33.0 (latest)
- Published
- Apr 23, 2025
- Platform
- linux/amd64
- Imports
- 7 packages
- Last checked
- 3 hours ago –
Tools for package owners.