It is needed to enforce the correct versions of both projects due
to incompatibilities with previous version. The Neutron Bobcat beta
3 should work with neutron-lib 3.8.0.
Change-Id: I1b7e35c92b01c15c9c236861f60d13bc5098330f
python-neutronclient has been deprecated and Octavia has already removed
it in the dependend change below. These are the respective changes on
ovn-octavia-provider side and they are in line with changes in Octavia
itself:
- Replaced code that uses the deprecated `python-neutronclient` library
with code that uses `openstacksdk` and removed `python-neutronclient`
as a dependency.
- Marked certain configuration options that were related to Keystone
authentication as deprecated for removal. In future releases
authentication options options need to be added to the [neutron]
section of the configuration.
Note: After [1] some calls to neutron test_db_base_plugin_v2 had added
a new param 'as_admin' that need to be included in the calls from
ovn-provider functional tests. Squashed with patch [2] to solve
cross dependency.
[1] https://review.opendev.org/c/openstack/neutron/+/879827
[2] https://review.opendev.org/c/openstack/ovn-octavia-provider/+/882715
Depends-On: https://review.opendev.org/c/openstack/octavia/+/866327
Change-Id: I985b24e4a6db962b1e73eeae69a8c96f4b0760ae
LB ip_port_mapping is updated just adding and deleting every member
after any related operation over the LB-HM, this operation was done
in two steps, a db_clear and a db_set.
This patch takes ovsdbapp specific commands for add/del backends to
the ip_port_mapping in a more appropiate way, reducing any further
operation from OVN DBs not related to the member added/deleted. Also
taking care about the possibility of the same backend_ip could be
pointed by other member, under a different HM.
ovsdbapp bumps to 2.1.0 to be able to use those new functionalities [1]
[1] f3c5da5402
Closes-Bug: 2007835
Change-Id: I5705c490bcd36e7e2edcc62954a3ffa0ff645519
This patch switches using f-strings instead of regular ones in places
where pep8 was complaining about with error C0209.
It also updates some of the lower-constraints to align them with
Neutron's lower-constraints and to make ci job happy.
It also changes OVN_BRANCH from "master" to "main" as that was renamed
in the OVN repo some time ago.
Change-Id: I8c805504e8a9e06dcdd4b1ac850d54400ef05b40
Running the python 3.9 unit tests locally results in failures
like:
TypeError: cannot pickle '_thread.RLock' object
Because we are inheriting some of the neutron code, and this
is fixed in that repository, just bump the minimum requirement
to 18.0.0 (Wallaby) now that it is released. This does not
happen in the gate since it is always using master.
Raised minimum of other libraries as necessary.
Change-Id: I820c924189d2973aefcb1452331c904f1ee7051f
Closes-bug: #1923083
Bumped a bunch of constraints and requirements to fix
a gate failure with recent pip update. Required
moving minimum neutron version to Ussuri (16.0.0).
Fix associated new warnings.
Change-Id: Ic6b1dca1c58f982562333a5ae762b1b596355ede
This is a combination of a number of fixes required to
fix the broken gate.
Fix lower-constraints job for focal, bumping requirements
and fixing resultant failuers as necessary.
The devstack module for OVN has now been moved to the
devstack repository, so include it from there so the
functional jobs can run.
Set not_implemented_is_error to False.
The Octavia tempest plugin tests are being changed to
better skip tests for not implemented features. Setting
this to False will treat NotImplemented failures as
skips and not errors.
Fix tempest blacklist regex.
Raise error on listener create with 'allowed_cidrs' present.
Change-Id: I70adcfad3f4d489d94da171670c23dba51d6f2a1
Octavia has a pretty extensive definition of constants,
start using them where possible. Had to tweak a lot of
lines due to wrapping, but functionally nothing should
have changed.
Removed some extra parens where found and other misc
cleanups.
Also bumped neutron-lib to >= 2.1.0 since that is py3-only.
Change-Id: If400730cb759130192966bacf3c6edb9faa18899
There were a number of carry-over constraints and
requirements from neutron and networking-ovn that
are not needed for the OVN provider, remove them.
Update tenacity to version 5.0.2 to match octavia-lib,
else running 'tox -e lower-constraints' will fail with
an error locally.
Also removed the install_command directive from
tox.ini since that could lead to requirements
tests not running properly, it is handled internally
by tox versions > 3.0 and we are using 3.1.0.
Change-Id: I72d1ac0294e22ead8d9f38e09bdefc62a3ce50ff
We shouldn't be using Octavia components except octavia-lib
in provider driver.
For now we only use Neutron client methods from Octavia Neutron network
driver, so this patch removes use of Octavia network driver
in favor of direct use of Neutron Client.
Change-Id: I77802ff65f975f8136daddfe897ae1993bd9c5e9
This code moves OVN Octavia provider driver from networking-ovn
(branch master) repository to this repository.
For first step lets move code and unit tests.
Previous paths in networking-ovn tree:
./networking_ovn/octavia/ovn_driver.py -> ./ovn_octavia_provider/driver.py
./networking_ovn/tests/unit/octavia/test_ovn_driver ->
./ovn_octavia_provider/tests/unit/test_driver.py
There are a few files taken directly from neutron
repository that could be removed when neutron-lib
including those will be released:
./ovn_octavia_provider/ovsdb/impl_idl_ovn.py
./ovn_octavia_provider/ovsdb/ovsdb_monitor.py
Co-Authored-By: Brian Haley <bhaley@redhat.com>
Co-Authored-By: Carlos Goncalves <cgoncalves@redhat.com>
Co-Authored-By: Frode Nordahl <frode.nordahl@canonical.com>
Co-Authored-By: Jakub Libosvar <libosvar@redhat.com>
Co-Authored-By: Maciej Józefczyk <mjozefcz@redhat.com>
Co-Authored-By: Numan Siddique <nusiddiq@redhat.com>
Co-Authored-By: Reedip Banerjee <rbanerje@redhat.com>
Co-Authored-By: Terry Wilson <twilson@redhat.com>
Co-Authored-By: Yunxiang Tao <taoyunxiang@cmss.chinamobile.com>
Co-Authored-By: zhufl <zhu.fanglei@zte.com.cn>
Change-Id: I9b562c4ed5f74df2c3d600356758f4648ac7770b
Related-Blueprint: neutron-ovn-merge