diff options
author | Tim Rozet <trozet@redhat.com> | 2016-09-01 15:05:07 -0400 |
---|---|---|
committer | Jose Lausuch <jose.lausuch@ericsson.com> | 2016-09-02 07:37:08 +0000 |
commit | cc315c6534d27c24fe543b33e2ac9f66cda83d38 (patch) | |
tree | 6babc89e9fa8b7fbe1c7ab6fa75ab6741eb958ee | |
parent | f43a97038c712de33129786df56bbc569dfa1fdb (diff) |
Fixes cleaning up HA Neutron objects
This fixes a race condition where the cleanup method is trying to remove
HA networks, while Neutron is also trying to remove the network - after
the HA router is removed. This only applies to installations where
Neutron L3 HA is enabled (nosdn cases only).
JIRA: FUNCTEST-454
Change-Id: If06b6f6297e99dcce4b0f2aff8ec80b47488ee90
Signed-off-by: Tim Rozet <trozet@redhat.com>
(cherry picked from commit c7effe57d86f77e1d824b9c927d9e8ab70a59695)
-rwxr-xr-x | utils/openstack_clean.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/utils/openstack_clean.py b/utils/openstack_clean.py index 8aba763ce..3b937c917 100755 --- a/utils/openstack_clean.py +++ b/utils/openstack_clean.py @@ -202,9 +202,20 @@ def remove_networks(neutron_client, default_networks, default_routers): else: remove_routers(neutron_client, routers, default_routers) + # trozet: wait for Neutron to auto-cleanup HA networks when HA router is + # deleted + time.sleep(5) + # remove networks if network_ids is not None: for net_id in network_ids: + networks = os_utils.get_network_list(neutron_client) + if networks is None: + logger.debug("No networks left to remove") + break + elif not any(network['id'] == net_id for network in networks): + logger.debug("Network %s has already been removed" % net_id) + continue logger.debug("Removing network %s ..." % net_id) if os_utils.delete_neutron_net(neutron_client, net_id): logger.debug(" > Done!") |