Juju Charm - Neutron Dynamic Routing
Go to file
Dmitrii Shcherbakov b97646f665 Add OVN + neutron-dynamic-routing bundles
* OVN + NDR testing is possible as of Neutron 22.0.0 (2023.1 or
  Antelope), see [1][2].
* Vault is added to non-OVN bundles as the tests.yaml file is shared
  and uses a configure step for Vault

Important note: at the time of writing the OVN integration code in
Neutron does not have any use for `distributed` and `ha` router extra
attributes and whether distributed or centralized FIPs are used in OVN
is governed by the ovn/enable_distributed_floating_ip option which does
not operate at the per-router granularity and is global.

The docs have not been updated and still say [3] that OVN routers do not
expose `ha` or `distributed` attributes which are now there as of [1].

At the same time, the NDR implementation uses the `distributed`
attribute to determine whether to use the gateway port IP and treat FIPs
as centralized [4] and add a next-hop to the gateway port IP or not in
the advertised /32 routes. For routers with `distributed == True`,
NDR only attempts [5] to find ports with device owner
`'floatingip_agent_gateway'`. Therefore, when distributed FIPs are
enabled via ovn/enable_distributed_floating_ip, the `distributed` extra
attribute on a router is set to `False` and /32 routes are advertised
as centralized.

The distributed FIP case is currently not exercised by the current
bundles neither for ML2/ovs nor ML2/ovn. The current bundles only test
the control plane and route advertisement, not packet forwarding via
advertised next-hops.

[1] https://review.opendev.org/c/openstack/neutron/+/864051
[2] 4d1a7bd0bc
[3] cd66232c2b/doc/source/ovn/faq/index.rst (L16-L29)
[4] 513ea649be/neutron_dynamic_routing/db/bgp_db.py (L564)
[5] 513ea649be/neutron_dynamic_routing/db/bgp_db.py (L567-L580)

Change-Id: I21ba5d79ff100b839874a65e4ddd32f20dfb1311
2023-05-30 20:51:22 +03:00
src Add OVN + neutron-dynamic-routing bundles 2023-05-30 20:51:22 +03:00
unit_tests Use unittest.mock instead of mock 2021-12-15 14:21:13 +00:00
.gitignore Migrate charm charmcraft and for the yoga track 2022-04-22 12:52:01 -04:00
.gitreview OpenDev Migration Patch 2019-04-19 19:34:30 +00:00
.stestr.conf Upgrade OpenStack 2018-04-24 12:02:47 -07:00
.zuul.yaml Update the charm for new releases 2023-05-24 14:40:45 +03:00
LICENSE Neutron Dynamic Routing Agent 2018-02-06 21:24:32 +00:00
build-requirements.txt Migrate charm charmcraft and for the yoga track 2022-04-22 12:52:01 -04:00
charmcraft.yaml Update the charm for new releases 2023-05-24 14:40:45 +03:00
metadata.yaml Migrate charm charmcraft and for the yoga track 2022-04-22 12:52:01 -04:00
osci.yaml Add OVN + neutron-dynamic-routing bundles 2023-05-30 20:51:22 +03:00
rebuild Add xena bundles 2021-09-27 15:33:06 +01:00
rename.sh Migrate charm charmcraft and for the yoga track 2022-04-22 12:52:01 -04:00
requirements.txt Update the charm for new releases 2023-05-24 14:40:45 +03:00
test-requirements.txt Update the charm for new releases 2023-05-24 14:40:45 +03:00
tox.ini Update the charm for new releases 2023-05-24 14:40:45 +03:00