Clean up stale routers and gateway routers. 91/59291/1 opnfv-6.2.0
authordimitris.tsiolakis <dmts@intracom-telecom.com>
Tue, 26 Jun 2018 08:20:31 +0000 (11:20 +0300)
committerDimitris Tsiolakis <dmts@intracom-telecom.com>
Fri, 29 Jun 2018 06:55:45 +0000 (06:55 +0000)
During snaps_smoke test all floating IPs are allocated
by routers as external IP's, as a result there are no
more floating IPs left.
This patch clean up stale routers and free the assigned
IPs.

JIRA: SNAPS-318

Change-Id: Ifbf01ce38db63315e692dca9ffa5d993dbfa4337
Signed-off-by: dimitris.tsiolakis <dmts@intracom-telecom.com>
(cherry picked from commit 71737f23f718791a554edf374ee0c28bb77c9773)

sdnvpn/test/functest/run_sdnvpn_tests.py

index e4d55f1..7f11683 100644 (file)
@@ -70,6 +70,24 @@ class SdnvpnFunctest(feature.Feature):
                 os_utils.delete_floating_ip(
                     neutron_client, floating_ip['id'])
 
+        # Workaround for
+        # https://jira.opnfv.org/browse/SNAPS-318
+        # Clean up the stale routers
+        logger.info("Cleaning up the stale routers")
+        ports = os_utils.get_port_list(neutron_client)
+        if ports is not None:
+            for port in ports:
+                if port['device_owner'] == 'network:router_interface':
+                    os_utils.delete_neutron_port(
+                            neutron_client, port['id'])
+        routers = os_utils.get_router_list(neutron_client)
+        if routers is not None:
+            for router in routers:
+                os_utils.remove_gateway_router(
+                    neutron_client, router['id'])
+                os_utils.delete_neutron_router(
+                    neutron_client, router['id'])
+
         with open(COMMON_CONFIG.config_file) as f:
             config_yaml = yaml.safe_load(f)