in controllers/helpers.go [159:188]
func getEtcdMachineAddress(machine *clusterv1.Machine) string {
var internalIP, internalDNS, externalIP, externalDNS string
// Check and record all different address types set for the machine and return later according to precedence.
for _, address := range machine.Status.Addresses {
switch address.Type {
case clusterv1.MachineInternalIP:
internalIP = address.Address
case clusterv1.MachineInternalDNS:
internalDNS = address.Address
case clusterv1.MachineExternalIP:
externalIP = address.Address
case clusterv1.MachineExternalDNS:
externalDNS = address.Address
}
}
// The order of these checks determines the precedence of the address to use
if externalDNS != "" {
return externalDNS
} else if externalIP != "" {
return externalIP
} else if internalDNS != "" {
return internalDNS
} else if internalIP != "" {
return internalIP
}
return ""
}