Disabling telemetry does not seem to work on Red Hat OpenStack Platform

Solution In Progress - Updated -

Issue

After implementing suggested changes from https://access.redhat.com/solutions/3024461 and https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/10/html-single/deployment_recommendations_for_specific_red_hat_openstack_platform_services/#svc-telemetry-small one can still see notifications.* queues growing:

[root@nspregr-controller-0 ~]# rabbitmqctl list_queues name consumers messages | grep notifications
notifications.info      0       225450
notifications.error     0       438
[root@nspregr-controller-0 ~]# sleep 120; rabbitmqctl list_queues name consumers messages | grep notifications
notifications.info      0       225645
notifications.error     0       438

Looking at the messages, one can see that they are of the following event types:

orchestration.stack.*
floatingip.{create,delete}.{start,end}
port.{create,delete}.{start,end}
{create,delete}.{start,end}

While driver = noop is set in /etc/neutron/neutron.conf properly from the director deploy, it seems that the /usr/share/neutron/neutron-dist.conf with '[DEFAULT]/notification_driver = messaging' is combined with the 'noop' value. this can be verified with the following python script:

cat <<EOF>neutron_conf_verification.sh
#!/bin/env python
args='/usr/bin/python2 /usr/bin/neutron-server --config-file /usr/share/neutron/neutron-dist.conf --config-dir /usr/share/neutron/server --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/neutron-server --log-file /var/log/neutron/server.log'.split(' ')
from oslo_config import cfg
from neutron.common import config
from neutron.common import rpc as n_rpc
config.init(args[2:])

for k, v in cfg.CONF.oslo_messaging_notifications.iteritems(): print k, v
EOF
chmod +x neutron_conf_verification.sh
./neutron_conf_verification.sh

The output of which is:

transport_url None
topics ['notifications']
driver ['messaging', 'noop']

The above settings being improperly configured leads to undesired messages dispatched to the notifications.info queues, which grow unbounded.

What information can you provide around timeframes and the business impact?

Rabbitmq may enter into a bad state and this can cause neutron to have issues. The notifications.info queue may disappear and will not return until restarting rabbitmq, causing timeouts when to create new VMs/ports/floating IP associations.

From /var/log/neutron/server.log:

2019-01-01 17:27:49.454 13013 ERROR oslo_messaging.notify.messaging     queue.declare()
2019-01-01 17:27:49.454 13013 ERROR oslo_messaging.notify.messaging   File "/usr/lib/python2.7/site-packages/kombu/entity.py", line 522, in declare
2019-01-01 17:27:49.454 13013 ERROR oslo_messaging.notify.messaging     self.queue_declare(nowait, passive=False)
2019-01-01 17:27:49.454 13013 ERROR oslo_messaging.notify.messaging   File "/usr/lib/python2.7/site-packages/kombu/entity.py", line 548, in queue_declare
2019-01-01 17:27:49.454 13013 ERROR oslo_messaging.notify.messaging     nowait=nowait)
2019-01-01 17:27:49.454 13013 ERROR oslo_messaging.notify.messaging   File "/usr/lib/python2.7/site-packages/amqp/channel.py", line 1258, in queue_declare
2019-01-01 17:27:49.454 13013 ERROR oslo_messaging.notify.messaging     (50, 11),  # Channel.queue_declare_ok
2019-01-01 17:27:49.454 13013 ERROR oslo_messaging.notify.messaging   File "/usr/lib/python2.7/site-packages/amqp/abstract_channel.py", line 69, in wait
2019-01-01 17:27:49.454 13013 ERROR oslo_messaging.notify.messaging     return self.dispatch_method(method_sig, args, content)
2019-01-01 17:27:49.454 13013 ERROR oslo_messaging.notify.messaging   File "/usr/lib/python2.7/site-packages/amqp/abstract_channel.py", line 87, in dispatch_method
2019-01-01 17:27:49.454 13013 ERROR oslo_messaging.notify.messaging     return amqp_method(self, args)
2019-01-01 17:27:49.454 13013 ERROR oslo_messaging.notify.messaging   File "/usr/lib/python2.7/site-packages/amqp/channel.py", line 241, in _close
2019-01-01 17:27:49.454 13013 ERROR oslo_messaging.notify.messaging     reply_code, reply_text, (class_id, method_id), ChannelError,
2019-01-01 17:27:49.454 13013 ERROR oslo_messaging.notify.messaging NotFound: Queue.declare: (404) NOT_FOUND - failed to perform operation on queue 'notifications.info' in vhost '/' due to timeout

Environment

Red Hat OpenStack Platform 10 - 13

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In