Commit Graph

109 Commits (7c5ad1fa230ff1f64aaf56442926c16ce16ccc5b)

Author SHA1 Message Date
James Tanner ad70e9bcd6 Fixes #6227 skip non-unicode strings and catch decode errors silently in template_from_string 2014-03-17 16:54:25 -04:00
Michael DeHaan d1753046e0 Revert "Correctly catch template errors without returning invalid data"
This reverts commit 3cd7d47b7e.
2014-03-13 07:46:19 -04:00
James Cammarata 3cd7d47b7e Correctly catch template errors without returning invalid data
Fixes #6329
2014-03-07 14:36:54 -06:00
Michael DeHaan 46ec8759d5 Remove the legacy templating code, which was guarded by deprecation warnings in the previous two releases, and undocumented for a long time. use {{ foo }} to access variables instead of ${foo} or $foo. 2014-02-28 18:38:45 -05:00
James Cammarata a72dc2ec34 Use finalize method in jinja2 to convert None values to empty strings
Fixes #4812
2014-02-06 00:43:31 -06:00
James Cammarata 959a156195 Properly count newlines appearing at the end of templates after rendering
Fixes #4633
2014-02-05 15:14:19 -06:00
James Cammarata 3fddd78ec5 Fixing traceback caused by incorrect argument passing to json.dumps
Fixes #5756
2014-01-27 11:28:07 -06:00
James Tanner 21fdb2bbc7 Fixes #5200 Handle template contents with unicode strings better 2014-01-03 11:18:20 -05:00
Janez Nemanic 8752ae6909 Fix for issue #4730 - stacktrace when deferenencing a non-existent group 2013-12-02 18:25:43 +01:00
James Cammarata 9101c2af98 Fix traceback in template error detection code
Fixes #5081
2013-11-29 08:47:54 -06:00
Antonio Zanardo 8dbd91b5ad fix typo in deprecation warning 2013-11-23 19:15:51 -02:00
Michael DeHaan fc909b453f Make the legacy template detection system not hit a false positive when
replacing a \$ with $.
2013-11-18 17:51:57 -05:00
Michael DeHaan 90cce35919 This allows variable references in playbooks in a different way. 2013-10-30 21:26:16 -04:00
James Tanner 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
Michael DeHaan 73dbab702f Don't run lookup plugins while trying to simplify the input datastructure. 2013-10-28 09:08:53 -04:00
Michael DeHaan 4587528b99 Fix typo in comment. 2013-10-26 19:32:07 -04:00
Michael DeHaan d409352c85 Remove some interior imports in the code. Not really needed but nice to have them gone. 2013-10-26 19:26:43 -04:00
Michael DeHaan e6c28658b4 Add in some code to pre-template datastructures prior to template usage. This prevents a certain class of error
where filter evaluations can happen too early due to the template engine recursion being a bit limited.

Addresses #4662
2013-10-26 19:11:13 -04:00
Michael DeHaan 9858b1f2f3 Enable imports to work on a snippet based system, allowing for instance a library of common EC2 functions
to be reused between modules.  See library/system/service and library/system/ping for initial examples.  Can
work the old way to just import 'basic', or can import the new way to import multiple pieces of code from
module_utils/.
2013-10-26 11:09:30 -04:00
James Tanner 9b1fe455c6 Fixes #4549 Do not call lookup plugins when templating a task's name 2013-10-25 10:27:38 -04:00
James Tanner 214b0b052c Fixes #4608 add lookup to template globals to make plugins work again 2013-10-22 12:00:54 -04:00
Michael DeHaan 2bd8cb5790 Make the deprecation detector in templates more accurate. Fixes #4514. 2013-10-19 14:14:16 -04:00
Michael DeHaan 7f9504d14d Fix a typo. 2013-10-19 13:52:48 -04:00
Michael DeHaan 8d3db80370 Some misc cleanup and removal of unused imports. 2013-10-19 13:50:14 -04:00
Michael DeHaan 5031104c3a Finishing touches on template cleanup. 2013-10-19 11:40:48 -04:00
Michael DeHaan 1e85c7544b Further WIP on template cleanup. 2013-10-19 11:39:52 -04:00
Michael DeHaan 35cb9dc22f Work in progress about cleaning up template code. 2013-10-19 11:39:52 -04:00
Tomaz Muraus 922f61899e Throw a more user-friendly exception during template rendering process. 2013-10-16 16:48:17 +02:00
Michael DeHaan add45d2ca9 Fixup legacy var detector. 2013-10-11 19:16:36 -04:00
Michael DeHaan a45494a896 Add warnings feature. 2013-10-11 19:04:26 -04:00
Michael DeHaan 9637f620d7 Deprecation warnings of several flavors, nice and purple and can be disabled
in ansible.cfg.
2013-10-11 18:37:39 -04:00
Michael DeHaan c69e19c6a6 Enhance references to logging functionality. Fixes #3431. 2013-10-08 08:26:40 -04:00
Matt Coddington 7f7116de3b commit 9db4f7a made a change that also needed to include this to retain correct legacy_playbook_variables behavior 2013-09-25 23:22:09 -04:00
Alek Storm 3569a2ffee Handle AnsibleUndefinedVariable's raised from lookup plugins like jinja2 UndefinedError's 2013-09-20 19:56:12 -05:00
James Cammarata 294451d002 Correctly handle variable issues when evaluating jinja2 when statements
Fixes #4025
2013-09-09 14:50:21 -05:00
Petr Svoboda fff4f1da33 Improve behavior with error_on_undefined_vars enabled
Pass fail_on_undefined flag to recursive calls to `template` function,
so more undefined variables are detected.

