From 30972710bd83496e221fde247e8e2a9f50893ff2 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Wed, 24 Apr 2024 15:29:12 -0400 Subject: [PATCH] Fix behavior with external cloud provider and --hostname-override --- pkg/kubelet/nodestatus/setters.go | 3 +++ pkg/kubelet/nodestatus/setters_test.go | 12 ++++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/pkg/kubelet/nodestatus/setters.go b/pkg/kubelet/nodestatus/setters.go index b1fb7e8524b..19bb6ce7295 100644 --- a/pkg/kubelet/nodestatus/setters.go +++ b/pkg/kubelet/nodestatus/setters.go @@ -135,6 +135,9 @@ func NodeAddress(nodeIPs []net.IP, // typically Kubelet.nodeIPs // in https://github.com/kubernetes/kubernetes/issues/120720. // We are already hinting the external cloud provider via the annotation AnnotationAlphaProvidedIPAddr. if !nodeIPSpecified { + node.Status.Addresses = []v1.NodeAddress{ + {Type: v1.NodeHostName, Address: hostname}, + } return nil } } diff --git a/pkg/kubelet/nodestatus/setters_test.go b/pkg/kubelet/nodestatus/setters_test.go index 282d20093b4..01989cb9287 100644 --- a/pkg/kubelet/nodestatus/setters_test.go +++ b/pkg/kubelet/nodestatus/setters_test.go @@ -238,15 +238,19 @@ func TestNodeAddress(t *testing.T) { nodeIP: netutils.ParseIPSloppy("::"), nodeAddresses: []v1.NodeAddress{}, cloudProviderType: cloudProviderExternal, - expectedAddresses: []v1.NodeAddress{}, - shouldError: false, + expectedAddresses: []v1.NodeAddress{ + {Type: v1.NodeHostName, Address: testKubeletHostname}, + }, + shouldError: false, }, { name: "cloud provider is external and no nodeIP", nodeAddresses: []v1.NodeAddress{}, cloudProviderType: cloudProviderExternal, - expectedAddresses: []v1.NodeAddress{}, - shouldError: false, + expectedAddresses: []v1.NodeAddress{ + {Type: v1.NodeHostName, Address: testKubeletHostname}, + }, + shouldError: false, }, { name: "cloud doesn't report hostname, no override, detected hostname mismatch",