From 4860b8cfaa24d709bd8a1abb78b1fdcbe3410c2d Mon Sep 17 00:00:00 2001 From: Salvatore Orlando Date: Sat, 17 Nov 2018 15:56:07 -0800 Subject: [PATCH] NSX-v3: Prevent comparison with None In some circumstances virtual_server_ids in the function handling member creation for the LBaaS driver can be None, triggering an exception when checking if a given virtual server id is in the list. This patch ensures the variable is always a list. Change-Id: Ia496649c909130906df66c114ac301b6f5af25cf --- .../services/lbaas/nsx_v3/implementation/member_mgr.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/vmware_nsx/services/lbaas/nsx_v3/implementation/member_mgr.py b/vmware_nsx/services/lbaas/nsx_v3/implementation/member_mgr.py index a7e7f7531d..c9739b6ccb 100644 --- a/vmware_nsx/services/lbaas/nsx_v3/implementation/member_mgr.py +++ b/vmware_nsx/services/lbaas/nsx_v3/implementation/member_mgr.py @@ -159,8 +159,9 @@ class EdgeMemberManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager): router_id) lb_service = service_client.get_router_lb_service( nsx_router_id) - virtual_server_ids = (lb_service and - lb_service.get('virtual_server_ids', [])) + virtual_server_ids = ( + lb_service and + lb_service.get('virtual_server_ids', []) or []) if not lb_service: lb_size = lb_utils.get_lb_flavor_size( self.flavor_plugin, context, @@ -196,7 +197,7 @@ class EdgeMemberManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager): # member has been added to the pool. This allows us to skip this # check if there is already a member in the pool if vs_id and not old_m: - # load the LB service is not already loaded + # load the LB service if not already loaded if not lb_service: nsx_router_id = nsx_db.get_nsx_router_id(context.session, router_id)