Files
octavia/releasenotes/notes/remove-wsgi-scripts-a66048263bd550c6.yaml
Eduardo Olivares 8ebf8d27c4 Add wsgi module to Octavia and remove wsgi script
Changes in python packaging tooling mean that the wsgi_scripts
functionality via PBR may not longer function.

This patch switches Octavia from using the PBR wsgi_scripts method to
using a new wsgi module that provides the same behavior as the generated
wsgi scripts provided.

A related devstack patch enables devstack to setup uWSGI to use the new
module path instead of the generated wsgi scripts.

This also aligns Octavia to a new proposed OpenStack goal[1].

[1] https://review.opendev.org/c/openstack/governance/+/902807

Depends-On: https://review.opendev.org/c/openstack/devstack/+/902758

Closes-Bug: #2109665

In order to make the CI work, this patch was merged with:

zuul: Drop centos9/py39 and make grenade and barbican non-voting

The requirements repo has dropped upper-constraints for python3.9, so
the centos9 and py39 based jobs are no longer working on master, let's
drop them.

The grenade jobs are broken due to the #2109665, make them
temporarily non-voting, so that we can merge the fix[0] on master first,
backport it and then re-enable them.

Finally, octavia-v2-dsvm-tls-barbican fails due to #2109584, so a fix
similar to [0] will be needed for barbican.

[0] https://review.opendev.org/c/openstack/octavia/+/902812

Related-Bug: #2109665
Related-Bug: #2109584

Change-Id: I54f8144a3347c3c5bf2e2e99e9d500a0c6fb89eb
2025-05-01 15:29:59 +00:00

30 lines
909 B
YAML

---
features:
- |
A new module, ``octavia.wsgi``, has been added as a place to gather WSGI
``application`` objects. This is intended to ease deployment by providing
a consistent location for these objects. For example, if using uWSGI then
instead of:
.. code-block:: ini
[uwsgi]
wsgi-file = /bin/octavia-wsgi
You can now use:
.. code-block:: ini
[uwsgi]
module = octavia.wsgi.api:application
This also simplifies deployment with other WSGI servers that expect module
paths such as gunicorn.
upgrade:
- |
The WSGI script ``octavia-wsgi`` has been removed. Deployment tooling
should instead reference the Python module path for the wsgi module in
Octavia, ``octavia.wsgi.api:application`` if their chosen WSGI server
supports this (gunicorn, uWSGI, etc.) or implement a .wsgi script
themselves if not (mod_wsgi).