[all] Any good alternatives to uwsgi?

Michael Johnson johnsomor at gmail.com
Wed Feb 22 16:02:30 UTC 2023


Just a couple of thoughts on this,

mod_wsgi has had memory and shared library issues historically and
also seems to have limited development support[1].

The Octavia API uses uwsgi, like most OpenStack APIs.

In the Octavia amphora images we have been using gunicorn since 2016.
This was done to limit the footprint of the service VMs. In my opinion
it has worked out well for the project. I hope we seriously consider
it if we decide to replace uwsgi.

Michael

[1] https://modwsgi.readthedocs.io/en/master/project-status.html

On Wed, Feb 22, 2023 at 5:01 AM Sean Mooney <smooney at redhat.com> wrote:
>
> On Wed, 2023-02-22 at 13:18 +0100, Christian Rohmann wrote:
> > On 22/02/2023 11:14, Thomas Goirand wrote:
> > > I do not like at all using Apache mod_wsgi, because restarting Apache
> > > would mean restarting all services. So I prefer something standalone.
> >
> > I second this argument.
> >
> > 1) I always thought the standalone mode for individual services was the
> > way to go - depending on which distro and deployment tooling one uses
> > this was either default or an option for some (most) services.
> >
> > 2) Being able to switch the webserver to something other than Apache
> > with no dependency to mod_wsgi is nice. Like when running on Kubernetes
> > and using NGINX or whatever to do the reverse proxying.
> i think of the option grunicorn is the closet to what uwsig provided and it also support pastedeploy.
>
> lokiing at the monasca logs you can just run it like this
>
> gunicorn -k eventlet --worker-connections=2000 --backlog=1000 --paste /etc/monasca/api-config.ini
>
> https://opendev.org/openstack/monasca-api/src/branch/master/README.rst#L48
>
> im not sure it woudl work out of the box with  https://github.com/openstack/nova/blob/master/etc/nova/api-paste.ini
> the same way but i think ti woudl be doable
>
> looking at starlingx they are already using it
> https://opendev.org/starlingx/upstream/src/branch/master/openstack/python-horizon/centos/files/horizon.init#L21
>
> as is skyline and bifrost at least for susitools for testing.
>
> its also used in octavia and ironic have an example
> https://opendev.org/openstack/ironic/src/branch/master/doc/source/install/include/configure-ironic-api-mod_wsgi.inc#L101
>
>   gunicorn -b 0.0.0.0:6385 'ironic.api.wsgi:initialize_wsgi_app(argv=[])'
>
> so i think while its not a exact drop in replacme form a cli perspective it could be used with most of the service today.
> we woudl have to test it but placement for example is ment to be deployable with nginx and gunicorn we jsut dont test that.
>
>
> >
> >
> >
> > Regards
> >
> >
> > Christian
> >
> >
>
>



More information about the openstack-discuss mailing list