Some changes require updating the existing entities in a
clear and transparent way for the user.
This patch adds a mechanism to create separate tasks that
can run periodically or just once in order to update or
modify existing entities that require changes after a new
patch or RFE.
As an example, a first task has been included for updating
existing OVN LB HM ports, changing their device_owner, and
adding their device_id.
Closes-Bug: 2038091
Change-Id: I0d4feb1e5c128d5a768d1b87deb2dcb3ab6d1ea1
To differentiate OVN LB HM (Load Balancer Health Monitor) ports
from Neutron ovn-metadata ports, a new constant will be used for
the 'device_owner' field in OVN LB HM ports.
This change ensures that these ports are not managed by some Neutron
tasks that assume only one port per network should have a 'device_owner'
value of 'network:distributed'.
Partially-Closes: 2038091
Depends-On: https://review.opendev.org/c/openstack/neutron/+/897345
Change-Id: I9a9a55d919fc215bf9a593a894e678c84e395e82
Add file to the reno documentation build to show release notes for
stable/2023.2.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2023.2.
Sem-Ver: feature
Change-Id: I5acf5babe7f81123d3b883ae91e75ae86e198d92
Currently when a FIP is attached to LB VIP after a HM is already
created, the LB_HC created for the new FIP is not including the
port in the vip field. At this way, when a member is in ERROR
operating status, request over the FIP are still distribute
to the ERROR'ed members.
This patch add the port when the FIP is associated to the LB VIP.
Related-Bug: #1997418
Change-Id: Iefe5d67b5a8fc47972b14c4247c381d625efcc09
This patch adds support to configure ovn loadbalancer
affinity_timeout option based on the pool session persistence
timeout.
Change-Id: I07c8f3492e62576f66008e8ea1ef9846bed8c6fa
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
Add file to the reno documentation build to show release notes for
stable/2023.1.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2023.1.
Sem-Ver: feature
Change-Id: I4b12eeeb72bdbc301540564005e476672bfd1012
Add file to the reno documentation build to show release notes for
stable/zed.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/zed.
Sem-Ver: feature
Change-Id: I689f487005a55ef1307872c4c720c5bec8a722ad
In Zed cycle, we have dropped the python 3.6/3.7[1] testing
and its support. Add release notes and update the python
classifier for the same.
[1] https://governance.openstack.org/tc/reference/runtimes/zed.html
Change-Id: I7203351ba2ecc291630b22dc8c727762725beb31
Add file to the reno documentation build to show release notes for
stable/yoga.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/yoga.
Sem-Ver: feature
Change-Id: I66267278c871a8a25740f9e75b163716177f7f5c
Since subnet ID is an optional API argument, if not
available the provider driver will now attempt to look
it up via the pool ID that is required.
Closes-bug: #1896677
Change-Id: Iec17b36ce38be89f83a45ea3ef4c652e837c69c5
Add file to the reno documentation build to show release notes for
stable/xena.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/xena.
Sem-Ver: feature
Change-Id: I1abb410b36ef0d09b829a00cc5b2dd0e02869e47
TCP and UDP Connect health monitors are now supported by the
provider driver, when the underlying OVN version supports
them.
The health monitor uses the OVN distributed DHCP port as the
source IP for messages, one must exist or the create or update
operation will fail. The list of member ports to monitor is
updated whenever one is created or deleted.
Added support for SBDB notifications for Service Monitor
events generated when the OVN health monitor code detects
issues with connectivity. This will trigger updates to the
Octavia objects as members go on/offline so that the Octavia
API reflects the current running state of the load balancer.
Added a lot of new unit and functional tests to cover all the
new code, and enabled the tempest health monitor feature so
those tests are run as well.
Change-Id: I776a7a6b036ad72ce7eaa1ab39f448b344974be6
Add file to the reno documentation build to show release notes for
stable/wallaby.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/wallaby.
Sem-Ver: feature
Change-Id: Iaa02ccbfd86d0bd72f05999083f762540b9e9196
The Octavia API supports 'SCTP' as a protocol when creating
listeners and pools, so add it to OVN_NATIVE_LB_PROTOCOLS.
Core OVN already has support for SCTP.
Required a bump in octavia-lib version to pick-up constant.
Change-Id: Ica57a5c77af61bffba812b35608bfc2a90011ba8
Add file to the reno documentation build to show release notes for
stable/victoria.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/victoria.
Change-Id: Icefb17a0b1dabb67d760ab6bfe44637fe3ea0236
Sem-Ver: feature
Switch to openstackdocstheme 2.2.1 and reno 3.1.0 versions. Using
these versions will allow especially:
* Linking from HTML to PDF document
* Allow parallel building of documents
* Fix some rendering problems
Update Sphinx version as well.
Remove docs requirements from lower-constraints, they are not needed
during install or test but only for docs building.
openstackdocstheme renames some variables, so follow the renames
before the next release removes them. A couple of variables are also
not needed anymore, remove them.
Set openstackdocs_pdf_link to link to PDF file. Note that
the link to the published document only works on docs.openstack.org
where the PDF file is placed in the top-level html directory. The
site-preview places the PDF in a pdf directory.
Set openstackdocs_auto_name to use 'project' as name.
Change pygments_style to 'native' since old theme version always used
'native' and the theme now respects the setting and using 'sphinx' can
lead to some strange rendering.
Change-Id: Ibc90380a5b11a40e8f5adf171416d997f3452bed
Add file to the reno documentation build to show release notes for
stable/ussuri.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/ussuri.
Change-Id: I7945635c080a56526b62849e25556693de48c0ae
Sem-Ver: feature
This change introduces a way of providing multiple listeners and pools
on the same Load Balancer, but with different L4 protocols.
In case there are more than one unique protocol defined in Octavia pools
or Octavia listeners the OVN driver now adds another Load_Balancer row
per protocol, but with the same name. The selection of which OVN
Load_Balancer should be used is done by a protocol key.
This change also adds possibility to expose two listeners on the same
port, but with different L4 protocol. The common use-case is providing
a DNS service that listens both on UDP and TCP sockets.
Partial-Bug: #1789157
Change-Id: I2ee13b75713e7538d1b4f70207a90a95315eb914