<div dir="ltr">Hey folks,<div><br></div><div>From a RHEL/CentOS perspective, uWSGI is also not packaged in the main repositories meaning it is effectively unsupported as well. It is in the Extra Packages for Enterprise Linux (EPEL) repository but we do not support mixing our RDO (OpenStack) packages with EPEL as it will almost always guarantee issues with dependencies. In the TripleO community, because of this, we have had to stick with using Apache's WSGI module for serving the OpenStack API endpoints.</div><div><br></div><div>I do think the proposal sounds great and if anyone wants to work on adding the Puppet bits to support uWSGI then I do not believe anyone will stop you. The real-world testing and usage of it by other distributions may be minimal due to these packaging and support restraints. Alternatively you may also want to look into OpenStack-Ansible as they heavily <a href="https://github.com/openstack/ansible-role-uwsgi">use uWSGI</a> with Ubuntu based containers managed by Ansible.</div><div><br></div><div>Sincerely,</div><div>    Luke Short</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, May 4, 2020 at 6:35 AM Thomas Goirand <<a href="mailto:zigo@debian.org">zigo@debian.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 5/3/20 10:17 PM, Tobias Urdin wrote:<br>
> Hello Thomas,<br>
> Thanks for starting this thread!<br>
> <br>
> I've been thinking about this as well, but due to other reason, how we can continue to abstract the service layer<br>
> used in the Puppet modules.<br>
> <br>
> The most deployed way right now is the <module>::wsgi::apache (using puppetlabs-apache).<br>
> <br>
> Do you think there is a way we could move uWSGI into it's own <module>::wsgi::uwsgi layer and then use an<br>
> upstream uWSGI module to do the actual configuration? Since uWSGI isn't in the OpenStack scope, same as<br>
> Apache configuration hence the usage of puppetlabs-apache.<br>
> <br>
> I've been thinking about a similar concept with other service layers, like Docker with Kolla containers etc even<br>
> though it's kind of out of scope for the Puppet OpenStack project, just thoughts.<br>
> <br>
> Best regards<br>
> Tobias<br>
<br>
Hi Tobias,<br>
<br>
What you must know, is that uwsgi is not in main in Ubuntu (it is in<br>
"universe", meaning it's just imported from Debian Sid when they release<br>
the LTS). This means that Canonical don't provide support for it at all.<br>
If one day, there's a security issue on it, Canonical will claim it is<br>
"community maintained" and therefore, they will put no effort on<br>
upgrading it.<br>
<br>
The consequence is that it's not reasonable to use uwsgi in Ubuntu,<br>
unless the situation with this package changes. We could still support<br>
it, but I wouldn't recommend it for security and maintainability reasons.<br>
<br>
In Debian, the situation is very different. All OpenStack services are<br>
using uwsgi directly, and don't need to be configured in any way to use<br>
uwsgi. You just install <FOO>-api and it runs over UWSGI. So, in terms<br>
of puppet, for Debian, the only thing we need to do is to use something<br>
like this:<br>
<br>
service{ 'foo-api':}<br>
<br>
which looks like what we used to do with Eventlet.<br>
<br>
Now, I don't know what the situation is on CentOS/Red Hat. If you think<br>
it's valuable to support uwsgi there, then why not. But I'm not<br>
interested in contributing it.<br>
<br>
What I care right now, is being able to configure the uwsgi thing for<br>
the API. Namely, being able to configure the "processes" directive is<br>
the most important bit. Just having the puppet provider could be enough,<br>
though integrating it with the API's <service>::api "workers" parameter<br>
would be nice.<br>
<br>
Your thoughts?<br>
<br>
Cheers,<br>
<br>
Thomas Goirand (zigo)<br>
<br>
</blockquote></div>