charm-neutron-dynamic-routing:stable/2024.1

Last commit made on 2024-03-25
Get this branch:
git clone -b stable/2024.1 https://git.launchpad.net/charm-neutron-dynamic-routing

Branch merges

Branch information

Name:
stable/2024.1
Repository:
lp:charm-neutron-dynamic-routing

Recent commits

000e53d... by Alex Kavanagh

Updates for caracal testing support

These updates, on the master branch, are to support testing the caracal
packages and support of the charms for caracal. They do NOT lock the charms
down, and don't change the testing branches to stable branches.

Change-Id: Ie58f8722e4eeb06048084fd72c21f1fd614222af

a008114... by Martin Kalcok

Add 2023.2 Bobcat support

* add mantic to metadata series
* align testing with bobcat
* add new bobcat bundles
* add bobcat bundles to tests.yaml
* add bobcat tests to osci.yaml
* update build-on and run-on bases
* drop kinetic

Depends-On: https://review.opendev.org/c/openstack/charm-nova-cloud-controller/+/895840
Change-Id: I9c8c456fae377cf5330c6fbeef86e4fec47e473b

32e0a1f... by Dmitrii Shcherbakov

Add data plane testing for NDR routes

The change includes modifications to bundles to set up components
necessary to spawn instances and provide actual connectivity to them. It
makes the testing more heavy but adds assurances that the data plane
works for the routes advertised by the NDR control plane.

The bundle changes also fix an issue that got in with the original OVN
bundles: manage-neutron-plugin-legacy-mode is set to True and the plugin
is determined to be OVS instead of OVN. The control plane for NDR still
worked but with a non-functioning ML2/ovs config causing OVN DBs to be
empty.

Func-Test-PR: https://github.com/openstack-charmers/zaza-openstack-tests/pull/1076
Change-Id: Ie59b942a0800ce8dd979398f41ed2138472481f1

b97646f... by Dmitrii Shcherbakov

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] https://github.com/openstack/neutron/commit/4d1a7bd0bc3b142a6dc7f8414ed0d30e6c159057
[3] https://github.com/openstack/neutron/blame/cd66232c2b26cb4141c2e9426ce2dec0f38c364c/doc/source/ovn/faq/index.rst#L16-L29
[4] https://github.com/openstack/neutron-dynamic-routing/blob/513ea649be9fd652b0c5b391167f851bc3d653bb/neutron_dynamic_routing/db/bgp_db.py#L564
[5] https://github.com/openstack/neutron-dynamic-routing/blob/513ea649be9fd652b0c5b391167f851bc3d653bb/neutron_dynamic_routing/db/bgp_db.py#L567-L580

Change-Id: I21ba5d79ff100b839874a65e4ddd32f20dfb1311

5963ea4... by Dmitrii Shcherbakov

Update the charm for new releases

* Switch to test bundles;
* Update charmcraft.yaml;
* Update requirements files;
* Switch to ch:osci-frr from ch:quagga;
* Update tox config files.

Func-Test-PR: https://github.com/openstack-charmers/zaza-openstack-tests/pull/1060
Change-Id: Ie611966bb19631a586285f45f27dc52b96ff2937

13a994f... by Alex Kavanagh

Migrate charm charmcraft and for the yoga track

Change-Id: I455d079ffb7ca081d8a1b54d1afcc28d5b8e1751

033a794... by Herve Beraud

Use unittest.mock instead of mock

The mock third party library was needed for mock support in py2
runtimes. Since we now only support py36 and later, we can use the
standard lib unittest.mock module instead.

Note that https://github.com/openstack/charms.openstack is used during tests
and he need `mock`, unfortunatelly it doesn't declare `mock` in its
requirements so it retrieve mock from other charm project (cross dependency).
So we depend on charms.openstack first and when
Ib1ed5b598a52375e29e247db9ab4786df5b6d142 will be merged then CI
will pass without errors.

Depends-On: Ib1ed5b598a52375e29e247db9ab4786df5b6d142
Change-Id: I2bb3b81355a3bd9f6f055d1c66b038f4f0abfd0e

5a518be... by Corey Bryant

Additional test updates

* switch to release-specific zosci functional tests
* switch to yoga zosci unit test job
* add py39

Change-Id: Ia7f9d5b00ac17636cb59280c78ffa60d815db832

594689b... by Corey Bryant

Add yoga bundles and release-tool syncs

* charm-helpers sync for classic charms
* pin pyparsing for aodhclient
* pin cffi for py35
* add non-voting focal-yoga bundle
* add non-voting jammy-yoga bundle
* add series metadata for jammy
* switch xena bundles to voting
* run focal-ussuri as smoke tests
* remove trusty, xenial, and groovy metadata and tests

Change-Id: I11f3688718d11db7043a47d661b75e8ee629f180

7f8c159... by Alex Kavanagh

Add xena bundles

- add non-voting focal-xena bundle
- add non-voting impish-xena bundle
- rebuild to pick up charm-helpers changes
- update tox/pip.sh to ensure setuptools<50.0.0

Change-Id: I65e364b76039cf7ffa496e1c7070d811ee592eb0