Merge "Display the vip name in the floating IP association dialog"
This commit is contained in:
commit
4a5af84adf
|
@ -423,6 +423,14 @@ class FloatingIpManager(network_base.FloatingIpManager):
|
||||||
servers, has_more = nova.server_list(self.request)
|
servers, has_more = nova.server_list(self.request)
|
||||||
server_dict = SortedDict([(s.id, s.name) for s in servers])
|
server_dict = SortedDict([(s.id, s.name) for s in servers])
|
||||||
reachable_subnets = self._get_reachable_subnets(ports)
|
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 = []
|
targets = []
|
||||||
for p in ports:
|
for p in ports:
|
||||||
|
@ -430,7 +438,8 @@ class FloatingIpManager(network_base.FloatingIpManager):
|
||||||
if p.device_owner.startswith('network:'):
|
if p.device_owner.startswith('network:'):
|
||||||
continue
|
continue
|
||||||
port_id = p.id
|
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:
|
for ip in p.fixed_ips:
|
||||||
if ip['subnet_id'] not in reachable_subnets:
|
if ip['subnet_id'] not in reachable_subnets:
|
||||||
continue
|
continue
|
||||||
|
|
|
@ -688,6 +688,7 @@ class NetworkApiNeutronFloatingIpTests(NetworkApiNeutronTestBase):
|
||||||
'addr': port['fixed_ips'][0]['ip_address']}
|
'addr': port['fixed_ips'][0]['ip_address']}
|
||||||
return 'server_%(svrid)s: %(addr)s' % param
|
return 'server_%(svrid)s: %(addr)s' % param
|
||||||
|
|
||||||
|
@override_settings(OPENSTACK_NEUTRON_NETWORK={'enable_lb': True})
|
||||||
def test_floating_ip_target_list(self):
|
def test_floating_ip_target_list(self):
|
||||||
ports = self.api_ports.list()
|
ports = self.api_ports.list()
|
||||||
# Port on the first subnet is connected to a router
|
# Port on the first subnet is connected to a router
|
||||||
|
@ -714,6 +715,8 @@ class NetworkApiNeutronFloatingIpTests(NetworkApiNeutronTestBase):
|
||||||
self.qclient.list_routers().AndReturn({'routers':
|
self.qclient.list_routers().AndReturn({'routers':
|
||||||
self.api_routers.list()})
|
self.api_routers.list()})
|
||||||
|
|
||||||
|
self.qclient.list_vips().AndReturn({'vips': self.vips.list()})
|
||||||
|
|
||||||
self.mox.ReplayAll()
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
rets = api.network.floating_ip_target_list(self.request)
|
rets = api.network.floating_ip_target_list(self.request)
|
||||||
|
|
|
@ -658,11 +658,15 @@ def data(TEST):
|
||||||
extension_5 = {"name": "HA Router extension",
|
extension_5 = {"name": "HA Router extension",
|
||||||
"alias": "l3-ha",
|
"alias": "l3-ha",
|
||||||
"description": "Add HA capability to routers."}
|
"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_1)
|
||||||
TEST.api_extensions.add(extension_2)
|
TEST.api_extensions.add(extension_2)
|
||||||
TEST.api_extensions.add(extension_3)
|
TEST.api_extensions.add(extension_3)
|
||||||
TEST.api_extensions.add(extension_4)
|
TEST.api_extensions.add(extension_4)
|
||||||
TEST.api_extensions.add(extension_5)
|
TEST.api_extensions.add(extension_5)
|
||||||
|
TEST.api_extensions.add(extension_6)
|
||||||
|
|
||||||
# 1st agent.
|
# 1st agent.
|
||||||
agent_dict = {"binary": "neutron-openvswitch-agent",
|
agent_dict = {"binary": "neutron-openvswitch-agent",
|
||||||
|
|
Loading…
Reference in New Issue