[openstack-dev] [heat][oslo] Exchanges in RabbitMQ

Anant Patil anant.patil at hpe.com
Tue Oct 13 09:49:00 UTC 2015


Hi,

I am quite not sure on how RabbitMQ is working with Heat. We have 3
exchange topics: "engine", "heat-engine-listener" and "engine_worker"
defined in heat RPC.

But, When I do list_exchanges I see:

heat    topic
heat-engine-listener_fanout     fanout
engine_fanout   fanout
engine_worker_fanout    fanout

I am not sure how 'heat' topic is getting created? And, also, why the
exchange types are created as fanout when topic is given and fanout is
not given when creating a RPC server.

I also see that there are three queues created for each topic. For
engine topic, following three queues are created:

engine
engine.devserver
engine_fanout_dc656a70994141229af8879dfbaf3362

I was expecting two queues, one each for publishing and subscribing (I
have just one worker configured). I was not expecting engine.devserver
(devserver is hostname). I see the same for compute, conductor etc.

Can someone share me a document which explains how this works or help me
understand this?

Also, given that RabbitMQ will send the messages to a queue consumer in
a round robin fashion, is it okay to rely on AMQP for load-leveling
(even distribution of load)? The consumers are heat workers and they
subscribe to the "engine_worker" topic.

- Anant



More information about the OpenStack-dev mailing list