notifications.info queue grows despite notification_driver being set to null on all conf files.

Bug #1616135 reported by Javier Diaz Jr
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Mirantis OpenStack
Fix Released
Medium
Ivan Berezovskiy
7.0.x
Invalid
Medium
Alexey Stupnikov
8.0.x
Invalid
Medium
Alexey Stupnikov
9.x
Fix Released
Medium
Ivan Berezovskiy

Bug Description

Detailed bug description:
Basically, a customer requires ceilometer to be disabled. We have done that successfully, however, as you may know the rest of the services will continue to publish messages to the info queue for ceilometer to consume. Without ceilometer that queue will grow and grow. We have since set `notification_driver=` to blank on all services and restart all APIs/neutron-server/and nova-compute. The info queue is a lot smaller now after purging the queue, however, the queue still grows when we delete and create instances. It appears to be neutron, but I cant for the life of me figure out exactly how to stop it.

Here is the message payload:

{"_context_roles": ["Member"], "_context_request_id": "req-95b0ebc6-2a94-4b11-b763-8b790ae077c5", "event_type": "port.delete.start", "timestamp": "2016-08-22 18:39:33.145863", "_context_tenant_id": "2297e1dd886e4e4e973985299bdce5e9", "_unique_id": "afca5549c40a42baa0f3a9b5fb1d96df", "_context_tenant_name": "Win2k8", "_context_user": "3d8a88bd06444dcb87a44907b1ffe604", "_context_user_id": "3d8a88bd06444dcb87a44907b1ffe604", "payload": {"port_id": "1953f662-9ccf-42e7-aec1-9a4f856ef5f7"}, "_context_project_name": "Win2k8", "_context_read_deleted": "no", "_context_tenant": "2297e1dd886e4e4e973985299bdce5e9", "priority": "INFO", "_context_is_admin": false, "_context_project_id": "2297e1dd886e4e4e973985299bdce5e9", "_context_timestamp": "2016-08-22 18:39:33.142453", "_context_user_name": "0171070", "publisher_id": "<email address hidden>(edited for privacy reasons)", "message_id": "ad0329e0-eb56-4b36-b0e1-480a90ce403a"}

[root@CONTROLLER-1 ~]# find /etc/ -name \*.conf -exec grep -HiR '^notification_driver' {} \;
/etc/cinder/cinder-amers1a.conf:notification_driver =
/etc/cinder/cinder.conf:notification_driver =
/etc/cinder/cinder-amers1b.conf:notification_driver =
/etc/nova/nova.conf:notification_driver=
/etc/glance/glance-api.conf:notification_driver =
/etc/heat/heat.conf:notification_driver =
/etc/neutron/neutron.conf:notification_driver =

[root@COMPUTE-1 ~]# find /etc/ -name \*.conf -exec grep -HiR '^notification_driver' {} \;
/etc/nova/nova.conf:notification_driver=
/etc/nova/nova.conf:notification_driver=
/etc/nova/nova.conf:notification_driver=

Steps to reproduce:
1. Stop all ceilometer related services on controllers and compute nodes.
2. Find all conf files with notification_driver variable (find /etc/ -name \*.conf -exec grep -HiR '^notification_driver' {} \;)
3. Set notification_driver variable to blank or noop.
4. Restart all corresponding APIs, neutron-server, nova-compute.
5. Purge notifications.info queue to clear queue.
6. Create and delete instance.
7. notifiactions.info queue grows again.

Expected results:
Queue should no longer be published to.
Actual result:
Neutron appears to be publishing messages from port create and port delete (see above payload)
Reproducibility:
100%
Workaround:
Cron job to purge queue manually.
Impact:
If no cron job is configured the queue will grow to large and rabbit may experience issues.
Description of the environment:
- Operation system: Ubuntu 14.04
- Versions of components: MOS 7.0 MU4, MOS 5.1 ( I assume other MOS versions are affected too)

description: updated
description: updated
tags: added: customer-found
Andrii Petrenko (aplsms)
tags: added: support
Changed in mos:
assignee: nobody → MOS Maintenance (mos-maintenance)
Revision history for this message
Kirill Bespalov (k-besplv) wrote :

As I can see here:

https://github.com/openstack/fuel-library/blob/a47d71b1fea83100d44f1e33a471d1020d1d94bd/deployment/puppet/openstack_tasks/manifests/heat/heat.pp#L219

in the heat a notification driver setup as constant string (notice that is custom notification driver - heat.openstack.*) without any dependency on the ceilometer.
So, heat always sends notifications and we need to change this behavior:
  if ceilometer is enabled - the notification_driver value must be heat.openstack.common.notifier.rpc_notifier,
  if not - notification_driver must be empty string (means notifications are disabled)

Revision history for this message
Javier Diaz Jr (javierdiazcharles) wrote :

notification_driver has been set to empty across entire environment and issue persists. See link for process on how to reproduce in MOS 7.0

http://paste.ubuntu.com/23085388/

Revision history for this message
Dmitry Mescheryakov (dmitrymex) wrote :

Puppet team, as per Kirill's comment please disable notifications in Heat when Ceilometer is not installed.

Revision history for this message
Dmitry Mescheryakov (dmitrymex) wrote :

Also, Maintenance team, probably you will find that in older releases other components send notifications without Ceilo being enabled. If you need help with that, call us.

Revision history for this message
Javier Diaz Jr (javierdiazcharles) wrote :

Ping me directly if you require access to lab where issue is produced.

Revision history for this message
Ivan Berezovskiy (iberezovskiy) wrote :

Mitaka patch to fix issue with Heat notification driver - https://review.openstack.org/#/c/360557/

tags: added: area-library
Revision history for this message
Ivan Berezovskiy (iberezovskiy) wrote :

Fuel-library part is merged

Revision history for this message
Alexey Stupnikov (astupnikov) wrote :

Looks like fix committed for Mitaka for me. Please correct me if I am wrong.

tags: added: on-verification
tags: removed: on-verification
Revision history for this message
Nastya Urlapova (aurlapova) wrote :

I didn't get any confirmation from ceilo-qa-team about current situation, which is described in issue. Moved to Fix Released state.

Revision history for this message
Alexey Stupnikov (astupnikov) wrote :

Hi Javier!

I have tried to reproduce reported issue using another configuration change and had no success (I have used simple env with cinder/swift storage and lack of additional services). Let me try to describe the steps I have made:
1. I have reconfigured controller's and compute's services in a way it will be configured by fuel if ceilometer service will be disabled:
1.1. I have deleted all notification_driver configuration entries for all services except glance-api. I have set notification_driver =noop for glance-api.
1.2. I have excluded ceilometer pipeline from swift's proxy configuration.
1.3. I have disabled ceilometer services in upstart and crm
1.4. I haven't done it, but it is possible that you will have to modify rabbitmq's routing configuration for other services like sahara.

2. I have rebooted nodes.

Result: no messages in notifications queue after VMs were added-deleted/modified.

Closing this bug as Invalid for 7.0-updates and 8.0-updates, it looks like some additional actions should be taken to completely disable ceilometer.

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.