On Mon Sep 27 2021 21:30:54 GMT-0700 (Pacific Daylight Time), Ghanshyam Mann <gmann at ghanshyammann.com> wrote: > Yeah. To find out who is corrupting the PATH_INFO and SCRIPT_NAME, > I tried to trace the environ (could not finish it) in webob layer and while > building the Request in webob, environ variables are already corrupted. > > 'PATH_INFO': '//resource_providers' > 'REQUEST_URI': > '/placement/resource_providers?in_tree=baba07a8-3c17-474c-82e6-5d63308a1f9d', > 'SCRIPT_NAME': '/placemen', > > Below log is from webob.des.py->__call__method > - https://paste.opendev.org/show/809639/ > > There is no change in webob recently and as it is only failing in placement (nova, > keystone request works fine) so webob or wsgi is less doubtful and it might be only > in placement server-side in our Request/Response objects ? I looked at this some more and I think I found where the environ gets populated in wsgiref.simple_server [1][2][3][4] in the case of devstack. (pbr generates the WSGI run script which ends up at /usr/local/bin/placement-api in a devstack env and this script uses wsgiref.simple_server as the WSGI server). I can't tell whether there is anything that could now be wrong in [3] or [4] given the recent apache upgrade in focal that Ian found is connected to the change in behavior (thank you Ian!). Maybe someone else can spot something. -melanie [1] https://github.com/openstack/placement/blob/bd5b19c00e1ab293fc157f4699bc4f4719731c25/setup.cfg#L55 [2] https://github.com/openstack/pbr/blob/2297988a7f41b8cb9d03aaea7d5ad9ba4378e54c/pbr/packaging.py#L403 [3] https://github.com/openstack/pbr/blob/2297988a7f41b8cb9d03aaea7d5ad9ba4378e54c/pbr/packaging.py#L365 [4] https://github.com/python/cpython/blob/3.8/Lib/wsgiref/simple_server.py#L85