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