@@ -181,29 +181,35 @@ func GetNodeAddresses(cidrs []string, nw NetworkInterfacer) (sets.String, error)
181
181
uniqueAddressList .Insert (cidr )
182
182
}
183
183
}
184
+
185
+ itfs , err := nw .Interfaces ()
186
+ if err != nil {
187
+ return nil , fmt .Errorf ("error listing all interfaces from host, error: %v" , err )
188
+ }
189
+
184
190
// Second round of iteration to parse IPs based on cidr.
185
191
for _ , cidr := range cidrs {
186
192
if IsZeroCIDR (cidr ) {
187
193
continue
188
194
}
195
+
189
196
_ , ipNet , _ := net .ParseCIDR (cidr )
190
- itfs , err := nw .Interfaces ()
191
- if err != nil {
192
- return nil , fmt .Errorf ("error listing all interfaces from host, error: %v" , err )
193
- }
194
197
for _ , itf := range itfs {
195
198
addrs , err := nw .Addrs (& itf )
196
199
if err != nil {
197
200
return nil , fmt .Errorf ("error getting address from interface %s, error: %v" , itf .Name , err )
198
201
}
202
+
199
203
for _ , addr := range addrs {
200
204
if addr == nil {
201
205
continue
202
206
}
207
+
203
208
ip , _ , err := net .ParseCIDR (addr .String ())
204
209
if err != nil {
205
210
return nil , fmt .Errorf ("error parsing CIDR for interface %s, error: %v" , itf .Name , err )
206
211
}
212
+
207
213
if ipNet .Contains (ip ) {
208
214
if utilnet .IsIPv6 (ip ) && ! uniqueAddressList .Has (IPv6ZeroCIDR ) {
209
215
uniqueAddressList .Insert (ip .String ())
@@ -215,6 +221,11 @@ func GetNodeAddresses(cidrs []string, nw NetworkInterfacer) (sets.String, error)
215
221
}
216
222
}
217
223
}
224
+
225
+ if uniqueAddressList .Len () == 0 {
226
+ return nil , fmt .Errorf ("no addresses found for cidrs %v" , cidrs )
227
+ }
228
+
218
229
return uniqueAddressList , nil
219
230
}
220
231
0 commit comments