I've attached the requested logs. As pjdc pointed out, the issue is that the hostnames are: [prod-u1-sca] prod-u1-sca@wendigo:/srv/mojo/mojo-prod-u1-sca/trusty/production/charms$ juju status | grep dns dns-name: 10.35.128.11 dns-name: 10.35.128.12 dns-name: 10.35.128.13 [prod-u1-sca] prod-u1-sca@wendigo:/srv/mojo/mojo-prod-u1-sca/trusty/production/charms$ host 10.35.128.12 12.128.35.10.in-addr.arpa domain name pointer 12.128.35.10.instance.prodstack4.internal. [prod-u1-sca] prod-u1-sca@wendigo:/srv/mojo/mojo-prod-u1-sca/trusty/production/charms$ host 10.35.128.13 13.128.35.10.in-addr.arpa domain name pointer 13.128.35.10.instance.prodstack4.internal. and the rabbitmq charm (well, charmhelpers.contrib.openstack.utils.get_hostname) assumes that you can just do: return result.split('.')[0] with that - hence the rabbitmq hostname being set to 12 and 13 respectively: $ juju run --service rabbitmq-server "cat /etc/rabbitmq/rabbitmq-env.conf" - MachineId: "1" Stdout: 'RABBITMQ_NODENAME=rabbit@12' UnitId: rabbitmq-server/0 - MachineId: "2" Stdout: 'RABBITMQ_NODENAME=rabbit@13' UnitId: rabbitmq-server/1 I don't know the requirements on rabbitmq's nodename - I'm assuming fqdn=True (the default) doesn't work? nodename = get_hostname(ip_addr, fqdn=True) otherwise, that would use less assumptions about the dns entry. On Fri, May 1, 2015 at 5:20 PM, Edward Hope-Morley