NSX|V: Fix octavia delete cascade

- add listener default pool Id
- verify app profile id exists

Change-Id: I5794aac8f2db3ebcc30d82911e1a5b4b7419505d
This commit is contained in:
asarfaty 2020-11-02 12:58:14 +02:00 committed by Adit Sarfaty
parent 842d9419bb
commit e081bf1c36
2 changed files with 5 additions and 1 deletions

View File

@ -113,6 +113,8 @@ def update_app_profile(vcns, context, listener, edge_id, edge_cert_id=None):
lb_id = listener['loadbalancer_id']
listener_binding = nsxv_db.get_nsxv_lbaas_listener_binding(
context.session, lb_id, listener['id'])
if not listener_binding:
return
app_profile_id = listener_binding['app_profile_id']
app_profile = listener_to_edge_app_profile(listener, edge_cert_id)
with locking.LockManager.get_lock(edge_id):

View File

@ -323,7 +323,6 @@ class NSXOctaviaListenerEndpoint(object):
def dummy_completor(success=True):
pass
completor = self.get_completor_func(constants.LOADBALANCERS,
loadbalancer, delete=True)
@ -344,6 +343,9 @@ class NSXOctaviaListenerEndpoint(object):
pool['loadbalancer'] = loadbalancer
if pool.get('listener_id'):
pool['listener'] = listener_dict[pool['listener_id']]
if pool['listener'].get('default_pool'):
pool['listener']['default_pool']['id'] = pool[
'listener']['default_pool']['pool_id']
pool['listeners'] = [pool['listener']]
for member in pool.get('members', []):
if not member.get('pool'):