Skip to content

Commit 50ccb49

Browse files
committed
get typed pods directly with restclient
1 parent c100b12 commit 50ccb49

File tree

1 file changed

+11
-17
lines changed

1 file changed

+11
-17
lines changed

pkg/cmd/admin/node/listpods.go

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package node
22

33
import (
4-
"encoding/json"
54
"fmt"
65

76
"github.com/spf13/cobra"
@@ -15,6 +14,7 @@ import (
1514
kapiv1 "k8s.io/kubernetes/pkg/api/v1"
1615
kcmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
1716
kprinters "k8s.io/kubernetes/pkg/printers"
17+
"k8s.io/kubernetes/staging/src/k8s.io/client-go/kubernetes/scheme"
1818
)
1919

2020
type ListPodsOptions struct {
@@ -108,28 +108,22 @@ func (l *ListPodsOptions) handleRESTOutput(nodes []*kapi.Node, printer kprinters
108108
}
109109
fieldSelector := fields.Set{GetPodHostFieldLabel(node.TypeMeta.APIVersion): node.ObjectMeta.Name}.AsSelector()
110110

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)
112120
if err != nil {
113121
errList = append(errList, err)
114122
continue
115123
}
116124

117-
unifiedPodList.ListMeta.SelfLink = pods.ListMeta.SelfLink
118-
119125
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)
133127
}
134128
}
135129

0 commit comments

Comments
 (0)