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.
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.
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: /zuul.opendev. org/t/openstack /build/ e21631c64801494 694e812fa537bed e8/log/ controller/ logs/etc/ octavia/ octavia- uwsgi.ini
https:/
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 /github. com/openstack/ octavia/ blob/liberty- eol/octavia/ api/app. py#L27
[2] https:/