[openstack-dev] [Heat] revised structure of the heat-templates repository. Suggestions

Lance Haig lnhaig at gmail.com
Mon May 22 16:49:27 UTC 2017


Hi,


On 22.05.17 10:43, Thomas Herve wrote:
> On Fri, May 19, 2017 at 5:00 PM, Lance Haig <lnhaig at gmail.com> wrote:
>> Hi,
> Hi Lance,
>
> Thanks for starting this. Comments inline.
>
>> As we know the heat-templates repository has become out of date in some
>> respects and also has been difficult to be maintained from a community
>> perspective.
> While it has been out of date, I'm not sure it's because it's been
> difficult. We just don't have the manpower or didn't dedicate enough
> time to it.
That is why I would be able to assist :-)

I want to try and organise things so that when there is a new feature or 
heat version we know where we need to go edit and create and the rest 
will fall into deprecated as time goes on.

>> For me the repository is quiet confusing with different styles that are used
>> to show certain aspects and other styles for older template examples.
>>
>> This I think leads to confusion and perhaps many people who give up on heat
>> as a resource as things are not that clear.
>>
>>  From discussions in other threads and on the IRC channel I have seen that
>> there is a need to change things a bit.
>>
>>
>> This is why I would like to start the discussion that we rethink the
>> template example repository.
>>
>> I would like to open the discussion with mys suggestions.
>>
>> We need to differentiate templates that work on earlier versions of heat
>> that what is the current supported versions.
>>
>> I have suggested that we create directories that relate to different
>> versions so that you can create a stable version of examples for the heat
>> version and they should always remain stable for that version and once it
>> goes out of support can remain there.
>> This would mean people can find their version of heat and know these
>> templates all work on their version
> So, a couple of things:
> * Templates have a version field. This clearly shows on which version
> that template ought to work.
New people to heat and openstack just know that they are running mitaka 
newton ocata etc.. they don't know the heat version.
I also asked the other day if there is a list of heat version matched to 
Openstack version and I was told that there is not.

> * Except when some resources changed (neutron loadbalancer, some
> ceilometer stuff), old templates should still work. If they don't,
> it's a bug. Obviously we won't fix it on unmaintained versions, but we
> work really hard at maintaining compatibility. I'd be surprised to
> find templates that are really broken.
I am sure that there is a lot of work being done on heat and I as one of 
the guys who uses heat appreciate this quite a bit.
I am working on trying to get some hardware so I can spin up different 
versions of heat and then test our templates against them to see what 
breaks or is broken and what we need to change or log bug reports for.
I am just waiting to see if I can arrange this.
>
> It'd probably be nice to update all templates to the latest supported
> version. But we don't remove old versions of templates, so it's also
> good to keep them around, if updating the versions doesn't bring
> anything new.
This is what I would like to do for the project. However I want to take 
a fresh look at how we have the templates listed and shown. I would like 
to make it easy for people who don't know heat to get started really 
quickly.
>> We should consider adding a docs section that that includes training for new
>> users.
>>
>> I know that there are documents hosted in the developer area and these could
>> be utilized but I would think having a documentation section in the
>> repository would be a good way to keep the examples and the documents in the
>> same place.
>> This docs directory could also host some training for new users and old ones
>> on new features etc.. In a similar line to what is here in this repo
>> https://github.com/heat-extras/heat-tutorial
> I'd rather see documentation in the main repository. It's nice to have
> some stuff in heat-templates, but there is little point if the doc
> isn't published anywhere. Maybe we could have links?
I am open to suggestions on this as I know when I was trying to learn 
how to use heat the reliable up-to date documentation was not something 
easily found and it took working with 3 or 4 blog posts to get my head 
around heat and then it took much longer to get to grips with 
SoftwareDeployment.
We have also been trying to educate our users on using heat and have 
found that the documentation does not help complete newbies to get started.
This is why my colleague Florin created the training in the link I 
posted before. This we have found is easier to digest for newbies and 
engineering who have skills on other platforms.
>> We should include examples form the default hooks e.g. ansible salt etc...
>> with SoftwareDeployments.
>>
>> We found this quiet helpful for new users to understand what is possible.
> We have those AFAIU:
> https://github.com/openstack/heat-templates/tree/master/hot/software-config/example-templates
We did use these to educate ourselves before we started thinking of our 
library.
It would be good to have better documentation for people to follow so 
that they know what needs to be where.

>
>> We should make sure that the validation running against the templates runs
>> without ignoring errors.
>>
>> This was noted in IRC that some errors were ignored as the endpoints or
>> catalog was not available. It would be good to have some form of headless
>> catalog server that tests can be run against so that developers of templates
>> can validate before submitting patches.
> Yep that's a good idea, I've written a patch here:
> https://review.openstack.org/465860
Thank you
I would love to test this against our templates.
How would I make that available on my local laptop to do testing against?

Thanks for the work you guys put in

Lance



More information about the OpenStack-dev mailing list