[openstack-dev] [Heat] Conditionals, was: New function: first_nonnull

Zane Bitter zbitter at redhat.com
Wed Nov 12 14:48:15 UTC 2014

On 12/11/14 08:24, Stan Lagun wrote:
> On Wed, Nov 12, 2014 at 3:50 PM, Zane Bitter <zbitter at redhat.com
> <mailto:zbitter at redhat.com>> wrote:
>     It's actually potentially horrible, because you introduce potential
>     quoting issues when you embed mistral workbooks in Heat templates or
>     pass Heat templates to Murano.
> Could you please give an example of template with such issue?

I don't have one to hand, but we'd want to prove that such an issue 
*can't* happen before implementing this.

> Also note that
> a. YAQL uses only single quote marks (') for string while JSON uses
> double quotes (")
> b. If Mistral worbook is embedded into HOT template it should not be
> parsed or interpreted anyway. Otherwise consider what would happen if
> that workbook would in turn have HOT snippets embedded

That's exactly the problem I'm talking about. If you have a HOT snippet 
embedded in a Mistral workbook embedded in a HOT template passed to 
Murano, can you guarantee that each piece of YAQL will be interpreted 
only in exactly the right place? Will the user be able to predict where 
that will be? My brain hurts just thinking about it.

We can protect other formats from Heat by wrapping an intrinsic function 
around the YAQL; I'm not certain that HOT would be protected from 
Mistral and Murano in the same way, because this wasn't previously a 
design goal for them.


More information about the OpenStack-dev mailing list