[openstack-dev] Payload within RabbitMQ messages for Nova related exchanges

Russell Bryant rbryant at redhat.com
Tue Apr 15 13:29:33 UTC 2014


On 04/15/2014 09:07 AM, George Monday wrote:
> Hey there,
> 
> I've got a quick question about the RabbitMQ exchanges. We are writing
> listeners
> for the RabbitMQ exchanges. The basic information about the tasks like
> compute.instance.create.[start|stop] etc. as stored in the 'payload'
> attribute of the
> json message are my concern at the moment.
> 
> Does this follow a certain predefined structure that's consistent for
> the lifetime of, say,
> a specific nova api version? Will this change in major releases (from
> havana to icehouse)?
> Is this subject to change without notice? Is there a definition
> available somewhere? Like for
> the api versions?
> 
> In short, how reliable is the json structure of the payload attribute in
> a rabbitMQ message?
> 
> We just want to make sure, that with an update to the OpenStack
> controller, we wouldn't
> break our listeners?

First, we're talking specifically about notifications.  Nova also uses
messages between services, and those messages are considered private
internal implementation details.

The notifications are of course intended for consumption by other apps.
 We currently try to make sure that all changes to the body of these
messages are backwards compatible.  You should be safe within a version,
but as usual, please watch the release notes for changes.

At some point we really need to do something about the body of
notifications so that they're properly versioned.

-- 
Russell Bryant



More information about the OpenStack-dev mailing list