From a40b15d8bdf5bfeec47a2ac2c5eb528ae54d700d Mon Sep 17 00:00:00 2001 From: Seth Jennings Date: Thu, 1 Dec 2016 13:12:32 -0600 Subject: [PATCH] error in setNodeStatus func should not abort node status update --- pkg/kubelet/kubelet_node_status.go | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/pkg/kubelet/kubelet_node_status.go b/pkg/kubelet/kubelet_node_status.go index 91a8e908aea..2407dafca80 100644 --- a/pkg/kubelet/kubelet_node_status.go +++ b/pkg/kubelet/kubelet_node_status.go @@ -299,9 +299,7 @@ func (kl *Kubelet) initialNode() (*v1.Node, error) { } } } - if err := kl.setNodeStatus(node); err != nil { - return nil, err - } + kl.setNodeStatus(node) return node, nil } @@ -375,9 +373,7 @@ func (kl *Kubelet) tryUpdateNodeStatus(tryNumber int) error { kl.updatePodCIDR(node.Spec.PodCIDR) - if err := kl.setNodeStatus(node); err != nil { - return err - } + kl.setNodeStatus(node) // Patch the current status on the API server updatedNode, err := nodeutil.PatchNodeStatus(kl.kubeClient, types.NodeName(kl.nodeName), originalNode, node) if err != nil { @@ -902,13 +898,12 @@ func (kl *Kubelet) setNodeVolumesInUseStatus(node *v1.Node) { // any fields that are currently set. // TODO(madhusudancs): Simplify the logic for setting node conditions and // refactor the node status condition code out to a different file. -func (kl *Kubelet) setNodeStatus(node *v1.Node) error { +func (kl *Kubelet) setNodeStatus(node *v1.Node) { for _, f := range kl.setNodeStatusFuncs { if err := f(node); err != nil { - return err + glog.Warningf("Failed to set some node status fields: %s", err) } } - return nil } // defaultNodeStatusFuncs is a factory that generates the default set of