Comment 4 for bug 1874228

Revision history for this message
Michael Johnson (johnsom) wrote :

The Octavia API is a WSGI application and should never be run via the simple_server based "octavia-api" script in a production deployment. The python simple_server will not scale to production workloads.

We have a warning log message in the code for this: https://github.com/openstack/octavia/blob/master/octavia/cmd/api.py#L44

Octavia uses the PBR WSGI hook[1] to deploy a WSGI stub file on deployment called octavia-wsgi that can be used with most WSGI frameworks. Others can hook directly to the setup_app.

Like the other OpenStack projects that support WSGI, we highly recommend running it under a WSGI framework like uWSGI or gunicorn.

Devstack and the upstream zuul gates run Octavia this way:
https://zuul.opendev.org/t/openstack/build/e21631c64801494694e812fa537bede8/log/controller/logs/etc/octavia/octavia-uwsgi.ini

On a side note, Octavia API has supported IPv6 since the initial Liberty release as far as I can remember. Octavia API has always been a WSGI app[2].

[1] https://github.com/openstack/octavia/blob/master/setup.cfg#L43
[2] https://github.com/openstack/octavia/blob/liberty-eol/octavia/api/app.py#L27