RabbitMQ uses short host names for vRealize Automation appliances by default, which might prevent nodes from resolving one another.

Problem

You try to join another vRealize Automation appliance to the cluster, and an error similar to the following occurs.

Clustering node 'rabbit@sc2-rdops-vm01-dhcp-62-2' with rabbit@company ...
Error: unable to connect to nodes [rabbit@company]: nodedown

DIAGNOSTICS
===========

attempted to contact: [rabbit@company]

rabbit@company:
  * unable to connect to epmd (port 4369) on company: nxdomain (non-existing domain)


current node details:
- node name: 'rabbitmq-cli-11@sc2-rdops-vm01-dhcp-62-2'
- home dir: /var/lib/rabbitmq
- cookie hash: 4+kP1tKnxGYaGjrPL2C8bQ==

[2017-09-01 14:58:04] [root] [INFO] RabbitMQ join failed with exit code: 69, see RabbitMQ logs for details.

Cause

Your network configuration does not allow vRealize Automation appliances to resolve each other by short host name.

Procedure

  1. For all vRealize Automation appliances in the deployment, log in as root to a console session.
  2. Stop the RabbitMQ service.

    service rabbitmq-server stop

  3. Open the following file in a text editor.

    /etc/rabbitmq/rabbitmq-env.conf

  4. Set the following property to true.

    USE_LONGNAME=true

  5. Save and close rabbitmq-env.conf.
  6. Reset RabbitMQ.

    vcac-vami rabbitmq-cluster-config reset-rabbitmq-node

  7. On just one vRealize Automation appliance node, run the following script.

    vcac-config cluster-config-ping-nodes --services rabbitmq-server

  8. On all nodes, verify that the RabbitMQ service is started.

    vcac-vami rabbitmq-cluster-config get-rabbitmq-status