2
0
Commit Graph

4 Commits

Author SHA1 Message Date
Matthew X. Economou
827ed47a25 Filter all calls to formulas_git_opt through load_yaml
Jinja macros are not actually functions.  The only thing they can return
is a string.  In order to return structured data, the callee must
serialize it, and the caller must deserialize it.  This state formula
uses YAML as the intermediary, hence the occurrence of both the
`|yaml` (callee) and `|load_yaml` (caller) filters in its code.

The post-render "mapping values are not allowed here" error in
*salt/formulas.sls* or the broken rendering of
*salt/files/master.d/f_defaults.conf* happens because invocations of the
`formulas_git_opt` macro in several Jinja `set` statements do not get
deserialized, resulting in the trailing newline followed by three dot
characters (`...`), which YAML uses to signal the end of a document.
Correcting these rendering errors requires adding the necessary
deserialization code at those locations (i.e., filtering the macro call
through `|load_yaml`).
2015-09-03 14:56:45 -04:00
Petr Demin
eb421c676f formulas.jinja: python 2.6 support 2015-06-17 17:51:40 +03:00
Niels Abspoel
14c262fdad fix empty formulas list in pillar with empty dic. 2015-05-17 15:39:49 +02:00
Raphaël Hertzog
f46b4f29d8 Add new “salt.formulas” state to manage salt formulas
This state downloads formulas from git repositories and ensures
that they are recorded in the file_roots setting.
2014-12-23 17:24:19 +01:00