d154bf8781
Revert templating enhancements from 73dbab70 e6c28658 d409352c 9858b1f2 4587528b 9b1fe455 214b0b05 8d3db803 7f9504d1 5031104c 35cb9dc2 2bd8cb57 1e85c754
2013-10-30 10:50:16 -04:00
5031104c3a
Finishing touches on template cleanup.
2013-10-19 11:40:48 -04:00
35cb9dc22f
Work in progress about cleaning up template code.
2013-10-19 11:39:52 -04:00
2032489617
Prune legacy tests -- many of these are not part of the official API or documented syntax.
2013-10-11 19:31:26 -04:00
e8b043332f
Remove some obsolete tests (mechanism of error detection suboptimal, replacements pending)
2013-10-11 19:28:53 -04:00
ef28d62846
Update TestUtils.py
...
tests shouldn't be making symlinks to system dirs, also fixes unit test report on OS X.
2013-09-28 11:01:21 -04:00
399d57a651
add more tests :
...
- test part of ansible.runner.filter_plugins.core
- test ansible.utils.unfrackpath
2013-09-21 13:00:11 +02:00
a1503c4d59
stringify conditional before handing it to Jinja2 for evaluation.
...
This should fix simple conditionals like:
when: ansible_selinux
While here add tests for ansible.utils.check_conditional() in
"jinja2_compare mode".
2013-07-23 22:24:53 +02:00
b32131c867
expanduser on each component of plug-in paths
...
ansible.constants was calling expanduser (by way of shell_expand_path)
on the entire configured value for the library and *_plugins
configuration values, but these values have always been interpreted as
multiple directories separated by os.pathsep. Thus, if you supplied
multiple directories for one of these values, typically only the first
(at least on *nix) would have e.g. "~" expanded to HOME.
Now PluginLoader does expansion on each individual path in each of
these variables.
2013-06-22 17:01:12 -05:00
81a926547c
Some continued work on new-style templates and associated test code changes. Legacy template functions
...
are marked with "legacy_" for possible future removal.
2013-04-10 19:09:57 -04:00
b09ef21ec9
Add code to flag legacy templating like $foo.{bar} as deprecated in favor of Jinja2 {{ foo.bar }} so we
...
can remove the legacy system at a later date.
2013-04-10 17:52:35 -04:00
a79373f6b2
Make template_ds the only templater
...
Instead of having to remember when to use which one, rename template_ds
to template and move the last bit of code from template to varReplace
(which gets used for all string replacements, in the end).
This means that you can template any data type without worrying about
whether it's a string or not, and the right thing will happen.
2013-02-03 14:01:54 +01:00
87b2378e22
Resolve variable references inside variables
...
Fixes the case where variable x is '$y' and y is a dict(foo='bar') and
an attempt to access ${x.foo} is made.
2013-01-09 13:45:55 +01:00
e74ffd6764
Lookup plugin arguments need to be templated
2012-11-14 11:17:30 +01:00
d2dce1d63f
Make lookup plugin replacements part of the main variable logic
2012-11-13 02:18:05 +01:00
383dc30560
Rename varReplaceWithItems to template_ds
2012-11-09 15:43:29 +01:00
47082a9171
Add $LOOKUP(<lookup plugin>,<data>) as a templating option
...
Also moves file and pipe to lookup_plugins.
2012-11-07 23:17:29 +01:00
56314f7225
Add test case for non-existing variable in varReplaceWithItems
2012-11-01 19:24:53 +01:00
efe83daf19
Fix ${var.$other_var} and add test cases for it
2012-10-30 13:05:45 +01:00
c9c5fc1456
Merge varFind and varLookup
2012-10-21 20:32:02 +02:00
6fa1a49037
Fix the basic templating system such that when the template ends in '$', life continues as normal.
2012-10-20 10:57:52 -04:00
0837a29e51
Only expand lists in templating inside of module action lines, to avoid breaking usage with with_items and "in" statements, etc
2012-10-17 19:35:12 -04:00
695b4bcb46
Allow non-string types in with_items variables
2012-10-01 17:07:51 +02:00
22f3aef4dc
remove test for private function that is no longer present
2012-09-30 20:49:16 -04:00
dfee6e19ca
Replace lists with a comma-separated join
2012-09-30 11:41:44 +02:00
4b29c2cf74
Revert pull request #1091
...
Automatic quoting of variables in only_if breaks existing playbooks
where entire statements are put in a variable, and other cases. See
issue #1120 for details.
2012-09-28 13:58:23 +02:00
06cfc52afd
fix tests and change nosetests flags so asserts show what comparisons failed
2012-09-27 22:12:15 -04:00
9e4fac5ebd
Create a string parser for varReplace instead of using re
...
This fixes a few issues,
- ${foo}${bar} would be parsed as a variable named foo}${bar,
which wouldn't be easily fixed without breaking ${foo.${bar}}
- allows escaping . in variable parts so e.g.
${hostvars.{test.example.com}.foo} works
This is slower than using re. 3 million templating calls take about
about twice as long to complete with this compared to the regexp,
from ~65 seconds to ~115 seconds on my laptop.
2012-09-28 01:03:34 +02:00
b55ef665ba
Fix only_if statements referencing non-string types
...
This fixes e.g. only_if: ${task.changed} which would always
evaluate to true due to it having been replaced by a string for its
boolean value. Also adds a test case to ensure it doesn't get
missed again.
2012-09-27 18:36:52 +02:00
51216dcfae
Add tests for varReplace repr
2012-09-25 20:14:58 -04:00
4ded8cb3b3
Change $FILE{} and $PIPE{} to $FILE() and $PIPE()
2012-09-19 17:58:16 +02:00
cc948f339c
Allow including files through variables
...
$FILE{file} will be replaced with the contents of "file"
$PIPE{cat file} will be replaced with the output of "cat file"
2012-09-19 17:57:17 +02:00
b8c4bb9e6e
Revert "Allow including files through variables"
...
This reverts commit bf47bb4753 .
Conflicts:
lib/ansible/utils.py
test/TestUtils.py
2012-09-19 10:31:23 -04:00
b2af95e4a6
Change $FILE{} and $PIPE{} to $FILE() and $PIPE()
2012-09-18 21:34:55 -04:00
bf47bb4753
Allow including files through variables
...
$FILE{file} will be replaced with the contents of "file"
$PIPE{cat file} will be replaced with the output of "cat file"
2012-09-17 16:03:59 +02:00
08272dc25d
Remove unused imports.
2012-08-09 21:35:22 -07:00
9e62fd42b5
update test utils code
2012-07-16 20:28:32 -04:00
031c75e53a
Update tests to reflect new API
2012-06-18 00:13:12 +02:00
24d73b0fe6
Add tests of iterative templating
2012-06-16 13:13:01 +02:00
a05da2d312
Allow with_items to specify a variable
2012-06-09 21:59:22 +02:00
639763c138
Allow "=" in k-v values.
2012-05-23 00:58:05 +01:00
dc60f2d844
Allow camelCase variables in varreplace.
2012-05-11 14:14:53 +02:00
3cbc229990
Support list indexing in varReplace.
2012-05-10 19:25:28 +02:00
74e21e6154
Fixup unicode varReplace templating.
...
The original patches should have conflicted?
53bde0bf51 vs efde61e537
2012-05-10 10:11:14 +02:00
2bbc05185e
Make no_engine the default templating action.
2012-05-09 16:15:43 +02:00
82144fd543
Support nested variables in varReplace.
2012-05-09 16:15:43 +02:00