rabbitmqopenstackrabbitmqctl

rabbitmq access to vhost denied


I set up a controller host with rabbitmq-server running. From the nova host, I see that the nova-conductor cannot be reached. I checked on the controller host and I see the following in the logs :

  access to vhost 'None' refused for user 'openstack'

I have the following configuration settings for rabbitmq on the controller host:

    rabbitmqctl list_users
    Listing users ...
    guest   [administrator]
    openstack       []

When I list permissions I see openstack can access all resources

    list_permissions
    Listing permissions in vhost "/" ...
    guest   .*      .*      .*
    openstack       .*      .*      .*

I am able to authenticate with the rabbitmq-server - just unable to access the / vhost. For debugging, I would like to set up so that any client can access any resource (turn off access control altogether). Is that possible.

Thanks


Solution

  • This is caused by a relatively new change in either Kombu or oslo.messages. Previously if a virtual_host was not provided, it would default to /. This is no longer the case.

    For it to work your transport_url needs to at the very least have one / at the end.

    transport_url = rabbit://stackrabbit:secretrabbit@127.0.0.1:5672/

    You can take a look at for example devstack here as a reference.

    The actual upstream fix for the issue is available here.