The following is some commands to try and troubleshoot RabbitMQ not starting in Zenoss 5.
Connecting to the RabbitMQ container
serviced service attach $(serviced service list | grep -i rabbitmq | awk '{print $2}')
Check the service
You can check the RabbitMQ service by running “rabbitmqctl status”
[root@764399e5hhba /]# rabbitmqctl status Status of node rabbit@rbt0 ... Error: unable to connect to node rabbit@rbt0: nodedown DIAGNOSTICS =========== attempted to contact: [rabbit@rbt0] rabbit@rbt0: * unable to connect to epmd (port 4369) on rbt0: nxdomain (non-existing domain) current node details: - node name: rabbitmqct22222@764399e5hhba - home dir: /var/lib/rabbitmq - cookie hash: yy3+awwOpeaaaa12wdf42ff== [root@764399e5hhba /]#
As you can see the node is down so RabbitMQ is not able to start.
Try to ping rbt0 (RabbitMQ connects to rbt0 so if it can’t resolve, then it can’t start)
ping rbt0
If you get a “ping: unknown host rbt0” then add the following to /etc/hosts. Change the IP address to the IP address of the container. You can run “ip addr” or ifconfig to get the IP.
172.20.0.11 rbt0
Or if your interface is eth0, you can run this command.
echo "$(ifconfig eth0 | grep "inet " | awk '{print $2}') rbt0" >> /etc/hosts
Then run “rabbitmqctl status” again. The service auto starts, so it may take a minute, but you should see something similar to the following. (Not that I cut some of the text out.)
[root@764399e5hhba /]# rabbitmqctl status Status of node rabbit@rbt0 ... [{pid,4629}, {running_applications, ... CUT TEXT ... {uptime,5}] ...done. [root@764399e5hhba /]#
Checking vhost
List the RabbitMQ vhosts with “rabbitmqcl list_vhosts”
[root@764399e5hhba /]# rabbitmqctl list_vhosts Listing vhosts ... / /zenoss ...done.
If you run rabbitmqctl list_vhosts and don’t see /zenoss, then add it
rabbitmqctl add_vhost /zenoss rabbitmqctl set_permissions -p /zenoss zenoss '.*' '.*' '.*'
If the vhost is up then you can try deleting the zenoss vhosts and readding it.
[root@764399e5hhba /]# rabbitmqctl delete_vhost /zenoss rabbitmqctl add_vhost /zenoss rabbitmqctl set_permissions -p /zenoss zenoss '.*' '.*' '.*'
The only downside to theses changes is that once the service gets restarted the changes you made inside the container will be lost, There should be a way to update the container so that the changes are persistent.