RabbitMQ consumer connection is refused when trying to read notifications

Balázs Gibizer balazs.gibizer at est.tech
Mon Jul 20 08:04:21 UTC 2020



On Thu, Jul 16, 2020 at 14:41, Anil Jangam <anilj.mailing at gmail.com> 
wrote:
> Hi,
> 
> I followed the video and the steps provided in this video link and 
> the consumer connection is being refused.
> https://www.openstack.org/videos/summits/denver-2019/nova-versioned-notifications-the-result-of-a-3-year-journey
> 
> /etc/nova/nova.conf file changes..
> [notifications]
> notify_on_state_change=vm_state
> default_level=INFO
> notification_format=both
> 
> [oslo_messaging_notifications]
> driver=messagingv2
> transport_url=rabbit://guest:guest@10.30.8.57:5672/
> topics=notification
> retry=-1
> 
> The python consume code is as follows (followed the example provided 
> in the video:
> transport = oslo_messaging.get_notification_transport(
>             cfg.CONF, url='rabbit://guest:guest@10.30.8.57:5672/')
> targets = [
>     oslo_messaging.Target(topic='versioned_notifications'),
> ]
> 

Does the 'rabbit://guest:guest@10.30.8.57:5672/' URL is a valid one in 
your deployment? Especially regarding the authentication. E.g. does 
'sudo rabbitmqctl list_users' returns guest as a valid user? Does 'sudo 
rabbitmqctl authenticate_user guest guest' returns 'success'?

In general if your nova deployment works (e.g. you can boot servers 
with nova) then your nova.conf [DEFAULT]/transport_url has a valid 
message bus config. And by default the notifications also uses that 
connection. However with [oslo_messaging_notifications]/transport_url 
you can redefine which message bus the notifications are emitted to. 
This could be important as by default (since cells v2) nova uses at 
least two message bus connection one between the API services and the 
super conductors and another for cell1 (and a separate one for each 
cell) between the cell conductors and and the computes in that cell[1]. 
So nova services emit the notification to the message bus they use 
therefore by default not all the notification is emitted to the same 
bus. In my demo I reconfigured 
[oslo_messaging_notifications]/transport_url for each nova service to 
point to the same message bus (the on at the API level) and connected 
the demo script to that bus.


[1] https://docs.openstack.org/nova/latest/user/cellsv2-layout.html

> Am I missing any other configuration in any of the services in 
> OpenStack?

You don't need to change the configuration of other OpenStack service 
to make the demo script work.

> 
> Let me know if you need any other info.
> 
> /anil.
> 

Cheers,
gibi





More information about the openstack-discuss mailing list