From b69d5167634f9f0ab461669854bc19bd89039399 Mon Sep 17 00:00:00 2001 From: Wojciech Tyczynski Date: Mon, 5 Sep 2016 15:49:37 +0200 Subject: [PATCH] NodeController listing nodes from apiserver cache --- pkg/controller/node/nodecontroller.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkg/controller/node/nodecontroller.go b/pkg/controller/node/nodecontroller.go index 60a5d487bbd..a54a8c6a84d 100644 --- a/pkg/controller/node/nodecontroller.go +++ b/pkg/controller/node/nodecontroller.go @@ -486,7 +486,10 @@ func (nc *NodeController) Run() { // post "NodeReady==ConditionUnknown". It also evicts all pods if node is not ready or // not reachable for a long period of time. func (nc *NodeController) monitorNodeStatus() error { - nodes, err := nc.kubeClient.Core().Nodes().List(api.ListOptions{}) + // It is enough to list Nodes from apiserver, since we can tolerate some small + // delays comparing to state from etcd and there is eventual consistency anyway. + // TODO: We should list them from local cache: nodeStore. + nodes, err := nc.kubeClient.Core().Nodes().List(api.ListOptions{ResourceVersion: "0"}) if err != nil { return err }