Commit Graph

4774 Commits (b1d40ed06428c53f3874a1317864c961a8983add)
 

Author SHA1 Message Date
willthames 377bc31311 Prevent premature substitution of variables into tasks
As documented in #2623, early variable substitution causes when_
tests to fail and possibly other side effects.

I can see the reason for this early substitution, likely introduced
in 1dfe60a6, to allow many playbook parameters to be templated.
This is a valid goal, but the recursive nature of the utils.template
function means that it goes too far.

At this point removing tasks from the list of parameters to be
substituted seems sufficient to make my tests pass. It may be the
case that other parameters should be excluded, but I suspect not.

Adding a test case. I would prefer to analyse not just the aggregate
statistics but also whether the results are as expected - I can't
see an easy way to do that with the available callbacks at present.
12 years ago
Michael DeHaan a05361f515 This is a fix on top of the 'airplane variable upgrade' commits that fixes legacy when_string so it evaluates correctly in the new eval construct. 12 years ago
Michael DeHaan 3e58768344 Merge pull request #2646 from sevein/git-shallow-clone
Add support for shallow clones in the git module
12 years ago
Michael DeHaan 92ddab8a69 Merge pull request #2649 from sergevanginderachter/bin-ansible
make bin/ansible error output consistent for shell module as for the command module when no arguments are given
12 years ago
Michael DeHaan 3e736eaf00 Merge pull request #2622 from skvidal/playbook-start-at-task
implement --start-at-task option to hop to a specific task before starti...
12 years ago
Michael DeHaan 34bacc468c Merge pull request #2627 from jsmartin/riak
Adds a riak module
12 years ago
Serge van Ginderachter 94243e983f make bin/ansible error output consistent for shell module as for the command module when no arguments 12 years ago
Michael DeHaan 4e79bd0872 Remove unneccessary construction of Jinja2 environment object. 12 years ago
Michael DeHaan b869551a4c Merge pull request #2628 from victorcoder/devel
Typo in docs
12 years ago
Michael DeHaan 2f5c1d3788 Merge pull request #2629 from stoned/fix-jinja2-filters-init
Fix Jinja2 filter plugins initialization
12 years ago
Michael DeHaan 11a819cc4b Merge pull request #2631 from stoned/templates-filters-base64
Add base64 encode and decode filters to templates
12 years ago
Michael DeHaan a6777f7e7c Fix template call in group_by module. 12 years ago
Jesús García Crespo 62d7e6b006 Add --depth support in the git module 12 years ago
Michael DeHaan a0a2ef3d9d Merge pull request #2640 from trevor/devel
make json valid
12 years ago
Michael DeHaan 7931597a6a Fix template call. 12 years ago
Trevor Wennblom b779fa4fe9 make json valid 12 years ago
Michael DeHaan 0be04d2b57 Decided to not deprecate legacy template syntax for now. Backwards compat is important, though the docs will suggest the new way. 12 years ago
Michael DeHaan 695acc2de0 Make lookup plugins accessible in templates 12 years ago
Michael DeHaan 5b2035edd9 Changes for 'make pep8' 12 years ago
Michael DeHaan 81a926547c Some continued work on new-style templates and associated test code changes. Legacy template functions
are marked with "legacy_" for possible future removal.
12 years ago
Michael DeHaan f0b21dcc0f allow references to names of variables in with_items without needing to surround them with Jinja2 '{{' delimeters 12 years ago
Michael DeHaan 9ac25bb8f6 Minor formatting 12 years ago
Michael DeHaan d7206d84bb Allows Jinja2 that starts a YAML line to not cause a syntax error.
Technically this isn't quite valid YAML when this happens, so we make it valid.  This means that if a future commander
API allows save/load it should make sure it does similar processing.
12 years ago
Michael DeHaan 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.
12 years ago
Michael DeHaan 804056a563 Use Jinja2 strict undefined in string templating to allow the default filter to be used. 12 years ago
Michael DeHaan 998230a84a Allow $foo and {{ bar }} to be used on the same line in playbooks. 12 years ago
Michael DeHaan 29209c4913 Style fixes so "make pep8" is clean. 12 years ago
Michael DeHaan 0113951580 Enable usage of when_set within new eval system. 12 years ago
Michael DeHaan a83e10d77d Use safe_eval vs eval. 12 years ago
Michael DeHaan fecfbf9226 Allow jinja2 evals that produce lists to be used in with_items. Ideally want something a bit less heavy
than the eval here.
12 years ago
Michael DeHaan e8085ad40c Since we removed the (undocumented) playbook include + with_items code, fix the tests to
compensate.
12 years ago
Michael DeHaan c5d9823467 Fix some items related to playbook includes and indentation. 12 years ago
Stoned Elipot 0893562605 Add base64 encode and decode filters to templates 12 years ago
Michael DeHaan 290780d13f Playbook + with_items was an undocumented feature that was causing problems because it would
evaluate and replace '$item' with ''.  Really it doesn't make sense to include multiple playbooks
via a loop variable, as you can do this with task + with_items already (and it's a simpler code
path).  Given this is undocumented, this removes that feature, and we'll consider next how to
also add 'with_items' support directly to roles.
12 years ago
Michael DeHaan c64f19dc5f Don't set the item variable as eager template replacement will over-replace the variable as an empty string. 12 years ago
Stoned Elipot 154f58f82d Fix Jinja2 filter plugins initialization
_get_filter_plugins() checks FILTER_PLUGINS against None hence
the latter should be initialized to None.
12 years ago
Victor Castell e874bf86c3 Typo in docs 12 years ago
James Martin f60ec80fca initial commit. 12 years ago
Seth Vidal 690738ea32 implement --start-at-task option to hop to a specific task before starting running them 12 years ago
Michael DeHaan 586ee923a6 Merge pull request #2620 from willthames/shlex_split_bug
Test case and fix for shlex.split unicode bug
12 years ago
Michael DeHaan 5cac2a763b Merge pull request #2616 from victorcoder/devel
Enable virt module to work with different libvirt connection uris.
12 years ago
Victor Castell c5c942c674 Enable virt module to work with different libvirt connection uris. This allow to work with all libvirt supported VMs. 12 years ago
Michael DeHaan 917704ee3a Merge pull request #2613 from garethrees/patch-1
Add separate step update_cache example
12 years ago
Michael DeHaan bef2f5696f Update changelog 12 years ago
Michael DeHaan 61f2668b0a Don't include the '.yml' in the path to the retry files. 12 years ago
Michael DeHaan 0d530f3bf0 Change the retry logic to write a limit file, able to source limit from files by indicating with @filename 12 years ago
Gareth Rees c45b54c1cf Add separate step update_cache example 12 years ago
lwade c1d251cbdc Add availability zone parameter 12 years ago
Bernhard Weitzhofer 770680180b Use psycopg2's string handling to escape password string
This allows the password to contain single quotes and should make it safe to
use randomly generated passwords (provided passwords can be represented in the
connection encoding).
12 years ago
willthames 9d87733f98 Test case and fix for shlex.split unicode bug
When operating on a unicode string in python 2.6, shlex.split returns
a result that does not work with the file constructor.

To reproduce this requires a task include that is templated (this is
because the templated string is a unicode result, whereas a non-
templated string is a non-unicode string)

    [will@centos6.3] $ python
    Python 2.6.6 (r266:84292, Sep 11 2012, 08:34:23)
    [GCC 4.4.6 20120305 (Red Hat 4.4.6-4)] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import shlex
    >>> shlex.split(u'abc')
    ['a\x00\x00\x00b\x00\x00\x00c\x00\x00\x00']

    [will@fedora17] $ python
    Python 2.7.3 (default, Jul 24 2012, 10:05:38)
    [GCC 4.7.0 20120507 (Red Hat 4.7.0-5)] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import shlex
    >>> shlex.split(u'abc')
    ['abc']

The proposed fix (coercing the include parameters to string before the
shlex.split) may not be ideal but it does fix the bug for my test case.
12 years ago