Works only for Jinja style variables. Undefined legacy variables are
never detected.
2013-08-20 00:40:49 -05:00
Brian Coca 581a0c9f59 now correctly 'types' value pairs that are passed as options to jinja
override
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-08-01 21:08:23 -04:00
Stoned Elipot 2d88c70cd5 Introduce exception AnsibleFilterError and use it in Jinja filters. Ignore this exception when trying to find the name of a task for display (callback) purpose. 2013-07-07 19:18:32 +02:00
Michael DeHaan 5a504e3a3b Tweak error messages for undefined variables feature. 2013-06-18 13:30:02 -04:00
Michael DeHaan 637983cf31 cleanup example config file + Squashed commit of the following:
commit c36b66dc952dfff91043ecbca56cf3f1f8f00703
Merge: 240d7bf f4cf934
Author: Michael DeHaan <michael@ansibleworks.com>
Date:   Tue Jun 18 13:04:51 2013 -0400

    Merge branch 'unevaluated-vars' of git://github.com/lorin/ansible into lorin_undefined

    Conflicts:
    	lib/ansible/runner/__init__.py

commit f4cf93436767f73b62a16067ab5e628830045896
Merge: 2531440 07a1365
Author: Lorin Hochstein <lorin@nimbisservices.com>
Date:   Thu Jun 6 11:07:41 2013 -0400

    Merge branch 'devel' into unevaluated-vars

commit 253144045cbafd7d72836f1017c62ac4ba623186
Author: Lorin Hochstein <lorin@nimbisservices.com>
Date:   Thu Jun 6 11:06:37 2013 -0400

    Fail template from file on undefined vars

    If config option is set, raise an exception if templating from a
    file and a variable is undefined.

commit aecb71d8b75257f0f3e11a9b176fc3737aecef8d
Author: Lorin Hochstein <lorin@nimbisservices.com>
Date:   Wed Jun 5 17:12:12 2013 -0400

    Add fail_on_undefined flag

    Add a fail_on_undefined flag to the template and template_from_string methods.

    If this flag is true, then re-raise the ninja2.excpetions.UndefinedError instead of
    swallowing it.

commit cbb1808f0585f01536240aee05a1bfd06c4b4647
Merge: d4bbf49 41425fb
Author: Lorin Hochstein <lorin@nimbisservices.com>
Date:   Wed Jun 5 16:14:12 2013 -0400

    Merge branch 'devel' into unevaluated-vars

commit d4bbf492b0b63c789d66ab60d0ec634d100fca82
Author: Lorin Hochstein <lorin@nimbisservices.com>
Date:   Mon Jun 3 19:46:13 2013 -0400

    template: Raise UndefinedError exception

    In template_from_string, raise an undefined error if it occurs.

    Have the caller catch it and throw an AnsibleUndefinedVariable

commit c94780280515f1f3756fdc429b2b1e87b365e9b7
Merge: 8d919d6 be33bcf
Author: Lorin Hochstein <lorin@nimbisservices.com>
Date:   Mon Jun 3 10:09:43 2013 -0400

    Merge branch 'devel' into unevaluated-vars

commit 8d919d6c97b28a42f47ca7248c542695baf6175f
Merge: 0f68ad8 b8630d2
Author: Lorin Hochstein <lorin@nimbisservices.com>
Date:   Thu May 30 16:27:48 2013 -0400

    Merge branch 'devel' into unevaluated-vars

commit 0f68ad8193ac17488e339a258f8c63fdae399c26
Author: Lorin Hochstein <lorin@nimbisservices.com>
Date:   Thu May 30 14:32:03 2013 -0400

    Optionally fail task on undefined variables

    This patch introduces a new configuration option called
    error_on_undefined_vars, which defaults to false.

    If this option is set to true, then a task which has unevaluated
    variables in its arguments will fail instead of running. Output looks
    like this:

        TASK: [set rabbitmq password] *************************************************
        fatal: [10.20.0.7] => Undefined variables: rabbitmq_user, rabbitmq_password
2013-06-18 13:24:30 -04:00
Michael DeHaan 3d21dab705 Small fix so template plugins can see inject variables. 2013-06-10 14:23:48 -04:00
Michael DeHaan 3783dc42d4 normalize path 2013-06-03 09:57:02 -04:00
Michael DeHaan b8a66ce5bb Lookup plugins in included files now look in paths relative to their files, allowing role usage. 2013-06-01 18:15:38 -04:00
Michael DeHaan cd57d59913 If ansible is configured to use a log file but cannot write to it, exit, but don't traceback. 2013-05-19 20:05:04 -04:00
Michael DeHaan 496f06c3c9 Pass variables to lookup function for those that want to use them. 2013-05-19 19:26:30 -04:00
Michael DeHaan 9f47d13306 Misc identation. 2013-05-11 17:24:12 -04:00
Michael DeHaan 3fdf15fa8a template code fixes for 'make pep8' 2013-05-11 17:22:56 -04:00
Matt Coddington 542eeeb5d6 add option to ignore $legacy variable style substitution 2013-05-11 14:06:01 -04:00
Stoned Elipot df3c4849e9 Also load Jinja2 extensions when processing template from string 2013-04-28 20:52:01 -04:00
Michael DeHaan 224e20ca60 complex_arg templating should be smarter. Make it so! 2013-04-25 21:11:17 -04:00