[openstack-dev] [heat] [devstack] [infra] heat api services with uwsgi
ramishra at redhat.com
Tue May 23 05:23:46 UTC 2017
As per the updated community goal for api deployment with wsgi, we've
to transition to use uwsgi rather than mod_wsgi at the gate. It also seems
mod_wsgi support would be removed from devstack in Queens.
I've been working on a patch for the transition and encountered a few
issues as below.
1. We encode stack_indentifer(<stack_name/stack_id> along with the path
separator in heatclient. So, requests with encoded path separators are
dropped by apache (with 404), if we don't have 'AllowEncodedSlashes On'
directive in the site/vhost config.
Setting this for mod_proxy_uwsgi seems to work on fedora but not
ubuntu. From my testing It seems, it has to be set in 000-default.conf for
Rather than messing with the devstack plugin code, I went ahead proposed a
change to not encode the path separators in heatclient ( Anyway they
would be decoded by apache with the directive 'AllowEncodedSlashes On'
before it's consumed by the service) which seem to have fixed those 404s.
Is there a generic way to set the above directive (when using
apache+mod_proxy_uwsgi) in the devstack plugin?
2. With the above, most of the tests seem to work fine other than the ones
using waitcondition, where we signal back from the vm to the api services.
I could see " curl: (7) Failed to connect to 10.0.1.78 port 80: No route to
host" in the vm console logs.
It could connect to heat api services using ports 8004/8000 without this
patch, but not sure why not port 80? I tried testing this locally and
didn't see the issue though.
Is this due to some infra settings or something else?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the OpenStack-dev