Merge pull request #36231 from justinsb/avoid_duplicate_node_addresses

Automatic merge from submit-queue

Don't add duplicate Hostname address

If the cloudprovider returned an address of type Hostname, we shouldn't
add a duplicate one.

Fixes #36234
This commit is contained in:
Kubernetes Submit Queue 2016-11-06 00:24:20 -07:00 committed by GitHub
commit 8cb94beeea

View File

@ -392,8 +392,22 @@ func (kl *Kubelet) setNodeAddress(node *api.Node) error {
}
return fmt.Errorf("failed to get node address from cloud provider that matches ip: %v", kl.nodeIP)
}
hostnameAddress := api.NodeAddress{Type: api.NodeHostName, Address: kl.GetHostname()}
node.Status.Addresses = append(nodeAddresses, hostnameAddress)
// Only add a NodeHostName address if the cloudprovider did not specify one
// (we assume the cloudprovider knows best)
var addressNodeHostName *api.NodeAddress
for i := range nodeAddresses {
if nodeAddresses[i].Type == api.NodeHostName {
addressNodeHostName = &nodeAddresses[i]
break
}
}
if addressNodeHostName == nil {
hostnameAddress := api.NodeAddress{Type: api.NodeHostName, Address: kl.GetHostname()}
node.Status.Addresses = append(nodeAddresses, hostnameAddress)
} else {
glog.V(2).Infof("Using Node Hostname from cloudprovider: %q", addressNodeHostName.Address)
}
} else {
var ipAddr net.IP
var err error