Message queue

Message queue

OpenStack uses a message queue to coordinate operations and status information among services. The message queue service typically runs on the controller node. OpenStack supports several message queue services including RabbitMQ, Qpid, and ZeroMQ. However, most distributions that package OpenStack support a particular message queue service. This guide implements the RabbitMQ message queue service because most distributions support it. If you prefer to implement a different message queue service, consult the documentation associated with it.

Install and configure components

  1. Install the package:

    # zypper install rabbitmq-server
    
  1. Start the message queue service and configure it to start when the system boots:

    # systemctl enable rabbitmq-server.service
    # systemctl start rabbitmq-server.service
    

    In case the message queue service does not start and returns a nodedown error, perform the following actions:

    • Copy the /usr/lib/systemd/system/epmd.socket file to the /etc/systemd/system directory.

    • Edit the /etc/systemd/system/epmd.socket file to contain the following:

      [Socket]
      ...
      ListenStream=MANAGEMENT_INTERFACE_IP_ADDRESS:4369
      

      Replace MANAGEMENT_INTERFACE_IP_ADDRESS with the IP address of the management network interface on your controller node.

    • Start the message queue service again.

  2. Add the openstack user:

    # rabbitmqctl add_user openstack RABBIT_PASS
      Creating user "openstack" ...
    

    Replace RABBIT_PASS with a suitable password.

  3. Permit configuration, write, and read access for the openstack user:

    # rabbitmqctl set_permissions openstack ".*" ".*" ".*"
      Setting permissions for user "openstack" in vhost "/" ...
    
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.