Bug 1333446

Summary: openstack-ceilometer-notification fails to parse event definitions
Product: Red Hat OpenStack Reporter: Yurii Prokulevych <yprokule>
Component: python-jsonpath-rw-extAssignee: RHOS Maint <rhos-maint>
Status: CLOSED ERRATA QA Contact: Yurii Prokulevych <yprokule>
Severity: unspecified Docs Contact:
Priority: high    
Version: 9.0 (Mitaka)CC: apevec, jjoyce, jruzicka, jschluet, lhh, mburns, nlevinki, srevivo
Target Milestone: gaKeywords: Triaged
Target Release: 9.0 (Mitaka)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-jsonpath-rw-ext-1.0.0-1.el7ost Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-08-11 12:18:52 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Yurii Prokulevych 2016-05-05 14:11:23 UTC
Description of problem:
When store_events is configured to True in ceilometer.conf openstack-ceilometr-notification.service fails to restart with next error: 

2016-05-05 14:44:23.669 64599 ERROR oslo_service.service [req-80f8b13a-ab0f-454f-a0bf-06d5c00e5089 - - - - -] Error starting thread.
2016-05-05 14:44:23.669 64599 ERROR oslo_service.service Traceback (most recent call last):
2016-05-05 14:44:23.669 64599 ERROR oslo_service.service   File "/usr/lib/python2.7/site-packages/oslo_service/service.py", line 680, in run_service
2016-05-05 14:44:23.669 64599 ERROR oslo_service.service     service.start()
2016-05-05 14:44:23.669 64599 ERROR oslo_service.service   File "/usr/lib/python2.7/site-packages/ceilometer/notification.py", line 179, in start
2016-05-05 14:44:23.669 64599 ERROR oslo_service.service     self.event_pipe_manager)
2016-05-05 14:44:23.669 64599 ERROR oslo_service.service   File "/usr/lib/python2.7/site-packages/ceilometer/notification.py", line 214, in _configure_main_queue_listeners
2016-05-05 14:44:23.669 64599 ERROR oslo_service.service     event_endpoint.EventsNotificationEndpoint(event_pipe_manager))
2016-05-05 14:44:23.669 64599 ERROR oslo_service.service   File "/usr/lib/python2.7/site-packages/ceilometer/event/endpoint.py", line 36, in __init__
2016-05-05 14:44:23.669 64599 ERROR oslo_service.service     namespace='ceilometer.event.trait_plugin'))
2016-05-05 14:44:23.669 64599 ERROR oslo_service.service   File "/usr/lib/python2.7/site-packages/ceilometer/event/converter.py", line 301, in setup_events
2016-05-05 14:44:23.669 64599 ERROR oslo_service.service     add_catchall=not cfg.CONF.event.drop_unmatched_notifications)
2016-05-05 14:44:23.669 64599 ERROR oslo_service.service   File "/usr/lib/python2.7/site-packages/ceilometer/event/converter.py", line 267, in __init__
2016-05-05 14:44:23.669 64599 ERROR oslo_service.service     for event_def in reversed(events_config)]
2016-05-05 14:44:23.669 64599 ERROR oslo_service.service   File "/usr/lib/python2.7/site-packages/ceilometer/event/converter.py", line 129, in __init__
2016-05-05 14:44:23.669 64599 ERROR oslo_service.service     trait_plugin_mgr)
2016-05-05 14:44:23.669 64599 ERROR oslo_service.service   File "/usr/lib/python2.7/site-packages/ceilometer/event/converter.py", line 56, in __init__
2016-05-05 14:44:23.669 64599 ERROR oslo_service.service     super(TraitDefinition, self).__init__(name, trait_cfg, plugin_manager)
2016-05-05 14:44:23.669 64599 ERROR oslo_service.service   File "/usr/lib/python2.7/site-packages/ceilometer/declarative.py", line 94, in __init__
2016-05-05 14:44:23.669 64599 ERROR oslo_service.service     % dict(jsonpath=fields, name=name, err=e), self.cfg)
2016-05-05 14:44:23.669 64599 ERROR oslo_service.service DefinitionException: Parse error in JSONPath specification 'publisher_id.`split(., 1, 1)`' for host: Unknown named operator `split(., 1, 1)` at 1:28
2016-05-05 14:44:23.669 64599 ERROR oslo_service.service 

Problem looks to be while processing event_definitions.yaml

Version-Release number of selected component (if applicable):
openstack-ceilometer-api-6.0.0-2.el7ost.noarch
openstack-ceilometer-polling-6.0.0-2.el7ost.noarch
python-ceilometerclient-2.3.0-1.el7ost.noarch
openstack-ceilometer-compute-6.0.0-2.el7ost.noarch
python-ceilometer-6.0.0-2.el7ost.noarch
openstack-ceilometer-notification-6.0.0-2.el7ost.noarch
openstack-ceilometer-central-6.0.0-2.el7ost.noarch
openstack-ceilometer-collector-6.0.0-2.el7ost.noarch
openstack-ceilometer-common-6.0.0-2.el7ost.noarch

python-jsonpath-rw-ext-0.1.7-1.2.el7ost.noarch
python-jsonpath-rw-1.2.3-2.el7ost.noarch

Steps to Reproduce:
1. Enable store_events in ceiometer.conf
2. Restart openstack-ceilometer-notification

Additional info:
After upgrading jsonpath-rw-ext to versoin 0.1.9 service managed to restart correctly and process events

Comment 5 Yurii Prokulevych 2016-06-08 15:38:01 UTC
Verified with python-jsonpath-rw-ext-1.0.0-1.el7ost.noarch.

Ceilometer collects/processes/stores events as expected.

Comment 7 errata-xmlrpc 2016-08-11 12:18:52 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHEA-2016-1597.html