[openstack-dev] [TripleO] tripleoclient/tripleo-common backwards compatibility

Steven Hardy shardy at redhat.com
Mon Dec 21 18:32:59 UTC 2015

Ok, looked into this a little today, apologies for replying to my own

On Mon, Dec 21, 2015 at 01:35:54PM +0000, Steven Hardy wrote:
> Hi all,
> So I've recently had several discussions related to $subject.
> In summary - there's a requirement to enable underclouds to support
> deploying/updating previous versions of OpenStack overclouds.
> So, say I upgrade my liberty undercloud to master/mitaka, I'd like to
> ensure the following is possible:
> 1. Maintain any existing (liberty) overcloud without being forced to
> immediately upgrade to Mitaka (updating the undercloud can pull in features
> required to enable this upgrade however).
> 2. Deploy a new overcloud, with the choice between either liberty or mitaka
> This has some implications related to distributing tripleo-heat-templates
> (need to allow for packaging to either install both versions of t-h-t, or
> always install all versions via one package), and then there are related
> requirements related to tripleoclient (and potentially tripleo-common), so
> we maintain backwards compatiblity wrt overcloud deployment/update.
> So, some questions:
> - Do we actually want stable branches for tripleoclient (or even
>   tripleo-common?) if we have to maintain backwards compatibility?
> - Can we add features to tripleoclient now, to make it easier to
>   pre-configure known locations for specific releases (this should be
>   configurable via a config file IMO, not hard-coded)?
> - How might we effectively test this in CI?  Have a job which deploys e.g
>   a stable/liberty overcloud with a master undercloud?
> - How hard would it be to wire in image-building for a previous release
>   (Mitaka/master undercloud building liberty overcloud-full) - would it be
>   reasonable to assume existing images and say the undercloud only supports
>   building images for one release version?

Turns out this is pretty easy:


This shows how to build a liberty overcloud-full (on a master/mitaka
undercloud), then deploy a stable/liberty overcloud.

I've not heavily tested, but basically it seems to work OK, I had to apply
this pending stable/liberty backport:


I think the tripleo.sh patch (and steps outlined in the commit message) may
serve as a starting point for CI of this, and I do think we need to remove
the stable/liberty branch at least for tripleoclient.


More information about the OpenStack-dev mailing list