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:
		@@ -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)
 | 
								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 *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()}
 | 
								hostnameAddress := api.NodeAddress{Type: api.NodeHostName, Address: kl.GetHostname()}
 | 
				
			||||||
			node.Status.Addresses = append(nodeAddresses, hostnameAddress)
 | 
								node.Status.Addresses = append(nodeAddresses, hostnameAddress)
 | 
				
			||||||
 | 
							} else {
 | 
				
			||||||
 | 
								glog.V(2).Infof("Using Node Hostname from cloudprovider: %q", addressNodeHostName.Address)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		var ipAddr net.IP
 | 
							var ipAddr net.IP
 | 
				
			||||||
		var err error
 | 
							var err error
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user