[openstack-dev] [ops][tags][packaging] ops:packaging tag - a little common sense, please
jaypipes at gmail.com
Wed Jun 10 17:51:19 UTC 2015
Cross-posting to -operators and -dev because this involves *packagers*
of OpenStack, as well as operators who use those packages.
First, let me start out by saying if you were offended by my snarky
comments at yesterday's TC meeting  regarding the direction of the
Ops Tags Team, I apologize. Sometimes I am snarky and/or moody,
especially when I feel strongly about something, as is the case here.
Please accept my apologies. Let's move on.
= tl;dr =
* The proposed things are not tags
* Operators should not be curating packaging tags (packagers should)
* Tags should not have a "value" component
* Packaging tags should be release-specific, or they will be wrong
= The details =
OK, that said, here are the issues I have with the proposed
ops:packaging tags .
= The proposed things are not "tags" =
The things being proposed by the Ops Tags Team are in fact not "tags",
which are simple strings of binary information that have a well-defined
and singular meaning.
What the Ops Tags Team has proposed is structured, schema-full data
objects. There is nothing wrong with having a structured object for
purposes of generating useful information. But please don't call these
things "tags", because they aren't.
Before I move on to other issues, I'd like to point out that the more
you go down the route of adding more and more attributes, most of which
would be optional, to these structured documents, the more you will run
into a problem of having stale and misleading data contained in these
JSON files. And that will lead to a worse user experience for operators
than the current wiki, which, like all wikis, is notoriously out-of-date
in many places.
A tag should mean one thing, and one thing only, to encourage clarity.
The definition of the tag should be decisive regarding why a particular
project has been tagged with that tag.
= Operators should not be curating packaging tags =
*Packagers* should be curating tags that correspond to whether or not
packages exist for particular projects in OpenStack. Operators consume
these packages, for sure, but the packagers in the upstream operating
system communities are the ones that know the most accurate information
about the state of packaging for a particular project and a particular
I strongly believe that these ops:packaged tags should really just be
tags in the openstack/governance repository (i.e. regular TC tags) and
be curated by the packaging community, which means they would not have
the "ops:" prefix on them.
= Remove "value" component from the "tag" =
The current proposal for both ops:packaged and ops:production-use 
tag definitions include a "value" component. For example, the
ops:packaged tags must include one of the following "values":
With each of the above values attempting to indicate to the audience
that the packages for a particular project are in varying states of
repair and "bug-freeness". There are a number of problems with including
this "value" in the tag:
1) This value judgement about the packaging quality is ripe for getting
out-of-date VERY quickly. Who is going to continually update the value
parts for the different projects? Things change very quickly in
packaging-land. Bugs are fixed, new packages built and published. Who in
the ops community is going to track this? Please see point above about
"Operators should not be curating packaging tags".
2) All software, including packages, has bugs. This is something that
the Ops community just needs to accept and get over. Quabbling with each
other about what constitutes a "major" bug in packaging and how many
"major" bugs bugs constitute a "warning" value is less than useful to
the audience here. Instead, the ops community should focus on providing
useful documentation and links to the audience, in the form of long-form
release notes or opinions about packages and documentation on the
= Packaging tags should be release-specific, or they will be wrong =
For these packaging tags, the release must be part of the tag itself,
otherwise the information it denotes would be indeterminate.
As an example, suppose you have a tag that looks like this:
And in the tag definition you say that the tag is applied to projects
that have CentOS RPM packages available "within the last 6 months".
Well, as you all know, packages are published for a *particular release
of OpenStack*. So, if Nova is tagged with ops:packaged:centos:good in,
say, August 2015, the tag would ostensibly be saying that packages exist
for Nova in Kilo. However, once November rolls around, and packages for
Liberty don't (yet) exist, are you going to remove this
"ops:packaged:centos:good" tag from Nova or (worse) change it to
Instead, have the tag be specific to a release of OpenStack:
= In summary =
In short, I would love it if the Ops Tags team would stick with binary
tag definitions -- a tag should mean one thing and one thing only.
I don't believe the Ops Tags team should be curating the packaging tags
-- the packaging community should do that, and do that under the main
Packagers, I would love it if you would curate a set of tags that looks
kind of like this:
I will be proposing the above tag definition to the openstack/governance
repository this week.
Thanks for listening,
More information about the OpenStack-dev