1
1
package node
2
2
3
3
import (
4
- "encoding/json"
5
4
"fmt"
6
5
7
6
"github.com/spf13/cobra"
@@ -15,6 +14,7 @@ import (
15
14
kapiv1 "k8s.io/kubernetes/pkg/api/v1"
16
15
kcmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
17
16
kprinters "k8s.io/kubernetes/pkg/printers"
17
+ "k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/scheme"
18
18
)
19
19
20
20
type ListPodsOptions struct {
@@ -108,28 +108,22 @@ func (l *ListPodsOptions) handleRESTOutput(nodes []*kapi.Node, printer kprinters
108
108
}
109
109
fieldSelector := fields.Set {GetPodHostFieldLabel (node .TypeMeta .APIVersion ): node .ObjectMeta .Name }.AsSelector ()
110
110
111
- pods , err := l .Options .KubeClient .Core ().Pods (metav1 .NamespaceAll ).List (metav1.ListOptions {LabelSelector : labelSelector .String (), FieldSelector : fieldSelector .String ()})
111
+ pods := & kapiv1.PodList {}
112
+
113
+ restClient := l .Options .KubeClient .Core ().RESTClient ()
114
+ err = restClient .Get ().
115
+ Namespace (metav1 .NamespaceAll ).
116
+ Resource ("pods" ).
117
+ VersionedParams (& metav1.ListOptions {LabelSelector : labelSelector .String (), FieldSelector : fieldSelector .String ()}, scheme .ParameterCodec ).
118
+ Do ().
119
+ Into (pods )
112
120
if err != nil {
113
121
errList = append (errList , err )
114
122
continue
115
123
}
116
124
117
- unifiedPodList .ListMeta .SelfLink = pods .ListMeta .SelfLink
118
-
119
125
for _ , pod := range pods .Items {
120
- typedPod := & kapiv1.Pod {}
121
- b , err := json .Marshal (pod )
122
- if err != nil {
123
- errList = append (errList , err )
124
- continue
125
- }
126
- err = json .Unmarshal (b , typedPod )
127
- if err != nil {
128
- errList = append (errList , err )
129
- continue
130
- }
131
-
132
- unifiedPodList .Items = append (unifiedPodList .Items , * typedPod )
126
+ unifiedPodList .Items = append (unifiedPodList .Items , pod )
133
127
}
134
128
}
135
129
0 commit comments