Comment 1 for bug 1178541

Revision history for this message
RedBaron (dheeraj-gupta4) wrote :

nova-cells uses the `transport_url` field in the `cells` table to talk to other cells. The `transport_url` is a string representation of the `oslo.messaging.transport.TransportURL` which supports multiple hosts. The `transport_url` field is written to the DB when a new cell is created using `nova-manage cell create`
IMO support for multiple rabbit servers can be added by modifying `nova-manage` script so that it accepts a comma separated list of host:port rather than/in addition to separate hostname and port parameters that it accepts currently.
I have tested the solution by modifying the transport URL in the DB manually and adding multiple host names in that. It worked in my test setup for both parent and child cells.

MariaDB [nova]> select id, name, is_parent, transport_url from cells where id=2;
+----+-------+-----------+-----------------------------------------------------------------------------------+
| id | name | is_parent | transport_url |
+----+-------+-----------+-----------------------------------------------------------------------------------+
| 2 | cell1 | 0 | rabbit://guest:devstack@x.x.x.x:5672,guest:devstack@y.y.y.y:5672// |
+----+-------+-----------+-----------------------------------------------------------------------------------+
1 row in set (0.00 sec)