Skip to content

Commit d3c3907

Browse files
authored
Merge pull request kubernetes#87498 from serathius/drop-heapster
Remove heapster support for kubectl
2 parents bf4cc5b + 6d9fbd2 commit d3c3907

File tree

8 files changed

+40
-1206
lines changed

8 files changed

+40
-1206
lines changed

staging/src/k8s.io/kubectl/pkg/cmd/top/BUILD

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,7 @@ go_test(
4343
"//staging/src/k8s.io/apimachinery/pkg/api/resource:go_default_library",
4444
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
4545
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
46-
"//staging/src/k8s.io/apimachinery/pkg/version:go_default_library",
4746
"//staging/src/k8s.io/cli-runtime/pkg/genericclioptions:go_default_library",
48-
"//staging/src/k8s.io/client-go/rest:go_default_library",
4947
"//staging/src/k8s.io/client-go/rest/fake:go_default_library",
5048
"//staging/src/k8s.io/client-go/testing:go_default_library",
5149
"//staging/src/k8s.io/kubectl/pkg/cmd/testing:go_default_library",
@@ -54,7 +52,6 @@ go_test(
5452
"//staging/src/k8s.io/metrics/pkg/apis/metrics/v1alpha1:go_default_library",
5553
"//staging/src/k8s.io/metrics/pkg/apis/metrics/v1beta1:go_default_library",
5654
"//staging/src/k8s.io/metrics/pkg/client/clientset/versioned/fake:go_default_library",
57-
"//vendor/github.com/googleapis/gnostic/OpenAPIv2:go_default_library",
5855
],
5956
)
6057

staging/src/k8s.io/kubectl/pkg/cmd/top/top_node.go

Lines changed: 17 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -44,40 +44,22 @@ type TopNodeOptions struct {
4444
SortBy string
4545
NoHeaders bool
4646
NodeClient corev1client.CoreV1Interface
47-
HeapsterOptions HeapsterTopOptions
48-
Client *metricsutil.HeapsterMetricsClient
4947
Printer *metricsutil.TopCmdPrinter
5048
DiscoveryClient discovery.DiscoveryInterface
5149
MetricsClient metricsclientset.Interface
5250

5351
genericclioptions.IOStreams
5452
}
5553

56-
type HeapsterTopOptions struct {
57-
Namespace string
58-
Service string
59-
Scheme string
60-
Port string
61-
}
62-
63-
func (o *HeapsterTopOptions) Bind(flags *pflag.FlagSet) {
64-
if len(o.Namespace) == 0 {
65-
o.Namespace = metricsutil.DefaultHeapsterNamespace
66-
}
67-
if len(o.Service) == 0 {
68-
o.Service = metricsutil.DefaultHeapsterService
69-
}
70-
if len(o.Scheme) == 0 {
71-
o.Scheme = metricsutil.DefaultHeapsterScheme
72-
}
73-
if len(o.Port) == 0 {
74-
o.Port = metricsutil.DefaultHeapsterPort
75-
}
76-
77-
flags.StringVar(&o.Namespace, "heapster-namespace", o.Namespace, "Namespace Heapster service is located in")
78-
flags.StringVar(&o.Service, "heapster-service", o.Service, "Name of Heapster service")
79-
flags.StringVar(&o.Scheme, "heapster-scheme", o.Scheme, "Scheme (http or https) to connect to Heapster as")
80-
flags.StringVar(&o.Port, "heapster-port", o.Port, "Port name in service to use")
54+
func heapsterTopOptions(flags *pflag.FlagSet) {
55+
flags.String("heapster-namespace", "kube-system", "Namespace Heapster service is located in")
56+
flags.MarkDeprecated("heapster-namespace", "This flag is currently no-op and will be deleted.")
57+
flags.String("heapster-service", "heapster", "Name of Heapster service")
58+
flags.MarkDeprecated("heapster-service", "This flag is currently no-op and will be deleted.")
59+
flags.String("heapster-scheme", "http", "Scheme (http or https) to connect to Heapster as")
60+
flags.MarkDeprecated("heapster-scheme", "This flag is currently no-op and will be deleted.")
61+
flags.String("heapster-port", "", "Port name in service to use")
62+
flags.MarkDeprecated("heapster-port", "This flag is currently no-op and will be deleted.")
8163
}
8264

8365
var (
@@ -117,8 +99,8 @@ func NewCmdTopNode(f cmdutil.Factory, o *TopNodeOptions, streams genericclioptio
11799
cmd.Flags().StringVarP(&o.Selector, "selector", "l", o.Selector, "Selector (label query) to filter on, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2)")
118100
cmd.Flags().StringVar(&o.SortBy, "sort-by", o.Selector, "If non-empty, sort nodes list using specified field. The field can be either 'cpu' or 'memory'.")
119101
cmd.Flags().BoolVar(&o.NoHeaders, "no-headers", o.NoHeaders, "If present, print output without headers")
102+
heapsterTopOptions(cmd.Flags())
120103

121-
o.HeapsterOptions.Bind(cmd.Flags())
122104
return cmd
123105
}
124106

@@ -146,7 +128,6 @@ func (o *TopNodeOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args []
146128
}
147129

148130
o.NodeClient = clientset.CoreV1()
149-
o.Client = metricsutil.NewHeapsterMetricsClient(clientset.CoreV1(), o.HeapsterOptions.Namespace, o.HeapsterOptions.Scheme, o.HeapsterOptions.Service, o.HeapsterOptions.Port)
150131

151132
o.Printer = metricsutil.NewTopCmdPrinter(o.Out)
152133
return nil
@@ -181,17 +162,13 @@ func (o TopNodeOptions) RunTopNode() error {
181162

182163
metricsAPIAvailable := SupportedMetricsAPIVersionAvailable(apiGroups)
183164

184-
var metrics *metricsapi.NodeMetricsList
185-
if metricsAPIAvailable {
186-
metrics, err = getNodeMetricsFromMetricsAPI(o.MetricsClient, o.ResourceName, selector)
187-
if err != nil {
188-
return err
189-
}
190-
} else {
191-
metrics, err = o.Client.GetNodeMetrics(o.ResourceName, selector.String())
192-
if err != nil {
193-
return err
194-
}
165+
if !metricsAPIAvailable {
166+
return errors.New("Metrics API not available")
167+
}
168+
169+
metrics, err := getNodeMetricsFromMetricsAPI(o.MetricsClient, o.ResourceName, selector)
170+
if err != nil {
171+
return err
195172
}
196173

197174
if len(metrics.Items) == 0 {

0 commit comments

Comments
 (0)