Fixes router external_fixed_ip tests sometimes failing with Conflict.
Currently, a Conflict is thrown for tests like
test_create_router_external_fixed_ips because an IP address will
already be in use, due to improper clean up in other tests,
causing this test to throw a Conflict exception.
Change-Id: Iec090d4740c2fd7e230086e3e35e25ef8812ba71
Closes-Bug: #1673290
Partial-Bug: #1670553
diff --git a/patrole_tempest_plugin/tests/api/network/test_routers_rbac.py b/patrole_tempest_plugin/tests/api/network/test_routers_rbac.py
index a227e5c..e66da21 100644
--- a/patrole_tempest_plugin/tests/api/network/test_routers_rbac.py
+++ b/patrole_tempest_plugin/tests/api/network/test_routers_rbac.py
@@ -96,6 +96,7 @@
create_router:external_gateway_info:external_fixed_ips policy
"""
name = data_utils.rand_name('snat-router')
+
# Pick an ip address within the allocation_pools range
ip_address = random.choice(list(self.admin_ip_range))
external_fixed_ips = {'subnet_id': self.admin_subnet['id'],
@@ -167,6 +168,10 @@
self.routers_client.update_router(
self.admin_router['id'],
external_gateway_info={'network_id': self.admin_network['id']})
+ self.addCleanup(
+ self.routers_client.update_router,
+ self.admin_router['id'],
+ external_gateway_info=None)
@rbac_rule_validation.action(
service="neutron",
@@ -183,6 +188,10 @@
self.admin_router['id'],
external_gateway_info={'network_id': self.admin_network['id'],
'enable_snat': True})
+ self.addCleanup(
+ self.routers_client.update_router,
+ self.admin_router['id'],
+ external_gateway_info=None)
@rbac_rule_validation.action(
service="neutron",