[openstack-dev] Rolling upgrades in icehouse

Chris Behrens cbehrens at codestud.com
Mon Mar 24 20:08:31 UTC 2014

On Mar 24, 2014, at 12:31 PM, Tim Bell <Tim.Bell at cern.ch> wrote:

> How does this interact with cells ? Can the cell API instances be upgraded independently of the cells themselves ?
> My ideal use case would be
> - It would be possible to upgrade one of the cells (such as a QA environment) before the cell API nodes
> - Cells can be upgraded one-by-one as needed by stability/functionality
> - API cells can be upgraded during this process ... i.e. mid way before the most critical cells are migrated
> Is this approach envisaged ?

That would be my goal long term, but I’m not sure it’ll work right now. :)  We did try to take care in making sure that the cells manager is backwards compatible. I think all messages going DOWN to the child cell from the API will work. However, what I could possibly see as broken is messages coming from a child cell back up to the API cell. I believe we changed instance updates to pass objects back up…  The objects will fail to deserialize right now in the API cell, because it could get a newer version and not know how to deal with it. If we added support to make nova-cells always redirect via conductor, it could actually down-dev the object, but that has performance implications because of all of the DB updates the API nova-cells does. There are a number of things that I think cells doesn’t pass as objects yet, either, which could be a problem.

So, in order words, I think the answer right now is there really is no great upgrade plan wrt cells other than just taking a hit and doing everything at once. I’d love to fix that, as I think it should work as you describe some day. We have work to do to make sure we’re actually passing objects everywhere.. and then need to think about how we can get the API cell to be able to deserialize newer object versions.

- Chris

More information about the OpenStack-dev mailing list