internal error in symlink proxy
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Object Storage (swift) |
New
|
Undecided
|
Unassigned |
Bug Description
I have enabled symlink middleware.
pipeline before:
#pipeline = catch_errors gatekeeper healthcheck cache container_sync
bulk tempurl ratelimit list-endpoints authtoken swift3 s3token
keystoneauth copy container-quotas account-quotas slo dlo
versioned_writes staticweb proxy-logging proxy-server
pipeline after:
pipeline = catch_errors gatekeeper healthcheck cache container_sync bulk
tempurl ratelimit authtoken s3api s3token keystoneauth list-endpoints
copy container-quotas account-quotas slo dlo versioned_writes staticweb
symlink proxy-logging proxy-server
after that request
http://
returns internal error
#012Traceback (most recent call last):
#012 File
"/usr/lib/
line 75, in handle_request
#012 resp = self._app_call(env)
#012 File "/usr/lib/
1196, in _app_call
#012 resp = self.app(env, self._start_
#012 File
"/usr/lib/
line 122, in __call__
#012 return self.app(env, gatekeeper_
#012 File
"/usr/lib/
line 52, in __call__
#012 return self.app(env, start_response)
#012 File
"/usr/lib/
line 109, in __call__
#012 return self.app(env, start_response)
#012 File "/usr/lib/
1488, in _wsgify_self
#012 return func(self, Request(env))(env, start_response)
#012 File "/usr/lib/
1488, in _wsgify_self
#012 return func(self, Request(env))(env, start_response)
#012 File
"/usr/lib/
line 502, in __call__
#012 return self.app(env, start_response)
#012 File
"/usr/lib/
line 311, in __call__
#012 return self.app(env, start_response)
#012 File "/usr/lib/
__call__
#012 resp = self.call_func(req, *args, **kw)
#012 File "/usr/lib/
call_func
#012 return self.func(req, *args, **kwargs)
#012 File
"/usr/lib/
line 335, in __call__
#012 response = req.get_
#012 File "/usr/lib/
1313, in send
#012 application, catch_exc_
#012 File "/usr/lib/
1277, in call_application
#012 app_iter = application(
#012 File
"/usr/lib/
line 164, in __call__
#012 return resp(env, start_response)
#012 File
"/usr/lib/
line 214, in __call__
#012 return self._app(environ, start_response)
#012 File
"/usr/lib/
line 234, in __call__
#012 return self.app(environ, keystone_
#012 File
"/usr/lib/
line 200, in __call__
#012 return self.app(env, start_response)
#012 File
"/usr/lib/
249, in __call__
#012 return self.app(env, start_response)
#012 File "/usr/lib/
1488, in _wsgify_self
#012 return func(self, Request(env))(env, start_response)
#012 File "/usr/lib/
1488, in _wsgify_self
#012 return func(self, Request(env))(env, start_response)swd
#012 File
"/usr/lib/
1470, in __call__
#012 return self.handle_
#012 File
"/usr/lib/
1432, in handle_
#012 resp = req.get_
#012 File "/usr/lib/
1080, in get_response
#012 status, headers, app_iter = self.call_
#012 File "/usr/lib/
1064, in call_application
#012 app_iter = application(
#012 File
"/usr/lib/
405, in __call__
#012 return self.app(env, start_response)
#012 File
"/usr/lib/
line 846, in __call__
#012 return self.app(env, start_response)
#012 File
"/usr/lib/
line 537, in __call__
#012 return context.
#012 File
"/usr/lib/
line 387, in handle_container
#012 return self.app(env, start_response)
#012 File
"/usr/lib/
line 563, in __call__swd
#012 return context.
#012 File
"/usr/lib/
line 284, in handle_container
#012 app_resp = self._process_
#012 File
"/usr/lib/
line 298, in _process_json_resp
#012 body_json = json.loads(
#012 File "/usr/lib64/
#012 return _default_
#012 File "/usr/lib64/
#012 obj, end = self.raw_decode(s, idx=_w(s, 0).end())
#012 File "/usr/lib64/
raw_decode
#012 raise ValueError("No JSON object could be decoded")
#012ValueError: No JSON object could be decoded (txn:
tx9e92f52c094d4
Huh... this reminds me a lot of https:/ /bugs.launchpad .net/swift/ +bug/1758710 ... I wonder if the listing_formats middleware isn't getting inserted where we expected it to be inserted? Following https:/ /review. openstack. org/#/c/ 449394/ the proxy should always be requesting JSON listings, and the listing_formats middleware *should* get placed far enough left in the pipeline that it middlewares like staticweb, dlo, and symlink will always get back JSON...