While being able to write kind of stand alone templates for apps is the goal, 
any sufficiently complicated cloud app template starts to benefit from shared 
components.

If you look at a bunch of the templates that are in:
https://github.com/EMSL-MSC/heat-templates/tree/master/cfn
They are more and more sharing components. So I've built into a shared library 
there:
https://github.com/EMSL-MSC/heat-templates/tree/master/cfn/lib

By having one place to put open sourced production ready templates, these 
common features can start to be abstracted out, made more robust and featureful 
in standard libraries. This in turn makes it easier to write production grade, 
generic templates to put in the catalog.

Its the back and forth between the production templates, and the shared 
libraries that I think is a very important piece to the issue.

Its also a place developers can congregate around and recommend ways for the 
templates to be made better. "Hey, rather then hard code that manually, why 
don't you use X shared library feature?". This also is an important piece.

Lastly, its a place where the heat engine developers can go actually look at 
and quickly see what things app developers are having to do in order to make 
production grade templates work. There are some unfortunate things that have to 
be done today, and it becomes more easy to convince developers new features are 
needed when they can see the reasons themselves.

Eventually the shared libraries and individual app templates will mature enough 
that having just the shared libraries in the common repo, and having the 
templates be split out on their own will probably make sense. I think that's 
several years out at very least. Probably longer.

Thanks,
Kevin


________________________________________
From: Christopher Aedo [d...@aedo.net]
Sent: Wednesday, August 12, 2015 10:39 AM
To: OpenStack Development Mailing List (not for usage questions)
Subject: Re: [openstack-dev] [app-catalog][heat] Heat template contributors     
repo

On Sun, Aug 9, 2015 at 3:32 PM, Steve Baker <sba...@redhat.com> wrote:
> On 07/08/15 06:56, Fox, Kevin M wrote:
>>
>> Heat templates so far seems to be a place to dump examples for showing off
>> how to use specific heat resources/features.
>>
>> Are there any intentions to maintain production ready heat templates in
>> it? Last I asked the answer seemed to be no.
>>
>> If I misunderstood, heat-templates would be a logical place to put them
>> then.
>>
> Historically heat-templates has avoided hosting production-ready templates,
> but this has purely been due to having the resources available to maintain
> them.
>
> If a community emerged who were motivated to author, maintain and support
> the infrastructure which tests these templates then I think they would
> benefit from being hosted in the heat-templates repository. It sounds like
> such a community is coalescing around the app-catalog project.
>
> Production-ready templates could end up somewhere like
> heat-templates/hot/app-catalog. If this takes off then heat-templates can be
> assigned its own core team so that more than just heat-core could approve
> these templates.

Steve and Kevin have both touched on what I was hoping for when I sent
the initial note.  That is to try to make a place for developing heat
templates, and a path to get there for those who might contribute.

Ryan asked a key question that was definitely not clear from what I was asking:
On Thu, Aug 6, 2015 at 11:55 AM, Ryan Brown <rybr...@redhat.com> wrote:
> What do you imagine these templates being for? Are people creating
> little reusable snippets/nested stacks that can be incorporated into
> someone else's infrastructure? Or standalone templates for stuff like
> "here, instant mongodb cluster"?

I was thinking of this from the perspective of all the people who have
access to OpenStack clouds now (whether private self-hosted clouds or
the dozens of public OpenStack clouds people can use today).  The App
Catalog is meant to be a showcase for things that you can do with that
cloud; packing it full of useful Heat templates would be excellent.  I
am thinking standalone templates, basically like the great set of
templates available on Rackspace cloud [1] but ones tailored for ALL
OpenStack clouds.

I do not believe just creating a repo will magically result in people
adding templates there (with expert guidance from unspecified core
reviewers).  But it feels to me like we are missing a place and
community for sharing the templates that are being developed (or the
ideas that could be turned into templates).  Like Kevin pointed out
for the work J^2 did for the Chef templates, there's no obvious place
to go check first to see if someone else has created and shared a
template before you start working on one.  Ideally the app-catalog
becomes that place, but I'm trying to figure out how to engage the
Heat community in making that a reality.  If making a new repo is not
the answer (and I agree with most of the points in this thread -
that's not the way forward), let's see what else we can do.

Can we agree the world of people using OpenStack would benefit from
having easy access to Heat templates that stand up applications for
users?  Given that, what would be the best way to start collecting
what already exists, and start encouraging newcomers to contribute
there?

[1]: https://github.com/rackspace-orchestration-templates

-Christopher

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to