[openstack-dev] [keystone][nova][neutron][all] Rolling upgrades: database triggers and oslo.versionedobjects

Michał Dulko michal.dulko at intel.com
Mon Oct 17 09:00:10 UTC 2016


On 10/16/2016 11:52 AM, Duncan Thomas wrote:
> On 14 October 2016 at 23:55, Jay Pipes <jaypipes at gmail.com
> <mailto:jaypipes at gmail.com>> wrote:
>
>     The primary thing that, to me at least, differentiates rolling
>     upgrades of distributed software is that different nodes can
>     contain multiple versions of the software and continue to
>     communicate with other nodes in the system without issue.
>
>     In the case of Glance, you cannot have different versions of the
>     Glance service running simultaneously within an environment,
>     because those Glance services each directly interface with the
>     Glance database and therefore expect the Glance DB schema to look
>     a particular way for a specific version of the Glance service
>     software.
>
>
> Cinder services can run N+-1 versions in a mixed manner, all talking
> to the  same database, no conductor required.

That's true, keeping DB schema compatible is possible even if all the
services are talking to the DB, but this requires very careful
programming (and reviewing) of the DB migrations. That's why our DB
migrations guidelines are quite complicated [1]. I think conductor-based
design is superior but definitely isn't the only way.

[1]
http://docs.openstack.org/developer/cinder/devref/rolling.upgrades.html#database-schema-and-data-migrations



More information about the OpenStack-dev mailing list