[openstack-dev] [devstack] apache wsgi application support

Monty Taylor mordred at inaugust.com
Wed Jun 24 19:24:09 UTC 2015


On 06/24/2015 02:05 PM, Sean Dague wrote:
> On 06/24/2015 01:51 PM, Brant Knudson wrote:
>>
>>
>> On Wed, Jun 24, 2015 at 7:27 AM, Chris Dent <chdent at redhat.com
>> <mailto:chdent at redhat.com>> wrote:
>>
>>     On Wed, 24 Jun 2015, Sean Dague wrote:
>>
>>         On 06/24/2015 07:57 AM, Chris Dent wrote:
>>
>>             If the primary reason is so that we can rely on the
>>             console_scripts
>>             entry point to handle getting the application somewhere
>>             useful then
>>             that too feels a bit crufty, in the sense of "that's a hack".
>>
>>
>>     [snip]
>>
>>         The reason I want this is so that the upgrade process for
>>         keystone is:
>>
>>         pip install ./keystone
>>
>>         And not have to also have knowledge about the contents of the
>>         keystone
>>         source directory. Today a lot of installation and upgrade logic for
>>         packages is "left as an exercise for the reader", which means
>>         devstack,
>>         ansible, rpms, debs all end up doing a bunch of work beyond pip
>>         install.
>>         Minimizing that by bringing more of this back into what pip
>>         install does
>>         will make for a more common base moving forward for everyone.
>>
>>
>>     Makes sense. My only concern would be the somewhat of a mismatch in
>>     semantics between console_scripts and what is not a console script.
>>
>>     Does anyone who is more familiar with entry points know of an
>>     alternative that will accomplish the same sort of thing?
>>
>>     If there's not, then awesome, let's do it.
>>
>>     -- 
>>     Chris Dent tw:@anticdent freenode:cdent
>>     https://tank.peermore.com/tanks/cdent
>>
>>
>> I tried console_scripts and there is a mismatch between what a console
>> script is and a wsgi script. A wsgi script must export an "application"
>> symbol and the generated console script doesn't. Maybe setuptools will
>> be enhanced someday to also support wsgi scripts but until then I think
>> we're stuck.
>>
>> One thing I should have looked at earlier is how devstack handles
>> horizon, since it's already running in Apache Httpd. The devstack
>> horizon setup uses the wsgi script out of the devstack source directories:
>>
>>     WSGIScriptAlias /
>> /opt/stack/horizon/openstack_dashboard/wsgi/django.wsgi
>>
>> Docs:
>> [1]
>> https://pythonhosted.org/setuptools/setuptools.html#automatic-script-creation
>> -- console_scripts and gui_scripts
>> [2] docs.openstack.org/developer/pbr/#files
>> <http://docs.openstack.org/developer/pbr/#files> -- I couldn't get this
>> to work for some reason
> 
> Hmmm... bummer. Oh well.

pbr is actually the one that creates console_scripts for us, as the ones
generated by setuptools are unusable for us (they use entrypoints which
is the reason rootwrap was super slow 8 months ago)

As we have all the bits to produce such scripts in the way we want and
already do so - adding declarative wsgi scripts is likely about 5 lines
of code and I think would be super useful.

(I said most of this to sdague in IRC)



More information about the OpenStack-dev mailing list