Execute router commands with admin client
The API calls that change the router external gateway info "enable_snat"
flag are, by default, allowed only for admin users. That fix is proposed
to the Neutron API definitions in [1].
[1]https://review.opendev.org/c/openstack/neutron-lib/+/941631
Related-Bug: #2098109
Change-Id: I6c19692fefb09c15423aa58756fb001615ce1ce4
diff --git a/neutron_tempest_plugin/api/test_routers.py b/neutron_tempest_plugin/api/test_routers.py
index 1430b81..15bac41 100644
--- a/neutron_tempest_plugin/api/test_routers.py
+++ b/neutron_tempest_plugin/api/test_routers.py
@@ -424,9 +424,11 @@
router = self._create_router(
data_utils.rand_name('router'),
external_network_id=CONF.network.public_network_id,
- enable_snat=False)
+ enable_snat=False,
+ client=self.admin_client,
+ )
self.assertEqual(len(router['external_gateways']), 1)
- res = self.client.router_add_external_gateways(
+ res = self.admin_client.router_add_external_gateways(
router['id'],
[{'network_id': CONF.network.public_network_id,
'enable_snat': False}])
@@ -437,9 +439,10 @@
router = self._create_router(
data_utils.rand_name('router'),
external_network_id=CONF.network.public_network_id,
- enable_snat=False)
+ enable_snat=False,
+ client=self.admin_client)
self.assertEqual(len(router['external_gateways']), 1)
- res = self.client.router_remove_external_gateways(
+ res = self.admin_client.router_remove_external_gateways(
router['id'],
[{'network_id': CONF.network.public_network_id}])
self.assertEqual(len(res['router']['external_gateways']), 0)