NSXV - complete member deletion when pool is gone
When a pool doesn't exist on the backend, deletion of a member should
complete successfully.
Change-Id: I781c9f1e273f1ce510c6ce47fd567f7f6c7540db
(cherry picked from commit ebe30aa33b
)
This commit is contained in:
parent
85ea6068a3
commit
cc5391c59a
|
@ -178,6 +178,14 @@ class EdgeMemberManagerFromDict(base_mgr.EdgeLoadbalancerBaseManager):
|
|||
return
|
||||
pool_binding = nsxv_db.get_nsxv_lbaas_pool_binding(
|
||||
context.session, lb_id, member['pool_id'])
|
||||
|
||||
if not pool_binding:
|
||||
# Don't fail deletion if the resource is already gone
|
||||
LOG.warning("Couldn't find pool %s binding during member deletion",
|
||||
member['pool_id'])
|
||||
completor(success=True)
|
||||
return
|
||||
|
||||
edge_id = lb_binding['edge_id']
|
||||
|
||||
old_lb = lb_common.is_lb_on_router_edge(
|
||||
|
@ -206,7 +214,14 @@ class EdgeMemberManagerFromDict(base_mgr.EdgeLoadbalancerBaseManager):
|
|||
return
|
||||
|
||||
edge_pool_id = pool_binding['edge_pool_id']
|
||||
edge_pool = self.vcns.get_pool(edge_id, edge_pool_id)[1]
|
||||
try:
|
||||
edge_pool = self.vcns.get_pool(edge_id, edge_pool_id)[1]
|
||||
except nsxv_exc.RequestBad:
|
||||
# Pool doesn't exist, so member is obviously gone
|
||||
LOG.warning('Edge pool %s does not exist on edge %s',
|
||||
edge_pool_id, edge_id)
|
||||
completor(success=True)
|
||||
return
|
||||
|
||||
for i, m in enumerate(edge_pool['member']):
|
||||
if m['name'] == lb_common.get_member_id(member['id']):
|
||||
|
|
Loading…
Reference in New Issue