From fe611fbd9384fb2c216c067d7216c58c5c7f3573 Mon Sep 17 00:00:00 2001 From: coco-Gao <419546439@qq.com> Date: Sat, 6 Aug 2016 09:36:56 +0800 Subject: [PATCH] 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 --- neutron_lbaas_dashboard/api/lbaasv2.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/neutron_lbaas_dashboard/api/lbaasv2.py b/neutron_lbaas_dashboard/api/lbaasv2.py index 38adb67..ea330dc 100644 --- a/neutron_lbaas_dashboard/api/lbaasv2.py +++ b/neutron_lbaas_dashboard/api/lbaasv2.py @@ -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):