diff --git a/pkg/apis/experimental/deep_copy_generated.go b/pkg/apis/experimental/deep_copy_generated.go index 3d7dd395998..9a339f0bd74 100644 --- a/pkg/apis/experimental/deep_copy_generated.go +++ b/pkg/apis/experimental/deep_copy_generated.go @@ -976,13 +976,8 @@ func deepCopy_experimental_HorizontalPodAutoscaler(in HorizontalPodAutoscaler, o if err := deepCopy_experimental_HorizontalPodAutoscalerSpec(in.Spec, &out.Spec, c); err != nil { return err } - if in.Status != nil { - out.Status = new(HorizontalPodAutoscalerStatus) - if err := deepCopy_experimental_HorizontalPodAutoscalerStatus(*in.Status, out.Status, c); err != nil { - return err - } - } else { - out.Status = nil + if err := deepCopy_experimental_HorizontalPodAutoscalerStatus(in.Status, &out.Status, c); err != nil { + return err } return nil } diff --git a/pkg/apis/experimental/types.go b/pkg/apis/experimental/types.go index f010ea3450c..5fc620f2fa3 100644 --- a/pkg/apis/experimental/types.go +++ b/pkg/apis/experimental/types.go @@ -130,7 +130,7 @@ type HorizontalPodAutoscaler struct { Spec HorizontalPodAutoscalerSpec `json:"spec,omitempty"` // Status represents the current information about the autoscaler. - Status *HorizontalPodAutoscalerStatus `json:"status,omitempty"` + Status HorizontalPodAutoscalerStatus `json:"status,omitempty"` } // HorizontalPodAutoscaler is a collection of pod autoscalers. diff --git a/pkg/apis/experimental/v1alpha1/conversion_generated.go b/pkg/apis/experimental/v1alpha1/conversion_generated.go index 41571931653..887c66f6239 100644 --- a/pkg/apis/experimental/v1alpha1/conversion_generated.go +++ b/pkg/apis/experimental/v1alpha1/conversion_generated.go @@ -2309,13 +2309,8 @@ func autoconvert_experimental_HorizontalPodAutoscaler_To_v1alpha1_HorizontalPodA if err := convert_experimental_HorizontalPodAutoscalerSpec_To_v1alpha1_HorizontalPodAutoscalerSpec(&in.Spec, &out.Spec, s); err != nil { return err } - if in.Status != nil { - out.Status = new(HorizontalPodAutoscalerStatus) - if err := convert_experimental_HorizontalPodAutoscalerStatus_To_v1alpha1_HorizontalPodAutoscalerStatus(in.Status, out.Status, s); err != nil { - return err - } - } else { - out.Status = nil + if err := convert_experimental_HorizontalPodAutoscalerStatus_To_v1alpha1_HorizontalPodAutoscalerStatus(&in.Status, &out.Status, s); err != nil { + return err } return nil } @@ -3115,13 +3110,8 @@ func autoconvert_v1alpha1_HorizontalPodAutoscaler_To_experimental_HorizontalPodA if err := convert_v1alpha1_HorizontalPodAutoscalerSpec_To_experimental_HorizontalPodAutoscalerSpec(&in.Spec, &out.Spec, s); err != nil { return err } - if in.Status != nil { - out.Status = new(experimental.HorizontalPodAutoscalerStatus) - if err := convert_v1alpha1_HorizontalPodAutoscalerStatus_To_experimental_HorizontalPodAutoscalerStatus(in.Status, out.Status, s); err != nil { - return err - } - } else { - out.Status = nil + if err := convert_v1alpha1_HorizontalPodAutoscalerStatus_To_experimental_HorizontalPodAutoscalerStatus(&in.Status, &out.Status, s); err != nil { + return err } return nil } diff --git a/pkg/apis/experimental/v1alpha1/deep_copy_generated.go b/pkg/apis/experimental/v1alpha1/deep_copy_generated.go index 8df29457d7d..f3fee0cbac5 100644 --- a/pkg/apis/experimental/v1alpha1/deep_copy_generated.go +++ b/pkg/apis/experimental/v1alpha1/deep_copy_generated.go @@ -988,13 +988,8 @@ func deepCopy_v1alpha1_HorizontalPodAutoscaler(in HorizontalPodAutoscaler, out * if err := deepCopy_v1alpha1_HorizontalPodAutoscalerSpec(in.Spec, &out.Spec, c); err != nil { return err } - if in.Status != nil { - out.Status = new(HorizontalPodAutoscalerStatus) - if err := deepCopy_v1alpha1_HorizontalPodAutoscalerStatus(*in.Status, out.Status, c); err != nil { - return err - } - } else { - out.Status = nil + if err := deepCopy_v1alpha1_HorizontalPodAutoscalerStatus(in.Status, &out.Status, c); err != nil { + return err } return nil } diff --git a/pkg/apis/experimental/v1alpha1/types.go b/pkg/apis/experimental/v1alpha1/types.go index 546e7d74868..05c53bf654c 100644 --- a/pkg/apis/experimental/v1alpha1/types.go +++ b/pkg/apis/experimental/v1alpha1/types.go @@ -120,7 +120,7 @@ type HorizontalPodAutoscaler struct { Spec HorizontalPodAutoscalerSpec `json:"spec,omitempty"` // Status represents the current information about the autoscaler. - Status *HorizontalPodAutoscalerStatus `json:"status,omitempty"` + Status HorizontalPodAutoscalerStatus `json:"status,omitempty"` } // HorizontalPodAutoscalerList is a list of HorizontalPodAutoscalers. diff --git a/pkg/controller/podautoscaler/horizontal.go b/pkg/controller/podautoscaler/horizontal.go index ff5e5268cb6..7d989fc25b1 100644 --- a/pkg/controller/podautoscaler/horizontal.go +++ b/pkg/controller/podautoscaler/horizontal.go @@ -109,7 +109,7 @@ func (a *HorizontalController) reconcileAutoscaler(hpa experimental.HorizontalPo // Going down only if the usageRatio dropped significantly below the target // and there was no rescaling in the last downscaleForbiddenWindow. if desiredReplicas < currentReplicas && usageRatio < (1-tolerance) && - (hpa.Status == nil || hpa.Status.LastScaleTimestamp == nil || + (hpa.Status.LastScaleTimestamp == nil || hpa.Status.LastScaleTimestamp.Add(downscaleForbiddenWindow).Before(now)) { rescale = true } @@ -117,7 +117,7 @@ func (a *HorizontalController) reconcileAutoscaler(hpa experimental.HorizontalPo // Going up only if the usage ratio increased significantly above the target // and there was no rescaling in the last upscaleForbiddenWindow. if desiredReplicas > currentReplicas && usageRatio > (1+tolerance) && - (hpa.Status == nil || hpa.Status.LastScaleTimestamp == nil || + (hpa.Status.LastScaleTimestamp == nil || hpa.Status.LastScaleTimestamp.Add(upscaleForbiddenWindow).Before(now)) { rescale = true } @@ -135,12 +135,11 @@ func (a *HorizontalController) reconcileAutoscaler(hpa experimental.HorizontalPo desiredReplicas = currentReplicas } - status := experimental.HorizontalPodAutoscalerStatus{ + hpa.Status = experimental.HorizontalPodAutoscalerStatus{ CurrentReplicas: currentReplicas, DesiredReplicas: desiredReplicas, CurrentConsumption: currentConsumption, } - hpa.Status = &status if rescale { now := unversioned.NewTime(now) hpa.Status.LastScaleTimestamp = &now diff --git a/pkg/kubectl/describe.go b/pkg/kubectl/describe.go index 4c5489024b3..3bfa9ab5ccb 100644 --- a/pkg/kubectl/describe.go +++ b/pkg/kubectl/describe.go @@ -1260,7 +1260,7 @@ func (d *HorizontalPodAutoscalerDescriber) Describe(namespace, name string) (str hpa.Spec.Target.Resource) fmt.Fprintf(out, "Current resource consumption:\t") - if hpa.Status != nil && hpa.Status.CurrentConsumption != nil { + if hpa.Status.CurrentConsumption != nil { fmt.Fprintf(out, "%s %s\n", hpa.Status.CurrentConsumption.Quantity.String(), hpa.Status.CurrentConsumption.Resource) diff --git a/pkg/kubectl/resource_printer.go b/pkg/kubectl/resource_printer.go index 0f64513376f..a06e6b488b8 100644 --- a/pkg/kubectl/resource_printer.go +++ b/pkg/kubectl/resource_printer.go @@ -1281,7 +1281,7 @@ func printHorizontalPodAutoscaler(hpa *experimental.HorizontalPodAutoscaler, w i target := fmt.Sprintf("%s %v", hpa.Spec.Target.Quantity.String(), hpa.Spec.Target.Resource) current := "" - if hpa.Status != nil && hpa.Status.CurrentConsumption != nil { + if hpa.Status.CurrentConsumption != nil { current = fmt.Sprintf("%s %v", hpa.Status.CurrentConsumption.Quantity.String(), hpa.Status.CurrentConsumption.Resource) } minPods := hpa.Spec.MinReplicas