Delete the database entry when backend is not found

When load balancer resource does not exist in the NSXT backend,
deleting operation should be successful.
Change-Id: Ic0f27dc05ae802fff415ed5c3d9cdb2a015df57c
This commit is contained in:
yuyangbj 2018-04-19 15:17:12 +08:00
parent 5119fd0355
commit 2b071bfac3
2 changed files with 6 additions and 0 deletions

View File

@ -237,6 +237,8 @@ class EdgeMemberManager(base_mgr.Nsxv3LoadbalancerBaseManager):
members = [m for m in m_list
if m['ip_address'] != fixed_ip]
pool_client.update_pool_with_members(lb_pool_id, members)
except nsxlib_exc.ResourceNotFound:
pass
except nsxlib_exc.ManagerError:
self.lbv2_driver.member.failed_completion(context, member)
msg = _('Failed to remove member from pool on NSX backend')

View File

@ -144,6 +144,8 @@ class EdgePoolManager(base_mgr.Nsxv3LoadbalancerBaseManager):
if vs_id:
try:
vs_client.update(vs_id, pool_id='')
except nsxlib_exc.ResourceNotFound:
pass
except nsxlib_exc.ManagerError:
self.lbv2_driver.pool.failed_completion(context, pool)
msg = _('Failed to remove lb pool %(pool)s from virtual '
@ -152,6 +154,8 @@ class EdgePoolManager(base_mgr.Nsxv3LoadbalancerBaseManager):
raise n_exc.BadRequest(resource='lbaas-pool', msg=msg)
try:
pool_client.delete(lb_pool_id)
except nsxlib_exc.ResourceNotFound:
pass
except nsxlib_exc.ManagerError:
self.lbv2_driver.pool.failed_completion(context, pool)
msg = (_('Failed to delete lb pool from nsx: %(pool)s') %