[openstack-dev] [heat] Rolling Upgrades

Zane Bitter zbitter at redhat.com
Fri Oct 21 21:57:14 UTC 2016


On 21/10/16 08:37, Michał Dulko wrote:
>> > Finally, a note about Oslo versioned objects: they don't really help
>> > us. They work great for nova where there is just nova-conductor
>> > reading and writing to the DB, but we have multiple heat-engines doing
>> > that that need to be restarted in a rolling manner. See the references
>> > below for greater detail.
> They do help in case you're changing RPC arguments *content*. In
> particular they make it easier to modify schema of dict-like structures
> sent over RPC.

This is technically true, but there's a much simpler solution to that 
which we already have: just don't change the content in 
non-backward-compatible ways (i.e. you can add stuff but not 
change/rename/remove stuff).

We have to do that anyway, because this is effectively our user 
interface, so if we didn't we'd break clients. For that reason, we're 
already much more strict about this than required to avoid this problem 
in the RPC layer.

As Crag said, the problem we do have is when we add flags/arguments to a 
message, how can we ensure that older versions of the engine still 
interpret it correctly.

- ZB



More information about the OpenStack-dev mailing list