// TODO: Move this upstream func printAutoscalingInfo(res unversioned.GroupResource, namespace, name string, kclient kclient.Interface, w *tabwriter.Writer) { hpaList, err := kclient.Autoscaling().HorizontalPodAutoscalers(namespace).List(kapi.ListOptions{LabelSelector: labels.Everything()}) if err != nil { return } scaledBy := []autoscaling.HorizontalPodAutoscaler{} for _, hpa := range hpaList.Items { if hpa.Spec.ScaleTargetRef.Name == name && hpa.Spec.ScaleTargetRef.Kind == res.String() { scaledBy = append(scaledBy, hpa) } } for _, hpa := range scaledBy { cpuUtil := "" if hpa.Spec.TargetCPUUtilizationPercentage != nil { cpuUtil = fmt.Sprintf(", triggered at %d%% CPU usage", *hpa.Spec.TargetCPUUtilizationPercentage) } fmt.Fprintf(w, "Autoscaling:\tbetween %d and %d replicas%s\n", *hpa.Spec.MinReplicas, hpa.Spec.MaxReplicas, cpuUtil) // TODO: Print a warning in case of multiple hpas. // Related oc status PR: https://github.com/openshift/origin/pull/7799 break } }