From 7828e5d0f97c455de4ff93d43f11f953a7951916 Mon Sep 17 00:00:00 2001 From: Jordan Liggitt Date: Thu, 28 Jun 2018 14:57:22 -0400 Subject: [PATCH] Make cloud provider authoritative for node status address reporting --- pkg/kubelet/kubelet_node_status.go | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/pkg/kubelet/kubelet_node_status.go b/pkg/kubelet/kubelet_node_status.go index 4b7f4e1becb..17f85466961 100644 --- a/pkg/kubelet/kubelet_node_status.go +++ b/pkg/kubelet/kubelet_node_status.go @@ -494,20 +494,10 @@ func (kl *Kubelet) setNodeAddress(node *v1.Node) error { return fmt.Errorf("failed to get node address from cloud provider that matches ip: %v", kl.nodeIP) } - // Only add a NodeHostName address if the cloudprovider did not specify one - // (we assume the cloudprovider knows best) - var addressNodeHostName *v1.NodeAddress - for i := range nodeAddresses { - if nodeAddresses[i].Type == v1.NodeHostName { - addressNodeHostName = &nodeAddresses[i] - break - } - } - if addressNodeHostName == nil { - hostnameAddress := v1.NodeAddress{Type: v1.NodeHostName, Address: kl.GetHostname()} - nodeAddresses = append(nodeAddresses, hostnameAddress) - } else { - glog.V(2).Infof("Using Node Hostname from cloudprovider: %q", addressNodeHostName.Address) + // Only add a NodeHostName address if the cloudprovider did not specify any addresses. + // (we assume the cloudprovider is authoritative if it specifies any addresses) + if len(nodeAddresses) == 0 { + nodeAddresses = []v1.NodeAddress{{Type: v1.NodeHostName, Address: kl.GetHostname()}} } node.Status.Addresses = nodeAddresses } else {