Merge "Display the vip name in the floating IP association dialog"

This commit is contained in:
Jenkins 2014-12-26 03:35:50 +00:00 committed by Gerrit Code Review
commit 4a5af84adf
3 changed files with 17 additions and 1 deletions

View File

@ -423,6 +423,14 @@ class FloatingIpManager(network_base.FloatingIpManager):
servers, has_more = nova.server_list(self.request)
server_dict = SortedDict([(s.id, s.name) for s in servers])
reachable_subnets = self._get_reachable_subnets(ports)
if is_service_enabled(self.request,
config_name='enable_lb',
ext_name='lbaas'):
# Also get the loadbalancer VIPs
vip_dict = {v['port_id']: v['name']
for v in self.client.list_vips().get('vips', [])}
else:
vip_dict = {}
targets = []
for p in ports:
@ -430,7 +438,8 @@ class FloatingIpManager(network_base.FloatingIpManager):
if p.device_owner.startswith('network:'):
continue
port_id = p.id
server_name = server_dict.get(p.device_id)
server_name = server_dict.get(p.device_id) or vip_dict.get(port_id)
for ip in p.fixed_ips:
if ip['subnet_id'] not in reachable_subnets:
continue

View File

@ -688,6 +688,7 @@ class NetworkApiNeutronFloatingIpTests(NetworkApiNeutronTestBase):
'addr': port['fixed_ips'][0]['ip_address']}
return 'server_%(svrid)s: %(addr)s' % param
@override_settings(OPENSTACK_NEUTRON_NETWORK={'enable_lb': True})
def test_floating_ip_target_list(self):
ports = self.api_ports.list()
# Port on the first subnet is connected to a router
@ -714,6 +715,8 @@ class NetworkApiNeutronFloatingIpTests(NetworkApiNeutronTestBase):
self.qclient.list_routers().AndReturn({'routers':
self.api_routers.list()})
self.qclient.list_vips().AndReturn({'vips': self.vips.list()})
self.mox.ReplayAll()
rets = api.network.floating_ip_target_list(self.request)

View File

@ -658,11 +658,15 @@ def data(TEST):
extension_5 = {"name": "HA Router extension",
"alias": "l3-ha",
"description": "Add HA capability to routers."}
extension_6 = {"name": "LoadBalancing service",
"alias": "lbaas",
"description": "Extension for LoadBalancing service"}
TEST.api_extensions.add(extension_1)
TEST.api_extensions.add(extension_2)
TEST.api_extensions.add(extension_3)
TEST.api_extensions.add(extension_4)
TEST.api_extensions.add(extension_5)
TEST.api_extensions.add(extension_6)
# 1st agent.
agent_dict = {"binary": "neutron-openvswitch-agent",