From 4b5f8515200730d23f899b8ede5fb92c3b944359 Mon Sep 17 00:00:00 2001 From: Ravi Gadde Date: Wed, 22 Apr 2015 08:55:10 -0700 Subject: [PATCH] Node controller change to use field selector --- pkg/cloudprovider/nodecontroller/nodecontroller.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkg/cloudprovider/nodecontroller/nodecontroller.go b/pkg/cloudprovider/nodecontroller/nodecontroller.go index 664afaddcb..5222027a58 100644 --- a/pkg/cloudprovider/nodecontroller/nodecontroller.go +++ b/pkg/cloudprovider/nodecontroller/nodecontroller.go @@ -651,12 +651,13 @@ func (nc *NodeController) getCloudNodesWithSpec() (*api.NodeList, error) { // deletePods will delete all pods from master running on given node. func (nc *NodeController) deletePods(nodeID string) error { glog.V(2).Infof("Delete all pods from %v", nodeID) - // TODO: We don't yet have field selectors from client, see issue #1362. - pods, err := nc.kubeClient.Pods(api.NamespaceAll).List(labels.Everything(), fields.Everything()) + pods, err := nc.kubeClient.Pods(api.NamespaceAll).List(labels.Everything(), + fields.OneTermEqualSelector(client.PodHost, nodeID)) if err != nil { return err } for _, pod := range pods.Items { + // Defensive check, also needed for tests. if pod.Spec.Host != nodeID { continue }