Commit Graph

64 Commits (102b745b314d88bf8541fa2731ff1dae2a2fb95e)

Author SHA1 Message Date
Hiroaki Nakamura 2357194b39 Add failed_when module variable.
Implementation note: Ternery operator trick for python prior to 2.5 is used.
(test and [when_true_value] or [when_false_value])[0]
http://stackoverflow.com/questions/394809/ternary-conditional-operator-in-python#comment1466794_394887
11 years ago
James Cammarata 8d0487c31e Removing broken tests for now 11 years ago
Stoned Elipot f0743fc32a Introduce the 'always_run' task clause.
The 'always_run' task clause allows one to execute a task even in
check mode.

While here implement Runner.noop_on_check() to check if a runner
really should execute its task, with respect to check mode option
and 'always_run' clause.

Also add the optional 'jinja2' argument to check_conditional() :
it allows to give this function a jinja2 expression without exposing
the 'jinja2_compare' implementation mechanism.
11 years ago
Petr Svoboda e3adfbf5f8 Add tests for undefined variable detection
Tests `test_playbook_undefined_varsX_fail` check if ansible detects
undefined variables when `error_on_undefined_vars` is enabled. These
tests fail without "Improve behavior with error_on_undefined_vars
enabled" patch.

Tests `test_playbook_undefined_varsX_ignore` check if ansible ignores
undefined variables when `error_on_undefined_vars` is disabled.

Also modify PlayBook._run_task_internal() so error_on_undefined_vars is
testable.
11 years ago
Michael DeHaan 4bdbe4dc4f Remove some test prints 11 years ago
Michael DeHaan 88720516a1 Merge branch 'changed_when' of git://github.com/stoned/ansible into changed_when 11 years ago
Tin Tvrtkovic 4a732c1e9f Enabled the use of extra vars in playbook file paths when including playbooks from other playbooks. 11 years ago
Stoned Elipot eb45f07ae3 Introduce 'changed_when' keyword to override a task's changed status with the evaluation of a Jinja2 expression 12 years ago
Stoned Elipot baf868f825 Add test for 'ignore_errors:' 12 years ago
George Miroshnykov c642ba77ae Added basic support for hash_behaviour=merge in roles
Dict vars passed to roles are now properly merged
instead of simply overriding dict vars that are
coming from vars_files.
12 years ago
Michael DeHaan 7c6341718e Merge branch 'combine_vars' of git://github.com/laggyluke/ansible into exp
Conflicts:
	lib/ansible/inventory/vars_plugins/group_vars.py
	lib/ansible/runner/__init__.py
	lib/ansible/utils/__init__.py
	test/TestPlayBook.py
12 years ago
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 e8085ad40c Since we removed the (undocumented) playbook include + with_items code, fix the tests to
compensate.
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
George Miroshnykov 6826aa7360 Tweaked merge_hash to also affect Runner behavior 12 years ago
Michael DeHaan 2c783c7145 Disable a test temporarily 12 years ago
Michael DeHaan cdaa2085ee Preliminary ability to use Jinja2 {{ }} to replace ${foo.bar} in playbooks. Can't use both at the same time per line. 12 years ago
Javier Candeira ca6c36e1ac password lookup plugin, with working tests and documentation 12 years ago
Jayson Vantuyl 13ddd39db9 add with_sequence lookup plugin
Plugin allows you to do easy counts for items.
12 years ago
Michael DeHaan 0c4b30a471 Aliased node test doesn't make sense locally, so remove it. 12 years ago
Michael DeHaan 9985995a9d Make tests use the local connection type, fix missing callback in tests. 12 years ago
Daniel Hokka Zakrisson eebbbd3f0e Make parameterized playbook includes work with vars as a list
Fixes #1610.
12 years ago
Daniel Hokka Zakrisson 5752d2a850 Fix lookup plugin test properly 12 years ago
Daniel Hokka Zakrisson f91fa9f765 Fix lookup plugin test 12 years ago
Daniel Hokka Zakrisson 9c095b72b9 Add parameterized playbook includes
Also makes with_* work with them.

