[Openstack] Providing packages for stable releases of OpenStack

Thierry Carrez thierry at openstack.org
Wed Nov 30 09:32:04 UTC 2011


Hi everyone,

Yesterday, Vish and Monty raised the need for the OpenStack project to
provide a maintained set of packages for stable versions of OpenStack on
yet-unsupported versions of distributions.

TL;DR summary:
The resources needed to do that properly are bigger than you think (and
doing that will alienate some distro packaging resources), so we'll
either do a terrible job at it, or lose focus on the development
release. If there is a need, it should be done as an alternate
distribution, not inside the OpenStack project.

Long version:

First let me agree on the need. A very good, very stable distribution of
OpenStack on stable versions of distributions (a.k.a. stable/diablo on
Lucid) is definitely needed. The 2011.3 release PPA does not provide
that and bears false expectations, so it should die a painful death, and
quickly.

That doesn't mean we, as an upstream project, should necessarily enter
the distribution business to cure the deficiencies of their model. I
think distributions are separate projects with a separate skillset -- if
we try to do it we'll dilute our effort *and* alienate the existing
distributions. Those should compete between them, not with us.

Providing a production-ready, maintained distribution channel is more
than just "building packages for Lucid", unfortunately. That is good for
test packages (like our trunk PPA). A production channel needs to be
always installable and upgradeable (unlike our trunk PPAs that are
routinely broken). Any backport in there needs to be watched for
security updates. You commit to maintain it for a given length in time.

Our resources are limited and the skillset is particular. Last month
Monty was arguing we should not provide packages as project deliverables
at all, for the precise reason that we could not gate on packaging with
only a few people with that skill (he apparently changed his mind ?).
Resources are limited, so where do we stop ? Where does "user
convenience" end ? What distributions and series should we support ?
What versions of OpenStack ? How long do we support them ? Do we support
Diablo on OpenSUSE 10.1 for 5 years ? For every combination added, the
resources are spread even thinner.

We used to limit the scope of the OpenStack project to producing code,
and letting downstream distributions do what they do best, i.e.
integrating and distributing. We only provided test/evaluation PPAs for
user convenience, since the cost/benefit ratio was reasonable. Everyone
was at his place, happy and collaborating on packaging. If we do
production PPAs, we create competition and conflicts. Monty says "I do
not care about conflicts with distros" -- but that's a sure way of
losing distro packagers help. For example, the current packaging team
working on Ubuntu packages is about 6 people, 4 of which happen to work
for the distro.

My point is that if there is such a need for "OpenStack on Lucid", then
a new distribution (99% based on Lucid) will address that. It does not
have to be "OpenStack" itself. My fear is that we would do a very bad
job at this, and it would reflect on the project as a whole. Branding
ours "official" won't make it better than "unofficial" ones, but will
alienate distros. I prefer this to be done separately: that ensures that
OpenStack remains focused on code and keeps collaborating with every
distro on an equal footing. And if you're so interested by this, you
could be in both projects.

A last remark: we are already doing this. And we are not being
successful with it. Swift "last release" PPA [1] provides a decent
production channel, updated roughly every month, for running stable
Swift on stable Ubuntu. If it was a wild success and everyone was
collaborating on packaging work for it... it could prove me wrong. But
for some reason, nobody (including Rackspace) is using that. They are
using their own packaging and their own repositories. Why ? And what
makes you think that generalizing that idea to every project would
suddenly make it work ?

[1] https://launchpad.net/~swift-core/+archive/release

-- 
Thierry Carrez (ttx)
Release Manager, OpenStack




More information about the Openstack mailing list