[openstack-dev] [Heat] Defining what is a SupportStatus version

Zane Bitter zbitter at redhat.com
Mon Sep 15 21:21:30 UTC 2014


On 15/09/14 16:55, Anne Gentle wrote:
> On Mon, Sep 15, 2014 at 11:31 AM, Zane Bitter <zbitter at 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:
>>>
>>>> Hi,
>>>>
>>>> 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
>> deployment.
>
>
> 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.

cheers,
Zane.

> Anne
>
>
>>
>> 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.
>>
>> cheers,
>> Zane.
>>
>>
>> _______________________________________________
>> OpenStack-dev mailing list
>> OpenStack-dev at lists.openstack.org
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>
>
>
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>




More information about the OpenStack-dev mailing list