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

Jay Pipes jaypipes at gmail.com
Wed Sep 14 22:08:33 UTC 2016


On 09/01/2016 05:29 AM, Henry Nash wrote:
> So as the person who drove the rolling upgrade requirements into
> keystone in this cycle (because we have real customers that need it),
> and having first written the keystone upgrade process to be
> “versioned object ready” (because I assumed we would do this the same
> as everyone else), and subsequently re-written it to be “DB Trigger
> ready”…and written migration scripts for both these cases for the (in
> fact very minor) DB changes that keystone has in Newton…I guess I
> should also weigh in here :-)

Sorry for delayed response. PTO and all... I'd just like to make a 
clarification here. Henry, you are not referring to *rolling upgrades* 
but rather *online database migrations*. There's an important 
distinction between the two concepts.

Online schema migrations, as discussed in this thread, are all about 
minimizing the time that a database server is locked or otherwise busy 
performing the tasks of changing SQL schemas and moving the underlying 
stored data from their old location/name to their new location/name. As 
noted in this thread, there's numerous ways of reducing the downtime 
experienced during these data and schema migrations.

Rolling upgrades are not the same thing, however. What rolling upgrades 
refer to is the ability of a *distributed system* to have its 
distributed component services running different versions of the 
software and still be able to communicate with the other components of 
the system. This time period during which the components of the 
distributed system may run different versions of the software may be 
quite lengthy (days or weeks long). The "rolling" part of "rolling 
upgrade" refers to the fact that in a distributed system of thousands of 
components or nodes, the upgraded software must be "rolled out" to those 
thousands of nodes over a period of time.

Glance and Keystone do not participate in a rolling upgrade, because 
Keystone and Glance do not have a distributed component architecture. 
Online data migrations will reduce total downtime experienced during an 
*overall upgrade procedure* for an OpenStack cloud, but Nova, Neutron 
and Cinder are the only parts of OpenStack that are going to participate 
in a rolling upgrade because they are the services that are distributed 
across all the many compute nodes.

Best,
-jay



More information about the OpenStack-dev mailing list