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
This commit is contained in:
parent
cc02d407d9
commit
4b082c9ae7
@ -31,10 +31,14 @@ class BaseRouterTest(base.BaseAdminNetworkTest):
|
||||
pass
|
||||
|
||||
def _create_router(self, name, admin_state_up=False,
|
||||
external_network_id=None, enable_snat=None, **kwargs):
|
||||
external_network_id=None, enable_snat=None,
|
||||
client=None, **kwargs):
|
||||
# associate a cleanup with created routers to avoid quota limits
|
||||
router = self.create_router(name, admin_state_up,
|
||||
external_network_id, enable_snat, **kwargs)
|
||||
client = client or self.client
|
||||
router = self._create_router_with_client(
|
||||
client, router_name=name, admin_state_up=admin_state_up,
|
||||
external_network_id=external_network_id, enable_snat=enable_snat,
|
||||
**kwargs)
|
||||
self.addCleanup(self._cleanup_router, router)
|
||||
return router
|
||||
|
||||
|
@ -424,9 +424,11 @@ class ExternalGWMultihomingRoutersTest(base_routers.BaseRouterTest):
|
||||
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 @@ class ExternalGWMultihomingRoutersTest(base_routers.BaseRouterTest):
|
||||
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)
|
||||
|
@ -630,7 +630,8 @@ class NetworkMultipleGWTest(base.BaseAdminTempestTestCase):
|
||||
def test_update_router_single_gw_bfd(self):
|
||||
ext_network_id = self.ext_networks[0][0]['id']
|
||||
bfd_container = self.containers[0]
|
||||
router = self.create_router(
|
||||
router = self._create_router_with_client(
|
||||
self.admin_client,
|
||||
router_name=data_utils.rand_name('router'),
|
||||
admin_state_up=True,
|
||||
enable_snat=False,
|
||||
|
Loading…
x
Reference in New Issue
Block a user