The functional test test_gateway_chassis_with_bridge_mappings is written in a way that exercises something that is just not feasible in the API. It essentially tries to do:
openstack router set router1 --external-gateway public_net1
openstack router set router1 --external-gateway public_net2
openstack router set router1 --external-gateway public_net3
The functional test test_gateway_ chassis_ with_bridge_ mappings is written in a way that exercises something that is just not feasible in the API. It essentially tries to do:
openstack router set router1 --external-gateway public_net1
openstack router set router1 --external-gateway public_net2
openstack router set router1 --external-gateway public_net3
In reality, it should be doing:
openstack router set router1 --external-gateway public_net1
openstack router unset router1 --external-gateway
openstack router set router1 --external-gateway public_net2
openstack router unset router1 --external-gateway
openstack router set router1 --external-gateway public_net3
openstack router unset router1 --external-gateway
The test is located at:
https:/ /github. com/openstack/ networking- ovn/blob/ e07d4316c9a2c99 12d47b8e36e2d81 807f8dabe3/ networking_ ovn/tests/ functional/ test_router. py#L192
One way to run it is by invoking the command on a 'stacked' system:
cd /opt/stack/ networking- ovn && \ ovn.tests. functional. test_router. TestRouter. test_gateway_ chassis_ with_bridge_ mappings
tox -e dsvm-functional -- \
networking_