Cannot turn off event publishing pipeline

Bug #1720021 reported by Ashwin Agate
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ceilometer
Fix Released
Medium
gordon chung

Bug Description

In pike there seems to be no way to "turn-off" event publishing.

Before pike you could turn event publishing pipeline off by removing /etc/ceilometer/event_pipeline.yaml, but in pike it now defaults to pipeline/data/event_pipeline.yaml as a fallback location (see https://review.openstack.org/#/c/441734/). It would be great if there was a way to turn off event publishing pipeline via configuration especially since panko and gnocchi might not be deployed (since they are separate components)

description: updated
Revision history for this message
Julien Danjou (jdanjou) wrote :

You can just put an empty event_pipeline.yaml I guess.

But I agree it sucks as it is.

Revision history for this message
Ashwin Agate (ashwin-agate) wrote :

Tried using empty event_pipeline.yaml but ceilometer agent notification fails with this error

```
2017-10-02 23:15:10.979 29652 ERROR cotyledon._utils [-] Unhandled exception: TypeError: argument of type 'NoneType' is not iterable
2017-10-02 23:15:10.979 29652 ERROR cotyledon._utils Traceback (most recent call last):
2017-10-02 23:15:10.979 29652 ERROR cotyledon._utils File "/usr/lib/python2.7/site-packages/cotyledon/_utils.py", line 50, in exit_on_exception
2017-10-02 23:15:10.979 29652 ERROR cotyledon._utils yield
2017-10-02 23:15:10.979 29652 ERROR cotyledon._utils File "/usr/lib/python2.7/site-packages/cotyledon/_service.py", line 133, in _run
2017-10-02 23:15:10.979 29652 ERROR cotyledon._utils self.run()
2017-10-02 23:15:10.979 29652 ERROR cotyledon._utils File "/usr/lib/python2.7/site-packages/ceilometer/notification.py", line 188, in run
2017-10-02 23:15:10.979 29652 ERROR cotyledon._utils self.event_pipeline_manager = pipeline.setup_event_pipeline(self.conf)
2017-10-02 23:15:10.979 29652 ERROR cotyledon._utils File "/usr/lib/python2.7/site-packages/ceilometer/pipeline.py", line 893, in setup_event_pipeline
2017-10-02 23:15:10.979 29652 ERROR cotyledon._utils EVENT_TYPE)
2017-10-02 23:15:10.979 29652 ERROR cotyledon._utils File "/usr/lib/python2.7/site-packages/ceilometer/pipeline.py", line 781, in __init__
2017-10-02 23:15:10.979 29652 ERROR cotyledon._utils if not ('sources' in cfg and 'sinks' in cfg):
2017-10-02 23:15:10.979 29652 ERROR cotyledon._utils TypeError: argument of type 'NoneType' is not iterable
2017-10-02 23:15:10.979 29652 ERROR cotyledon._utils
```

Workaround that Gordon suggested in IRC of setting source to "!*" does work

gordon chung (chungg)
Changed in ceilometer:
assignee: nobody → gordon chung (chungg)
status: New → In Progress
gordon chung (chungg)
Changed in ceilometer:
importance: Undecided → Medium
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to ceilometer (master)

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

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to ceilometer (master)

Reviewed: https://review.openstack.org/517309
Committed: https://git.openstack.org/cgit/openstack/ceilometer/commit/?id=2d67bd21dd334f35af6d7a1e1cf2f4dfd06d06fd
Submitter: Zuul
Branch: master

commit 2d67bd21dd334f35af6d7a1e1cf2f4dfd06d06fd
Author: gord chung <email address hidden>
Date: Wed Nov 1 22:00:08 2017 +0000

    nearly pluggable notification agent

    notification agent now just asks for pipelinemanagers and gets
    endpoints it should broadcast to from there. it only sets up a
    listener for main queue and a listener for internal queue
    (if applicable)

    - pass in publishing/processing context into endpoints instead of
    manager. context is based on partitioning or not
    - move all endpoint/notifier setup to respective pipeline managers
    - change interim broadcast filtering to use event_type rather than
    publisher_id so all filtering uses event_type.
    - add namespace to load supported pipeline managers
    - remove some notification tests as they are redundant and only
    different that it mocks stuff other tests don't mock
    - change relevant_endpoint test to verify endpoints cover all pipelines

    Related-Bug: #1720021
    Change-Id: I9f9073e3b15c4e3a502976c2e3e0306bc99282d9

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

Reviewed: https://review.openstack.org/517715
Committed: https://git.openstack.org/cgit/openstack/ceilometer/commit/?id=60d9b87a808c75c1cd111a7fc788f58e07b34e99
Submitter: Zuul
Branch: master

commit 60d9b87a808c75c1cd111a7fc788f58e07b34e99
Author: gord chung <email address hidden>
Date: Fri Nov 3 20:01:02 2017 +0000

    pluggable notification agent

    event, meter (and any other custom pipeline) can be enabled/disabled
    by setting `pipelines` option under [notification] agent

    Change-Id: Ia21256d0308457d077836e27b45d2acb8bb697e4
    Closes-Bug: #1720021

Changed in ceilometer:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/ceilometer 10.0.0

This issue was fixed in the openstack/ceilometer 10.0.0 release.

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.