cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Nalley <>
Subject Re: [DISCUSS] Backwards compatibility
Date Tue, 14 May 2013 16:26:56 GMT
On Tue, May 14, 2013 at 11:34 AM, Hugo Trippaers
<> wrote:
> Hey all,
> We have invested a lot of effort in creating upgrade paths from older releases to the
latest version. As a sysadmin this is one of the things I value CloudStack for.
> However as a developers there are some drawbacks to this. It means every time we release
a new version we need to QA the entire upgrade path to check if users can upgrade to this
new versions. With the speed and features we are picking up, I'm expecting this to become
a large burden in the near future. My proposal would be to draw a line somewhere. Personally
I think it would be ok to say to a user that wants to upgrade from version 2.2.14 to 4.2 to
first upgrade to version 4.0.x en than upgrade to 4.2.x.  For our code it does not really
matter that much, but it does matter for QA and packaging.
> For QA we can safely assume that the upgrades from 2.2.14 to 4.0 are covered by the 4.0
release. If we run into trouble, we release a maintenance release of that version. QA for
new versions should focus on a stable upgrade path for one or two recent versions and can
"ignore" old versions in the process.  With only a few versions to test against we could also
automate parts of this.
> For packaging it is also great. Especially with the current changes in naming (from cloud
to cloudstack) and potential future changes to integrate better with distributions it becomes
handy  to be able to have short upgrade paths. How reasonable is it to have an upgrade path
for 2.2.14 in the RPM when that rpm is built for RedHat 7.
> I would be in favor of supporting upgrades from the first major release in any series.
For example 4.1, 4.2 and 5.0 should have a tested upgrade path from 4.0. 5.1 would have an
upgrade path only from 5.0.
> What do you guys think?
> Cheers,
> Hugo
> P.S. ignore the version numbers, just used some random version numbers to illustrate
my ideas.

While I generally like this idea - orphaned features have essentially
long-stranded folks on old version with no way of upgrade. Think of
things like Bare metal, Oracle VM, SG in Advanced Zones, etc. For some
of those, I don't see how we'll not have them upgrade from 2.2.x to
4.2. The sysadmin in me thinks we've done a moderate job of supporting
upgrades in the past - for some core set of services we've done well,
but used anything not 'mainstream' and we have left many folks behind.
A lot of that is pre-ASF legacy that for better or worse we still need
to deal with.
For folks that have used such things, we have essentially abandoned
them on whatever version they used them. I think that this should mean
that we are much more sober in adding features, to gauge how well we
as a community can support those features over the long haul. It also
means that deprecations need to be planned. The way we deprecated
Oracle VM was horrendous IMO.

View raw message