Excerpts from Fox, Kevin M's message of 2015-12-15 09:07:02 -0800:
> My $0.02:
> 
> heat as it is today, requires all users to be devops, and to carefully craft 
> the templates launched specific to the cloud and the particular app they are 
> trying to write. Making sharing code between heat users difficult. This means 
> the potential user base of heat is restricted to developers knowledgeable in 
> heat template format, or those using openstack services that wrap up in front 
> of heat (trove, sahara, etc). This mostly relegates heat to the role of 
> "plumbing". Where as, I see it as a first class orchestration engine for the 
> cloud. Something that should be usable by all in its own right.
> 
> Just about every attempt I've seen so far has required something like jinja 
> in front to generate the heat templates since heat itself is not generic 
> enough. This means its not available from Horizon, and then is only usable by 
> a small fraction of openstack users.
> 
> I've had some luck with aproximating conditionals using maps and nested 
> stacks. It works but its really ugly to code. But from an end users 
> perspective, its very nice to use.
> 
> Since everyone's reinventing the templating wheel over and over, heat should 
> itself gain a bit more templatability in its templates so that everyone can 
> stop having to rewrite template engines on top of heat, and heat users don't 
> have to take so much time customizing templates so they can launch them.
> 
> I don't particularly care what the best solution to making conditionals 
> available is. if you can guarantee jinja templates will always halt in a 
> reasonable amount of time and is sandboxed appropriately, then sticking it in 
> heat would be a good solution. If not, even some simple conditionals ala AWS 
> would be extremely welcome. But either way, it should take heat parameters 
> in, and operate on them. The heat parameters section is a great contract 
> today between heat users, and heat template developers. Its one of the 
> coolest things about Heat. It makes for a much better user experience in 
> Horizon and the cli. And when I say users, I mean "heat users" != "heat 
> template developers". In the same way, a bash script user may not be able to 
> even read a bash script, but they don't have to edit one to use it. They just 
> call it with parameters.
> 


I agree with your sentiments Kevin. As somebody who struggled with Heat
before it had provider templates, and ended up writing a templating
solution to solve it, I always felt that Heat was holding me back from
writing reusable, composable templates. The CloudFormation way of doing
conditions seems worth copying.

Jinja2 in the engine, however, is not a good idea. Can it be contained?
Maybe. However, you already have Javascript that is built for this exact
purpose and already optimized as such.

__________________________________________________________________________
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