Comma at the end of policy.json causes json loads to fail

Bug #1609791 reported by Avishay Traeger
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cinder
Fix Released
Undecided
Avishay Traeger

Bug Description

2016-08-04 15:51:26.334 ERROR cinder.api.middleware.fault [req-3e8151e6-e74d-4dd7-8089-10aad1c87cc5 admin] Caught error: <type 'exceptions.ValueError'> Expecting property name enclosed in double quotes: line 120 column 1 (char 5674)
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault Traceback (most recent call last):
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault File "/opt/stack/cinder/cinder/api/middleware/fault.py", line 79, in __call__
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault return req.get_response(self.application)
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1317, in send
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault application, catch_exc_info=False)
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1281, in call_application
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault app_iter = application(self.environ, start_response)
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault return resp(environ, start_response)
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault resp = self.call_func(req, *args, **self.kwargs)
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault return self.func(req, *args, **kwargs)
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault File "/usr/local/lib/python2.7/dist-packages/osprofiler/web.py", line 108, in __call__
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault return request.get_response(self.application)
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1317, in send
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault application, catch_exc_info=False)
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1281, in call_application
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault app_iter = application(self.environ, start_response)
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault resp = self.call_func(req, *args, **self.kwargs)
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault return self.func(req, *args, **kwargs)
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault File "/usr/local/lib/python2.7/dist-packages/keystonemiddleware/auth_token/__init__.py", line 467, in __call__
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault response = req.get_response(self._app)
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1317, in send
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault application, catch_exc_info=False)
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1281, in call_application
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault app_iter = application(self.environ, start_response)
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault resp = self.call_func(req, *args, **self.kwargs)
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault return self.func(req, *args, **kwargs)
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault File "/opt/stack/cinder/cinder/api/middleware/auth.py", line 124, in __call__
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault request_id=req_id)
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault File "/opt/stack/cinder/cinder/context.py", line 101, in __init__
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault self.is_admin = policy.check_is_admin(self.roles, self)
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault File "/opt/stack/cinder/cinder/policy.py", line 93, in check_is_admin
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault return _ENFORCER.enforce('context_is_admin', target, credentials)
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault File "/usr/local/lib/python2.7/dist-packages/oslo_policy/policy.py", line 540, in enforce
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault self.load_rules()
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault File "/usr/local/lib/python2.7/dist-packages/oslo_policy/policy.py", line 446, in load_rules
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault overwrite=self.overwrite)
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault File "/usr/local/lib/python2.7/dist-packages/oslo_policy/policy.py", line 490, in _load_policy_file
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault rules = Rules.load_json(data, self.default_rule)
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault File "/usr/local/lib/python2.7/dist-packages/oslo_policy/policy.py", line 306, in load_json
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault for k, v in jsonutils.loads(data).items()}
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault File "/usr/local/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py", line 229, in loads
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault return json.loads(encodeutils.safe_decode(s, encoding), **kwargs)
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault File "/usr/lib/python2.7/json/__init__.py", line 338, in loads
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault return _default_decoder.decode(s)
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault File "/usr/lib/python2.7/json/decoder.py", line 366, in decode
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault obj, end = self.raw_decode(s, idx=_w(s, 0).end())
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault File "/usr/lib/python2.7/json/decoder.py", line 382, in raw_decode
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault obj, end = self.scan_once(s, idx)
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault ValueError: Expecting property name enclosed in double quotes: line 120 column 1 (char 5674)
2016-08-04 15:51:26.334 32150 ERROR cinder.api.middleware.fault

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to cinder (master)

Fix proposed to branch: master
Review: https://review.openstack.org/351177

Changed in cinder:
assignee: nobody → Avishay Traeger (avishay-il)
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to cinder (master)

Reviewed: https://review.openstack.org/351177
Committed: https://git.openstack.org/cgit/openstack/cinder/commit/?id=55a7de0d083177846849bd75c4def9b3610df4b3
Submitter: Jenkins
Branch: master

commit 55a7de0d083177846849bd75c4def9b3610df4b3
Author: Avishay Traeger <email address hidden>
Date: Thu Aug 4 16:08:42 2016 +0300

    Remove comma from end of policy.json

    This superfluous comma causes json.loads() to fail.

    Change-Id: I5685f70cbc707325a8ad9e5c5f3f3d97f3ef6ffe
    Closes-Bug: #1609791

Changed in cinder:
status: In Progress → Fix Released
Revision history for this message
Thierry Carrez (ttx) wrote : Fix included in openstack/cinder 9.0.0.0b3

This issue was fixed in the openstack/cinder 9.0.0.0b3 development milestone.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.