Since 13.08.2021 one of our UT neutron.tests.unit.services.ovn_l3.test_plugin.OVNL3ExtrarouteTests.test_router_create_with_gwinfo_ext_ip_non_admin is failing with neutron-lib from master.
Failure example: https://5095d1cf5e3173e1d222-5acdef5dc10478cee5291df1596ec66a.ssl.cf5.rackcdn.com/periodic/opendev.org/openstack/neutron/master/openstack-tox-py36-with-neutron-lib-master/292883e/testr_results.html
Stacktrace:
ft1.182: neutron.tests.unit.services.ovn_l3.test_plugin.OVNL3ExtrarouteTests.test_router_create_with_gwinfo_ext_ip_non_admintesttools.testresult.real._StringException: Traceback (most recent call last):
File "/home/zuul/src/opendev.org/openstack/neutron/neutron/tests/base.py", line 183, in func
return f(self, *args, **kwargs)
File "/home/zuul/src/opendev.org/openstack/neutron/neutron/tests/base.py", line 183, in func
return f(self, *args, **kwargs)
File "/home/zuul/src/opendev.org/openstack/neutron/neutron/tests/unit/extensions/test_l3.py", line 749, in test_router_create_with_gwinfo_ext_ip_non_admin
self.assertEqual(exc.HTTPForbidden.code, res.status_int)
File "/home/zuul/src/opendev.org/openstack/neutron/.tox/py36/lib/python3.6/site-packages/testtools/testcase.py", line 393, in assertEqual
self.assertThat(observed, matcher, message)
File "/home/zuul/src/opendev.org/openstack/neutron/.tox/py36/lib/python3.6/site-packages/testtools/testcase.py", line 480, in assertThat
raise mismatch_error
testtools.matchers._impl.MismatchError: 403 != 201
Hello:
Since [1], we don't validate the sub-attributes in "external_gw_info". That means the policy rule to check is now: create_ router: external_ gateway_ info
rule:
Before this patch, the rule to check was: create_ router: external_ gateway_ info and (rule:create_ router: external_ gateway_ info:network_ id and rule:create_ router: external_ gateway_ info:external_ fixed_ips) )
(rule:
For now we need to revert this patch or find a solution for this patch.
[1]https:/ /review. opendev. org/c/openstack /neutron- lib/+/802029/ 3/neutron_ lib/api/ definitions/ l3_ext_ gw_mode. py#b16