@@ -44,40 +44,22 @@ type TopNodeOptions struct {
44
44
SortBy string
45
45
NoHeaders bool
46
46
NodeClient corev1client.CoreV1Interface
47
- HeapsterOptions HeapsterTopOptions
48
- Client * metricsutil.HeapsterMetricsClient
49
47
Printer * metricsutil.TopCmdPrinter
50
48
DiscoveryClient discovery.DiscoveryInterface
51
49
MetricsClient metricsclientset.Interface
52
50
53
51
genericclioptions.IOStreams
54
52
}
55
53
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." )
81
63
}
82
64
83
65
var (
@@ -117,8 +99,8 @@ func NewCmdTopNode(f cmdutil.Factory, o *TopNodeOptions, streams genericclioptio
117
99
cmd .Flags ().StringVarP (& o .Selector , "selector" , "l" , o .Selector , "Selector (label query) to filter on, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2)" )
118
100
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'." )
119
101
cmd .Flags ().BoolVar (& o .NoHeaders , "no-headers" , o .NoHeaders , "If present, print output without headers" )
102
+ heapsterTopOptions (cmd .Flags ())
120
103
121
- o .HeapsterOptions .Bind (cmd .Flags ())
122
104
return cmd
123
105
}
124
106
@@ -146,7 +128,6 @@ func (o *TopNodeOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args []
146
128
}
147
129
148
130
o .NodeClient = clientset .CoreV1 ()
149
- o .Client = metricsutil .NewHeapsterMetricsClient (clientset .CoreV1 (), o .HeapsterOptions .Namespace , o .HeapsterOptions .Scheme , o .HeapsterOptions .Service , o .HeapsterOptions .Port )
150
131
151
132
o .Printer = metricsutil .NewTopCmdPrinter (o .Out )
152
133
return nil
@@ -181,17 +162,13 @@ func (o TopNodeOptions) RunTopNode() error {
181
162
182
163
metricsAPIAvailable := SupportedMetricsAPIVersionAvailable (apiGroups )
183
164
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
195
172
}
196
173
197
174
if len (metrics .Items ) == 0 {
0 commit comments