Fix list_loadbalancers function

The list_loadbalancers function before modified use local variables
out of scope, to fix it, use list object to contain all the local
variables.

Change-Id: Ibed32c2b3d26e3165fb0c7eb038a4fda3ebffad7
Closes-Bug: #1606656
This commit is contained in:
coco-Gao 2016-08-06 09:36:56 +08:00
parent 625f5c12ab
commit fe611fbd93
1 changed files with 7 additions and 4 deletions

View File

@ -334,6 +334,8 @@ def list_loadbalancers(request, **kwargs):
vips = neutronclient(request).list_loadbalancers(**kwargs)
vips = [] if not vips else vips
vips = vips.get('loadbalancers')
lbaas_list = []
for vip in vips:
listeners = vip.get('listeners')
listeners = [] if not listeners else listeners
@ -356,15 +358,16 @@ def list_loadbalancers(request, **kwargs):
show_lbaas_healthmonitor(pool.get('healthmonitor_id'),
**kwargs)
health_monitor = health_monitor.get('healthmonitor')
else:
health_monitor = None
members = neutronclient(request).\
list_lbaas_members(listener.get('default_pool_id'),
**kwargs)
lbaas_list.append(LBDetails(vip, listener, pool,
members, health_monitor))
except Exception:
raise Exception(_("Could not get load balancer list."))
return [LBDetails(v, listener, pool, members, health_monitor)
for v in vips]
return lbaas_list
def show_loadbalancer(request, lbaas_loadbalancer, **kwargs):