Fixes #1162.
12 years ago
Daniel Hokka Zakrisson 43419d7b20 Add tests for lookup plugins 12 years ago
Daniel Hokka Zakrisson 40af8eff14 Add testcase for first_available_file 12 years ago
Daniel Hokka Zakrisson fbda2d4628 Use default port if ansible_ssh_port is not set for the delegated node
Also add testcase for it.
12 years ago
Michael DeHaan 6ba30170dd Make group_vars and host_vars available to usr/bin/ansible, and make vars_plugins exist 12 years ago
Daniel Hokka Zakrisson 1449c8ac67 Fix ansible_ssh_host again
This time with unit tests to ensure it keeps working.
12 years ago
Michael DeHaan e1ecb95b3d Delete test that was coded against *local* resolv.conf -- obviously not going to be the same between people's computers 12 years ago
Michael DeHaan 08b70949c7 Fix a test and a typo in an example 12 years ago
John Kleint 2a002f5c0b Support iteration over command output in with_items.
When the output of a command is stored in a register, this will create a
stdout_lines field in the result object that contains stdout split into a list
of lines.  This list can then be iterated over using with_items.
12 years ago
Michael DeHaan 04555f525e Fix a test from a previous pull request. 12 years ago
Brian Coca 83d1028a21 - Makefile now works with freebsd (date command options are diff)
date still issues warning and ignores TZ

- Updated tests to work inside bsd jails (127 addresses are an issue)
Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
12 years ago
Dave Peticolas b42e835aab Always load group_vars and host_vars. 12 years ago
Dave Peticolas 08272dc25d Remove unused imports. 12 years ago
Michael DeHaan 1c9b43df1b more whitespace 12 years ago
Petros Moisiadis 2ac4acbf97 fixes for tests 12 years ago
Will Thames 845a7ac5ae test_one not working as tests after skipped test failing, because
on_skipped callback being passed an extra item parameter that it wasn't
expecting.
Fixed it so that on_skipped in TestCallbacks accepts and ignores the
extra parameter
Extra parameter was added in 4b9b9a8a5b
but not really clear why from commit message
12 years ago
Michael DeHaan 867b2437cc consolidate output code in callbacks.py, from utils, remove extra functions 13 years ago
Michael DeHaan 279b5965b8 Much streamlining around setup steps in playbooks, now only run setup once per play. 13 years ago
Michael DeHaan efac68b636 Remove the -D module debug flag, which no longer is functional due to sudo pty requirements, and replace with -v/--verbose.
This flag will show playbook output from non-failing commands.  -v is also added to /usr/bin/ansible, but not  yet used.

I also gutted some internals code dealing with 'invocations' which allowed the callback to know what module invoked
it.  This is not something 0.5 does or needed, so callbacks have been simplified.
13 years ago
John Kleint 70837469c6 Properly template list of hosts in playbooks.
In playbooks, hosts can be a YAML list. We templated the list before
converting it to a semicolon-separated string, which actually templated its
repr. This converts to a string first. A basic unit test is included.
13 years ago
Michael DeHaan d4f660edc3 Do not run unit tests against the EVENTS code because it is subject to change and that does not mean anything is broken.
If we want to test playbooks, it's best to test the result of a playbook to make sure it does the correct thing.  Also
remove playbook2/3 yml which were not used.
13 years ago
Jeroen Hoekx cd9f926b5f Fix correct variable expansion in includes only_if.
There's not need to run the complete include through the templating engine.
Several variables were not included before the conditional was evaluated.
13 years ago
Jeroen Hoekx 029fe1273c Modify /usr/bin/ansible and playbooks to use the new async API. 13 years ago
Michael DeHaan b9982fc17b Reinstate --extra-vars, which can do things in playbooks like:
ansible-playbook release-my-app.yml --extra-vars="version=123"

And make $version available in the playbook without re-editing the file
13 years ago
Michael DeHaan c0c691089d Fix bug in src. Should not code this early :) 13 years ago
Michael DeHaan 3f26a1c7f6 verbose option is not being used, so remove it. debug variable still exists. 13 years ago