Populate NodeHostName status.

This commit is contained in:
Magnus Kulke 2016-05-11 21:45:36 +02:00
parent 482475e378
commit b7880e7cd8
2 changed files with 8 additions and 5 deletions

View File

@ -358,9 +358,8 @@ func (kl *Kubelet) recordNodeStatusEvent(eventtype, event string) {
kl.recorder.Eventf(kl.nodeRef, eventtype, event, "Node %s status is now: %s", kl.nodeName, event) kl.recorder.Eventf(kl.nodeRef, eventtype, event, "Node %s status is now: %s", kl.nodeName, event)
} }
// Set IP addresses for the node. // Set IP and hostname addresses for the node.
func (kl *Kubelet) setNodeAddress(node *api.Node) error { func (kl *Kubelet) setNodeAddress(node *api.Node) error {
if kl.nodeIP != nil { if kl.nodeIP != nil {
if err := kl.validateNodeIP(); err != nil { if err := kl.validateNodeIP(); err != nil {
return fmt.Errorf("failed to validate nodeIP: %v", err) return fmt.Errorf("failed to validate nodeIP: %v", err)
@ -381,20 +380,20 @@ func (kl *Kubelet) setNodeAddress(node *api.Node) error {
if err != nil { if err != nil {
return fmt.Errorf("failed to get node address from cloud provider: %v", err) return fmt.Errorf("failed to get node address from cloud provider: %v", err)
} }
if kl.nodeIP != nil { if kl.nodeIP != nil {
for _, nodeAddress := range nodeAddresses { for _, nodeAddress := range nodeAddresses {
if nodeAddress.Address == kl.nodeIP.String() { if nodeAddress.Address == kl.nodeIP.String() {
node.Status.Addresses = []api.NodeAddress{ node.Status.Addresses = []api.NodeAddress{
{Type: nodeAddress.Type, Address: nodeAddress.Address}, {Type: nodeAddress.Type, Address: nodeAddress.Address},
{Type: api.NodeHostName, Address: kl.GetHostname()},
} }
return nil return nil
} }
} }
return fmt.Errorf("failed to get node address from cloud provider that matches ip: %v", kl.nodeIP) return fmt.Errorf("failed to get node address from cloud provider that matches ip: %v", kl.nodeIP)
} }
hostnameAddress := api.NodeAddress{Type: api.NodeHostName, Address: kl.GetHostname()}
node.Status.Addresses = nodeAddresses node.Status.Addresses = append(nodeAddresses, hostnameAddress)
} else { } else {
var ipAddr net.IP var ipAddr net.IP
var err error var err error
@ -429,6 +428,7 @@ func (kl *Kubelet) setNodeAddress(node *api.Node) error {
node.Status.Addresses = []api.NodeAddress{ node.Status.Addresses = []api.NodeAddress{
{Type: api.NodeLegacyHostIP, Address: ipAddr.String()}, {Type: api.NodeLegacyHostIP, Address: ipAddr.String()},
{Type: api.NodeInternalIP, Address: ipAddr.String()}, {Type: api.NodeInternalIP, Address: ipAddr.String()},
{Type: api.NodeHostName, Address: kl.GetHostname()},
} }
} }
} }

View File

@ -193,6 +193,7 @@ func TestUpdateNewNodeStatus(t *testing.T) {
Addresses: []api.NodeAddress{ Addresses: []api.NodeAddress{
{Type: api.NodeLegacyHostIP, Address: "127.0.0.1"}, {Type: api.NodeLegacyHostIP, Address: "127.0.0.1"},
{Type: api.NodeInternalIP, Address: "127.0.0.1"}, {Type: api.NodeInternalIP, Address: "127.0.0.1"},
{Type: api.NodeHostName, Address: testKubeletHostname},
}, },
Images: expectedImageList, Images: expectedImageList,
}, },
@ -472,6 +473,7 @@ func TestUpdateExistingNodeStatus(t *testing.T) {
Addresses: []api.NodeAddress{ Addresses: []api.NodeAddress{
{Type: api.NodeLegacyHostIP, Address: "127.0.0.1"}, {Type: api.NodeLegacyHostIP, Address: "127.0.0.1"},
{Type: api.NodeInternalIP, Address: "127.0.0.1"}, {Type: api.NodeInternalIP, Address: "127.0.0.1"},
{Type: api.NodeHostName, Address: testKubeletHostname},
}, },
// images will be sorted from max to min in node status. // images will be sorted from max to min in node status.
Images: []api.ContainerImage{ Images: []api.ContainerImage{
@ -777,6 +779,7 @@ func TestUpdateNodeStatusWithRuntimeStateError(t *testing.T) {
Addresses: []api.NodeAddress{ Addresses: []api.NodeAddress{
{Type: api.NodeLegacyHostIP, Address: "127.0.0.1"}, {Type: api.NodeLegacyHostIP, Address: "127.0.0.1"},
{Type: api.NodeInternalIP, Address: "127.0.0.1"}, {Type: api.NodeInternalIP, Address: "127.0.0.1"},
{Type: api.NodeHostName, Address: testKubeletHostname},
}, },
Images: []api.ContainerImage{ Images: []api.ContainerImage{
{ {