Ceilometer policy.json includes python unicode encoding

Bug #1719517 reported by Christian Zunker
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack-Ansible
Fix Released
Undecided
Unassigned

Bug Description

During an installation of ocata/15.1.8 the ceilometer policy.json file is generated as follows:
{'telemetry:create_samples': u'', 'telemetry:query_sample': u'', 'telemetry:get_resources': u'', 'telemetry:get_meters': u'', 'segregation': u'rule:context_is_admin', 'telemetry:get_resource': u'', 'context_is_admin': u'role:admin', 'telemetry:get_sample': u'', 'telemetry:compute_statistics': u'', 'telemetry:get_samples': u''}

The unicode encodings lead to these errors during startup of the API:
2017-09-25 07:50:23.687161 mod_wsgi (pid=24842): Exception occurred processing WSGI script '/var/www/cgi-bin/ceilometer/ceilometer-api'.
2017-09-25 07:50:23.687182 Traceback (most recent call last):
2017-09-25 07:50:23.687197 File "/var/www/cgi-bin/ceilometer/ceilometer-api", line 28, in <module>
2017-09-25 07:50:23.687277 application = app.load_app(conf)
2017-09-25 07:50:23.687287 File "/openstack/venvs/ceilometer-15.1.8/lib/python2.7/site-packages/ceilometer/api/app.py", line 106, in load_app
2017-09-25 07:50:23.687341 global_conf={'configkey': configkey})
2017-09-25 07:50:23.687349 File "/openstack/venvs/ceilometer-15.1.8/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 247, in loadapp
2017-09-25 07:50:23.687522 return loadobj(APP, uri, name=name, **kw)
2017-09-25 07:50:23.687536 File "/openstack/venvs/ceilometer-15.1.8/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 272, in loadobj
2017-09-25 07:50:23.687562 return context.create()
2017-09-25 07:50:23.687573 File "/openstack/venvs/ceilometer-15.1.8/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 710, in create
2017-09-25 07:50:23.687593 return self.object_type.invoke(self)
2017-09-25 07:50:23.687604 File "/openstack/venvs/ceilometer-15.1.8/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 203, in invoke
2017-09-25 07:50:23.687622 app = context.app_context.create()
2017-09-25 07:50:23.687631 File "/openstack/venvs/ceilometer-15.1.8/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 710, in create
2017-09-25 07:50:23.687644 return self.object_type.invoke(self)
2017-09-25 07:50:23.687649 File "/openstack/venvs/ceilometer-15.1.8/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 146, in invoke
2017-09-25 07:50:23.687659 return fix_call(context.object, context.global_conf, **context.local_conf)
2017-09-25 07:50:23.687664 File "/openstack/venvs/ceilometer-15.1.8/lib/python2.7/site-packages/paste/deploy/util.py", line 55, in fix_call
2017-09-25 07:50:23.687710 val = callable(*args, **kw)
2017-09-25 07:50:23.687716 File "/openstack/venvs/ceilometer-15.1.8/lib/python2.7/site-packages/ceilometer/api/app.py", line 112, in app_factory
2017-09-25 07:50:23.687729 return setup_app(conf=conf)
2017-09-25 07:50:23.687734 File "/openstack/venvs/ceilometer-15.1.8/lib/python2.7/site-packages/ceilometer/api/app.py", line 51, in setup_app
2017-09-25 07:50:23.687744 app_hooks = [hooks.ConfigHook(conf),
2017-09-25 07:50:23.687749 File "/openstack/venvs/ceilometer-15.1.8/lib/python2.7/site-packages/ceilometer/api/hooks.py", line 38, in __init__
2017-09-25 07:50:23.687792 self.enforcer.load_rules()
2017-09-25 07:50:23.687799 File "/openstack/venvs/ceilometer-15.1.8/lib/python2.7/site-packages/oslo_policy/policy.py", line 525, in load_rules
2017-09-25 07:50:23.687970 overwrite=self.overwrite)
2017-09-25 07:50:23.687977 File "/openstack/venvs/ceilometer-15.1.8/lib/python2.7/site-packages/oslo_policy/policy.py", line 662, in _load_policy_file
2017-09-25 07:50:23.687991 rules = Rules.load(data, self.default_rule)
2017-09-25 07:50:23.688000 File "/openstack/venvs/ceilometer-15.1.8/lib/python2.7/site-packages/oslo_policy/policy.py", line 354, in load
2017-09-25 07:50:23.688019 parsed_file = parse_file_contents(data)
2017-09-25 07:50:23.688029 File "/openstack/venvs/ceilometer-15.1.8/lib/python2.7/site-packages/oslo_policy/policy.py", line 340, in parse_file_contents
2017-09-25 07:50:23.688047 raise ValueError(six.text_type(e))
2017-09-25 07:50:23.688070 ValueError: while scanning a plain scalar
2017-09-25 07:50:23.688074 in "<string>", line 1, column 142:
2017-09-25 07:50:23.688077 ... et_meters': u'', 'segregation': u'rule:context_is_admin', 'telem ...
2017-09-25 07:50:23.688080 ^
2017-09-25 07:50:23.688084 found unexpected ':'
2017-09-25 07:50:23.688087 in "<string>", line 1, column 148:
2017-09-25 07:50:23.688091 ... ers': u'', 'segregation': u'rule:context_is_admin', 'telemetry:g ...
2017-09-25 07:50:23.688094 ^
2017-09-25 07:50:23.688098 Please check http://pyyaml.org/wiki/YAMLColonInFlowContext for details.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to openstack-ansible-os_ceilometer (stable/ocata)

Fix proposed to branch: stable/ocata
Review: https://review.openstack.org/507368

Revision history for this message
Christian Zunker (christian-zunker) wrote :

There was also a discussion on IRC, how to fix this:
http://eavesdrop.openstack.org/irclogs/%23openstack-ansible/%23openstack-ansible.2017-06-15.log.html

But I couldn't find any commit. Perhaps alextricity25 or palendae have a hint about another solution.

Revision history for this message
Christian Zunker (christian-zunker) wrote :

This has to be merged first:
https://review.openstack.org/#/c/508109/

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to openstack-ansible-os_ceilometer (stable/ocata)

Reviewed: https://review.openstack.org/507368
Committed: https://git.openstack.org/cgit/openstack/openstack-ansible-os_ceilometer/commit/?id=1d85ab4cd4b1efbedb1c6c494f32d2009fa86074
Submitter: Zuul
Branch: stable/ocata

commit 1d85ab4cd4b1efbedb1c6c494f32d2009fa86074
Author: Christian Zunker <email address hidden>
Date: Tue Sep 26 08:31:18 2017 +0200

    Remove python unicode encoding from policy.json file

    The filter removes the u'' from json values, which lead to errors
    during ceilometer API startup.

    Change-Id: Ia2919fc59acd1e9f2f0393c79bc25618e29a522c
    Closes-Bug: 1719517

tags: added: in-stable-ocata
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/openstack-ansible-os_ceilometer 15.1.16

This issue was fixed in the openstack/openstack-ansible-os_ceilometer 15.1.16 release.

Changed in openstack-ansible:
status: New → Fix Released
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.