openstack team mailing list archive
-
openstack team
-
Mailing list archive
-
Message #14575
Re: Release Upgrades (was [nova] [cinder] Nova-volume vs. Cinder in Folsom)
On 07/12/2012 04:36 PM, Vishvananda Ishaya wrote:
>
> On Jul 12, 2012, at 2:22 PM, Narayan Desai wrote:
>
>> I think that the long term maintenance or removal of nova-volume in
>> its existing form is orthogonal to the actual issue of continuity from
>> one release to the next.
>
> Agreed. Discussion the volume/cinder strategy is a separate topic. I've
> taken the liberty of updating the subject to keep the discussions on point
>
>>
>> At this point, we've now run cactus, diablo and are in testing with
>> essex. Each of these has effectively been a flag day for us; we build
>> the new system, migrate users, images, etc, and let users do a bunch
>> of manual migration of volume data, etc, while running both systems in
>> parallel. This hasn't been as painful as it sounds because our
>> understanding of best practices for running openstack is moving pretty
>> quickly and each system has been quite different from the previous.
>
> Upgrading has been painful and we are striving to improve this process
> as much as possible.
>
>>
>> The lack of an effective process to move from one major release to the
>> next is the major issue here in my mind. It would be fantastic if
>> (some day, ha ha ha) you could apt-get upgrade from folsom to grizzly,
>> but i think that is likely to be more trouble than it is worth. A
>> reasonable compromise would be a well documented process as well as
>> tools to aid in the process. Each real deployment will have a
>> substantial set of local customizations, particularly if they are
>> running at any sort of scale. While it won't be feasible to support
>> any upgrade with these customizations, tools for the process (which
>> may only be used a straw man in complex cases) would go a long way.
>
> I would like to take this a bit further. Documentation is a great first step,
> but I would actually like to have an actual Jenkins test that does the upgrade
> from essex to Folsom with live resources created. I think this the only way
> that we can be sure that the upgrade is working properly.
++
> The first version of this doesn't even have to be on a full cluster. I'm thinking
> something as simple as:
>
> * configure devstack to checkout stable/essex from all of the projects
> * run the system, launch some instances and volumes
> * terminate the workers
> * upgrade all of the code to folsom
> * do any manual upgrade steps (nova-manage db sync, cinder migrate, etc.)
> * run all the workers
> * make sure the existing data still works and new api commands run
>
> The manual upgrade steps should be contained in a single script so that the
> distress can use it to help make their package upgrades and deployers can
> use it for reference when upgrading their clusters.
Yes - especially if it's a self contained thing like devstack is currently.
For the "upgrade all the code to folsom" step - let's chat about making
sure that we get the right hooks/env vars in there so that we can make
that "upgrade to tip of trunk in most projects + proposed patch in one
of them" - same as we do for devstack runs today.
> This is something we can start working on today and we can run after each
> commit. Then we will immediately know if we do something that breaks
> upgradability, and we will have a testable documented process for upgrading.
The creation of the self-contained script devstack was a HUGE step
forward for us for integration testing. I think a similar thing for
upgradability would similarly be huge.
References