mirror of
https://github.com/k3s-io/kubernetes.git
synced 2026-01-04 23:17:50 +00:00
Fix issue where missing external IP address breaks SSH Tunnel.
Added unit test to cover missing external IP case. Justin's feedback. Lint fix. Lavalmap's feedback.
This commit is contained in:
@@ -444,15 +444,26 @@ func (n nodeAddressProvider) externalAddresses() ([]string, error) {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
var matchErr error
|
||||
addrs := []string{}
|
||||
for ix := range nodes.Items {
|
||||
node := &nodes.Items[ix]
|
||||
addr, err := nodeutil.GetPreferredNodeAddress(node, preferredAddressTypes)
|
||||
if err != nil {
|
||||
if _, ok := err.(*nodeutil.NoMatchError); ok {
|
||||
matchErr = err
|
||||
continue
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
addrs = append(addrs, addr)
|
||||
}
|
||||
if len(addrs) == 0 && matchErr != nil {
|
||||
// We only return an error if we have items.
|
||||
// Currently we return empty list/no error if Items is empty.
|
||||
// We do this for backward compatibility reasons.
|
||||
return nil, matchErr
|
||||
}
|
||||
return addrs, nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user