@@ -177,6 +177,21 @@ func TestNodeAddress(t *testing.T) {
177
177
},
178
178
shouldError : false ,
179
179
},
180
+ {
181
+ name : "cloud reports hostname, nodeIP is set, no override" ,
182
+ nodeIP : net .ParseIP ("10.1.1.1" ),
183
+ nodeAddresses : []v1.NodeAddress {
184
+ {Type : v1 .NodeInternalIP , Address : "10.1.1.1" },
185
+ {Type : v1 .NodeExternalIP , Address : "55.55.55.55" },
186
+ {Type : v1 .NodeHostName , Address : "cloud-host" },
187
+ },
188
+ expectedAddresses : []v1.NodeAddress {
189
+ {Type : v1 .NodeInternalIP , Address : "10.1.1.1" },
190
+ {Type : v1 .NodeExternalIP , Address : "55.55.55.55" },
191
+ {Type : v1 .NodeHostName , Address : "cloud-host" }, // cloud-reported hostname wins over detected hostname
192
+ },
193
+ shouldError : false ,
194
+ },
180
195
{
181
196
name : "cloud reports hostname, overridden" ,
182
197
nodeAddresses : []v1.NodeAddress {
@@ -220,6 +235,37 @@ func TestNodeAddress(t *testing.T) {
220
235
},
221
236
shouldError : false ,
222
237
},
238
+ {
239
+ name : "cloud doesn't report hostname, nodeIP is set, no override, detected hostname match" ,
240
+ nodeIP : net .ParseIP ("10.1.1.1" ),
241
+ nodeAddresses : []v1.NodeAddress {
242
+ {Type : v1 .NodeInternalIP , Address : "10.1.1.1" },
243
+ {Type : v1 .NodeExternalIP , Address : "55.55.55.55" },
244
+ {Type : v1 .NodeExternalDNS , Address : testKubeletHostname }, // cloud-reported address value matches detected hostname
245
+ },
246
+ expectedAddresses : []v1.NodeAddress {
247
+ {Type : v1 .NodeInternalIP , Address : "10.1.1.1" },
248
+ {Type : v1 .NodeExternalIP , Address : "55.55.55.55" },
249
+ {Type : v1 .NodeExternalDNS , Address : testKubeletHostname },
250
+ {Type : v1 .NodeHostName , Address : testKubeletHostname }, // detected hostname gets auto-added
251
+ },
252
+ shouldError : false ,
253
+ },
254
+ {
255
+ name : "cloud doesn't report hostname, nodeIP is set, no override, detected hostname match with same type as nodeIP" ,
256
+ nodeIP : net .ParseIP ("10.1.1.1" ),
257
+ nodeAddresses : []v1.NodeAddress {
258
+ {Type : v1 .NodeInternalIP , Address : "10.1.1.1" },
259
+ {Type : v1 .NodeInternalIP , Address : testKubeletHostname }, // cloud-reported address value matches detected hostname
260
+ {Type : v1 .NodeExternalIP , Address : "55.55.55.55" },
261
+ },
262
+ expectedAddresses : []v1.NodeAddress {
263
+ {Type : v1 .NodeInternalIP , Address : "10.1.1.1" },
264
+ {Type : v1 .NodeExternalIP , Address : "55.55.55.55" },
265
+ {Type : v1 .NodeHostName , Address : testKubeletHostname }, // detected hostname gets auto-added
266
+ },
267
+ shouldError : false ,
268
+ },
223
269
{
224
270
name : "cloud doesn't report hostname, hostname override, hostname mismatch" ,
225
271
nodeAddresses : []v1.NodeAddress {
0 commit comments