On 15/09/14 16:55, Anne Gentle wrote:
On Mon, Sep 15, 2014 at 11:31 AM, Zane Bitter <zbit...@redhat.com> wrote:

On 14/09/14 11:09, Clint Byrum wrote:

Excerpts from Gauvain Pocentek's message of 2014-09-04 22:29:05 -0700:


A bit of background: I'm working on the publication of the HOT
resources reference on docs.openstack.org. This book is mostly
autogenerated from the heat source code, using the sphinx XML output. To
avoid publishing several references (one per released version, as is
done for the OpenStack config-reference), I'd like to add information
about the support status of each resource (when they appeared, when
they've been deprecated, and so on).

So the plan is to use the SupportStatus class and its `version`
attribute (see https://review.openstack.org/#/c/116443/ ). And the
question is, what information should the version attribute hold?
Possibilities include the release code name (Icehouse, Juno), or the
release version (2014.1, 2014.2). But this wouldn't be useful for users
of clouds continuously deployed.

   From my documenter point of view, using the code name seems the right
option, because it fits with the rest of the documentation.

What do you think would be the best choice from the heat devs POV?

What we ship in-tree is the standard library for Heat. I think Heat
should not tie things to the release of OpenStack, but only to itself.

"Standard Library" implies that everyone has it available, but in reality
operators can (and will, and do) deploy any combination of resource types
that they want.

  The idea is to simply version the standard library of resources separately
even from the language. Added resources and properties would be minor
bumps, deprecating or removing anything would be a major bump. Users then
just need an API call that allows querying the standard library version.

We already have API calls to actually inspect resource types. I don't
think a semantic version number is helpful here, since the different
existing combinations of resources types are not expressible linearly.

There's no really good answer here, but the only real answer is making
sure it's easy for people to generate the docs themselves for their actual

In my observations there could be a few private clouds generating user docs
based on upstream, but there have to be many, many more private clouds than
public, so it's better if docs.openstack.org can take on the work here for
sharing the docs burden for users specifically.

Yes, although we have to recognise that those docs will only be accurate for clouds that installed Heat right out of the box. Every operator is free to add, remove or even override any resource types they like.

Because we've had multiple inputs asking for heat docs that are released,
I'd like to see Gauvain's naming/numbering go into upstream.

Right, I totally agree :) Gauvain's scheme seems like the right one to me; I was arguing against Clint's suggestion.

  With this scheme, we can provide a gate test that prevents breaking the
rules, and automatically generate the docs still. Doing this would sync
better with continuous deployers who will be running "Juno" well before
there is a "2014.2".

Maybe continuous deployers should continuously deploy their own docs? For
any given cloud the only thing that matters is what it supports right now.

  Anyway, Heat largely exists to support portability of apps between
OpenStack clouds. Many many OpenStack clouds don't run one release,
and we don't require them to do so. So tying to the release is, IMO,
a poor coice.

The original question was about docs.openstack.org, and in that context I
think tying it to the release version is a good choice, because that's...
how OpenStack is released. Individual clouds, however, really need to
deploy their own docs that document what they actually support.

We only really release two types of documents - the Install Guides and the
Configuration Reference. We have purposely continuously released user guide
info and the HOT templates fall under that category. So this document will
be updated any time someone gets a patch merged. Because of this CI for
docs, labels are critical to aid understanding.

+1, right now we constantly get questions from people reading the docs but running Icehouse about why some brand new feature or other that we merged yesterday doesn't work. So there is no disputing the need to add some sort of versioning information, and I think the first supported release is probably the right information to add.



The flip side of this, of course, is that whatever we use for the version
strings on docs.openstack.org will all make its way into all the other
documentation that gets built, and I do understand your point in that
context. But versioning the "standard library" of plugins as if it were a
monolithic, always-available thing seems wrong to me.

  We do the same thing with HOT's internals, so why not also
do the standard library this way?

The current process for HOT is for every OpenStack development cycle (Juno
is the first to use this) to give it a 'version' string that is the
expected date of the next release (in the future), and continuous deployers
who use the new one before that date are on their own (i.e. it's not
considered stable). So not really comparable.


OpenStack-dev mailing list

OpenStack-dev mailing list

OpenStack-dev mailing list

Reply via email to