diff options
author | Brady Johnson <bjohnson@inocybe.com> | 2018-11-06 09:48:34 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@opnfv.org> | 2018-11-06 09:48:34 +0000 |
commit | 584dd944d267150f0071e9e13a7dff2a8123ef61 (patch) | |
tree | 0695f8d6f36403b8d6292c42c324ee814e694522 /sfc/lib/openstack_utils.py | |
parent | 0eb8ab44ae9192f08026f659bc40cddb48703afb (diff) | |
parent | 52e86db6e0a3343852c9aabba49dffe3d699d1a0 (diff) |
Merge "Avoid race conditions"
Diffstat (limited to 'sfc/lib/openstack_utils.py')
-rw-r--r-- | sfc/lib/openstack_utils.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/sfc/lib/openstack_utils.py b/sfc/lib/openstack_utils.py index 7915e77d..38ca61bb 100644 --- a/sfc/lib/openstack_utils.py +++ b/sfc/lib/openstack_utils.py @@ -316,6 +316,23 @@ class OpenStackSFC: {'vnf': vm_instance.name}) return None + # Avoid race conditions by checking the port pair is already committed + iterations = 5 + found_it = False + for i in range(iterations): + pp_list = self.neutron.list_sfc_port_pairs()['port_pairs'] + for pp in pp_list: + if pp['id'] == port_pair_info['port_pair']['id']: + found_it = True + break + if found_it: + break + else: + time.sleep(3) + + if not found_it: + raise Exception("Port pair was not committed in openstack") + logger.info("Creating the port pair groups for %s" % vm_instance.name) port_pair_group = {} port_pair_group['name'] = vm_instance.name + '-port-pair-group' |