[openstack-dev] [Fuel] Failed upgrade chain - 5.1 -> 5.1.1 -> 6.0

Igor Kalnitsky ikalnitsky at mirantis.com
Fri Nov 14 11:43:45 UTC 2014


Hi folks,

Yesterday I performed the following upgrade chain:

    5.1 -> 5.1.1 -> 6.0

and upgrading to 6.0 was failed. I did some research and figure out
that Nailgun's container doesn't have Nailgun at all. So here's what
happened.

1. When we're upgrading to 6.0 we already have three repos in the
system: 5.1, 5.1.1 and 6.0.

2. When we start a new Nailgun container, it runs start.sh which runs
puppet [1].

3. And puppet fails to install a Nailgun package. Why it's happened?
We have the same Nailgun version in both 5.1.1 and 6.0 repos, but
those packages have different dependencies. From yum's point of view,
the packages are same (since they have the same version), so yum tries
to install the Nailgun from 5.1.1 repo, but the container contains
already installed dependencies for the Nailgun from 6.0 (they were
installed during building container), and obviously it fails with
failed dependencies errors (we have higher versions in the system).

Well, the issue blocks complex upgrade chains and definitely we have
to do something ASAP.

In order to protect us from similar issues in future I propose next changes:

1. Increase versions of all Fuel packages at least once per release.

2. Remove a package installation code from manifests - the container
should not install packages, they should be installed during container
building process.

What do you think, folks?


[1]: https://github.com/stackforge/fuel-main/blob/master/docker/nailgun/start.sh#L11

Thanks,
Igor



More information about the OpenStack-dev mailing list