Skip to content
Permalink
Browse files

Make OpenStack cloud provider report a node hostname address

Related to: #67714
Cloud-provider-reported addresses are authoritative in 1.12, this
preserves default behavior that used the internal dns name as
the "Hostname" address on Node status.
  • Loading branch information...
FengyunPan2 committed Aug 23, 2018
1 parent 687553a commit 641693ad0576257e4b913e3bd066dfa6b1ed9cb4
@@ -53,7 +53,10 @@ import (

const (
// ProviderName is the name of the openstack provider
ProviderName = "openstack"
ProviderName = "openstack"

// TypeHostName is the name type of openstack instance
TypeHostName = "hostname"
availabilityZone = "availability_zone"
defaultTimeOut = 60 * time.Second
)
@@ -498,6 +501,15 @@ func nodeAddresses(srv *servers.Server) ([]v1.NodeAddress, error) {
)
}

if srv.Metadata[TypeHostName] != "" {
v1helper.AddToNodeAddresses(&addrs,
v1.NodeAddress{
Type: v1.NodeHostName,
Address: srv.Metadata[TypeHostName],
},
)
}

return addrs, nil
}

@@ -444,6 +444,10 @@ func TestNodeAddresses(t *testing.T) {
},
},
},
Metadata: map[string]string{
"name": "a1-yinvcez57-0-bvynoyawrhcg-kube-minion-fg5i4jwcc2yy",
TypeHostName: "a1-yinvcez57-0-bvynoyawrhcg-kube-minion-fg5i4jwcc2yy.novalocal",
},
}

addrs, err := nodeAddresses(&srv)
@@ -462,6 +466,7 @@ func TestNodeAddresses(t *testing.T) {
{Type: v1.NodeExternalIP, Address: "50.56.176.35"},
{Type: v1.NodeExternalIP, Address: "50.56.176.36"},
{Type: v1.NodeExternalIP, Address: "50.56.176.99"},
{Type: v1.NodeHostName, Address: "a1-yinvcez57-0-bvynoyawrhcg-kube-minion-fg5i4jwcc2yy.novalocal"},
}

if !reflect.DeepEqual(want, addrs) {

0 comments on commit 641693a

Please sign in to comment.
You can’t perform that action at this time.