Merge pull request #5346 from justinsb/cloudprovider_multiple_addresses

Let CloudProvider return list of NodeAddress, not just one net.IP
This commit is contained in:
Alex Robinson
2015-03-13 15:45:11 -07:00
14 changed files with 59 additions and 51 deletions

View File

@@ -274,12 +274,11 @@ func (s *NodeController) PopulateAddresses(nodes *api.NodeList) (*api.NodeList,
}
for i := range nodes.Items {
node := &nodes.Items[i]
hostIP, err := instances.IPAddress(node.Name)
nodeAddresses, err := instances.NodeAddresses(node.Name)
if err != nil {
glog.Errorf("error getting instance ip address for %s: %v", node.Name, err)
glog.Errorf("error getting instance addresses for %s: %v", node.Name, err)
} else {
address := api.NodeAddress{Type: api.NodeLegacyHostIP, Address: hostIP.String()}
api.AddToNodeAddresses(&node.Status.Addresses, address)
node.Status.Addresses = nodeAddresses
}
}
} else {
@@ -288,7 +287,7 @@ func (s *NodeController) PopulateAddresses(nodes *api.NodeList) (*api.NodeList,
addr := net.ParseIP(node.Name)
if addr != nil {
address := api.NodeAddress{Type: api.NodeLegacyHostIP, Address: addr.String()}
api.AddToNodeAddresses(&node.Status.Addresses, address)
node.Status.Addresses = []api.NodeAddress{address}
} else {
addrs, err := s.lookupIP(node.Name)
if err != nil {
@@ -297,7 +296,7 @@ func (s *NodeController) PopulateAddresses(nodes *api.NodeList) (*api.NodeList,
glog.Errorf("No ip address for node %v", node.Name)
} else {
address := api.NodeAddress{Type: api.NodeLegacyHostIP, Address: addrs[0].String()}
api.AddToNodeAddresses(&node.Status.Addresses, address)
node.Status.Addresses = []api.NodeAddress{address}
}
}
}

View File

@@ -649,7 +649,7 @@ func TestPopulateNodeAddresses(t *testing.T) {
}{
{
nodes: &api.NodeList{Items: []api.Node{*newNode("node0"), *newNode("node1")}},
fakeCloud: &fake_cloud.FakeCloud{IP: net.ParseIP("1.2.3.4")},
fakeCloud: &fake_cloud.FakeCloud{Addresses: []api.NodeAddress{{Type: api.NodeLegacyHostIP, Address: "1.2.3.4"}}},
expectedAddresses: []api.NodeAddress{
{Type: api.NodeLegacyHostIP, Address: "1.2.3.4"},
},
@@ -1061,7 +1061,7 @@ func TestSyncNodeStatus(t *testing.T) {
Err: nil,
},
fakeCloud: &fake_cloud.FakeCloud{
IP: net.ParseIP("1.2.3.4"),
Addresses: []api.NodeAddress{{Type: api.NodeLegacyHostIP, Address: "1.2.3.4"}},
},
expectedNodes: []*api.Node{
{