Commit Graph

583 Commits (e19f3f8a5c0ed5ad9bf54f75aa05f960dbddcf99)

Author SHA1 Message Date
Chris Conway 0b45b1256d Adds support for creating GCE persistent disks from images 11 years ago
Chris Conway 1e76fe2569 Adds integration tests for gce_pd module. 11 years ago
Chris Conway 2cc4a372c5 Adds integration tests for gce module. 11 years ago
Taylor Barstow 9ed7717634 Adding unit tests for host groups with inventory dir 11 years ago
James Tanner d9d36ce207 Add unit tests for vars_files 11 years ago
James Cammarata 567f3819b1 Fixing newline escapes in lineinfile
Fixes #5679
11 years ago
James Cammarata b73cddc485 Revert "Fix #5679 again after recent changes in core"
This reverts commit 2bfaacd170.

Fixes #6821
11 years ago
James Cammarata 82b24c162e Adding delimiter fixes to action_plugin + fixing local assembling with a delimiter
Also added a new integration test for assemble using local assembly
with a delimiter.
11 years ago
Matt Martz 5770428e91 Add version_compare filter 11 years ago
Michael DeHaan 10adf9f2cc Denote unit test requirements in README.md 11 years ago
James Cammarata 684d46b170 Fixing some parsing issues in authorized_key module
Also adds an integration test for authorized_key for future validation.

Fixes #6700
11 years ago
James Tanner efba8b4771 Merge branch 'regexreplace' of git://github.com/jacobweber/ansible into jacobweber-regexreplace 11 years ago
James Cammarata 78bdb078fe Fix for bug related to async jid polling change plus a new test 11 years ago
James Cammarata b3cdcbff75 Adding in a test for subversion export option 11 years ago
James Tanner f9018a6f1d Ensure handlers run when meta tasks are defined and add handler integration tests
Fixes #6678
Fixes #6670
11 years ago
Serge van Ginderachter d3eaa1b79e InventoryDir: refactor logic
Make sure all hosts and groups are unique objects
and that those are referenced uniquely everywhere.
Also fixes test_dir_inventory unit tests which were broken after previous
patches.

	modified:   lib/ansible/inventory/dir.py
11 years ago
Michael DeHaan c42dbf80a2 Merge pull request #6586 from sivel/probline-logic-fix
Fix logic in process_common_errors for unbalanced quotes
11 years ago
Matt Martz 2aaecc5afa Fix logic in process_common_errors for unbalanced quotes 11 years ago
James Tanner 409044155d Fixes #6579 allow for vault passwords ending with newline chars
Also add a unit test for vaulteditor to verify 1.0 passwords with newline chars.
11 years ago
James Tanner 4045b793be Addresses #6550 add integration tests for pipe lookup 11 years ago
James Laska 750d9e2d59 Update credentials.yml documentation and handling
Changes include:

 * Update Makefile to use credentials.yml when it exists
 * Add details on the use of the credentials.yml file to README.md.
 * Update credentials.template comments
11 years ago
James Tanner db3d2e1042 Fixes #6542 rewrite test string for osx compatibility 11 years ago
James Tanner 7c5ad1fa23 Fixes #6539 Workaround py26 vs py27 difflib results 11 years ago
Michael DeHaan 9da26da335 Merge branch 'ini_vars' of git://github.com/dmage/ansible into devel 11 years ago
James Cammarata 5d8c9d3f0f Merge branch 'file_fixes_clean' of https://github.com/bcoca/ansible into bcoca-file_fixes_clean 11 years ago
James Laska 4ef2603a62 Add yum+apt integration tests for auto dependency installalation
The `apt` and `yum` modules will automatically install python dependencies.
This change updates the existing integration tests to test whether auto-install
of dependencies is functioning properly.
11 years ago
Oleg Bulatov f6a4c20cc0 Make parsing variables for hosts and groups more consistent
This commit allows to specify arrays in [group:vars] block.

Signed-off-by: Oleg Bulatov <oleg@bulatov.me>
11 years ago
Michael DeHaan 5c05982dea Merge pull request #6448 from jirutka/fix-5679-2
Fix #5679 again after recent changes in core
11 years ago
Brian Coca 2d25577e11 Fixes and cleanup to file functions and module
- unified set attribute functions ... not sure why 2 identical functions
exist with diff names, now there are 3 while i repoint all modules to 1
- fixed issue with symlinks being created w/o existing src when force=no
- refactored conditionals, simplified where possible
- added tests for symlink to nonexistant source, with both force options
- made symlink on existing attomic (force)
11 years ago
James Cammarata 28ebf1b2c9 Merge branch 'unit-tests' of https://github.com/sivel/ansible into sivel-unit-tests 11 years ago
James Laska aacccd441b Add integration test for apt_repository
Tests several ways to specify the repository.  For every repo added, the test
asserts that:

 * the apt-cache was updated as expected (depends on `update_cache` parameter)
 * the PPA key was installed (depends on `repo` format)
11 years ago
Matt Martz 5062f4962f Unit tests for ansible.utils 11 years ago
James Cammarata 8df29e7c8b Cleaning up some exception blocks in TestModuleUtilsBasic 11 years ago
James Cammarata 69ff355726 Adding new unit tests for module_utils/basic (run_command only now) 11 years ago
James Tanner b0d22b76bd Add an ast.parse unit test for modules to simulate ansible-doc 11 years ago
James Laska 07dd02c25a [test_ec2*] cloud integration test updates
To support parallel cloud test execution, create and provide a random string to
cloud integration tests.  The variable 'resource_prefix' can be used in cloud
roles and during resource cleanup to safely create/destroy cloud-based
resources.

Additional changes include:

 * The roles test_ec2_key and test_ec2_group were updated to use to
 {{resource_prefix}}.

 * Additionally, the Makefile was updated to set resource_prefix to a random
 string.  The Makefile will also use 'resource_prefix' during cloud_cleanup.

 * All test_ec2* roles were updated to add 'setup_ec2' as a role dependency.
11 years ago
James Laska 9cc4be2683 Correct test integration ec2 cleanup script 11 years ago
James Laska bc678e7d7b Add credentials.template and support custom INVENTORY
Testers may override the inventory and vars-file using the environment
variables 'INVENTORY' and 'VARS_FILE'.
11 years ago
James Laska 5c9dc33e41 Additional test_git scenarios
Includes coverage for accept_hostkey and additional scm URL formats.
11 years ago
Jakub Jirutka 2bfaacd170 Fix #5679 again after recent changes in core 11 years ago
James Laska 551cb1892b Always run cleanup after running cloud_integration tests 11 years ago
James Tanner 0d6f6ad282 Implement new default cipher class AES256 11 years ago
Dolph Mathews 8808e029f9 spelling correction for "separate"
s/seperate/separate/

http://en.wiktionary.org/wiki/separate
11 years ago
Richard C Isaacson a483e42583 unarchive module: Add creates functionality.
Closes GH-5354.

Forklift copy logic into unarchive. Provides integration unit tests.
11 years ago
James Laska c7d1c1a306 [test_service] correct upstart service name and permissions
The 'service' utility was unable to find the 'ansible_test' service due to an
unexpected filename.  This patch corrects the filename and adjusts the
permissions to match other service scripts within /etc/init/.
11 years ago
Richard Isaacson 119434d079 Merge pull request #6319 from risaacson/fix_test_dir_inventory
Fix TestInventory Unit Tests

Tested clean.
11 years ago
James Laska 868746b095 Correct ansible_distribution typo
Redhat != RedHat
11 years ago
James Laska ba9950a73a Use correct value of ansible_distribution in integration tests
This fixes integration tests when run on a RHEL system.  Oddly, the
ansible_distribution='RedHat' when run on RHEL.
11 years ago
James Tanner 85bc14a8eb Remve debug file from vault unit test 11 years ago
Richard C Isaacson 913c855df4 Formatting cleanup.
Post merging of GH-5837 via GH-5749.
11 years ago
g-k-r dbad5d71c6 modifed test to use get_hosts instead of get_groups
closes #5749

Conflicts:
	test/units/TestInventory.py
11 years ago
g-k-r 6626cb0b3d add test same host in different files in dir
tests issue #5749
 same host defined in different groups which in turn are defined
 in different ini files in an inventory directory

Conflicts:
	test/units/TestInventory.py
11 years ago
James Tanner cd6d7ddc97 Fix test_async by using env python 11 years ago
Richard C Isaacson 16fe09eef8 Fixes related to uncommenting test_dir_inventory in TestInventory.
0. Uncomment the test.
1. Test fails.
2. Make vars unique per file in test inventory files.
3. Modify token addition to not ast.literal_eval(v) a variable containing a hash.
4. Modify vars to have an escape in test inventory file.
5. Catch exceptions explicitly. Any unknown exceptions should be a bug.
6. Test passes.
11 years ago
Michael DeHaan 94a7fb60fe Allow escaped comments in inventory files. 11 years ago
Richard C Isaacson b41d8106ff Revert "Merge pull request #6287 from risaacson/fix_hash_in_var"
This reverts commit a808287451, reversing
changes made to 6129ea7566.
11 years ago
Richard Isaacson a808287451 Merge pull request #6287 from risaacson/fix_hash_in_var
Fix inventory for test_dir_inventory, merge PRs from GH-5749, cleanup some formatting.
11 years ago
James Tanner 6129ea7566 Fixes #6298 and adds a sudo unit test for synchronize 11 years ago
Richard C Isaacson 22a1fb28d6 Minor cleanup. 11 years ago
g-k-r a3c36a6853 modifed test to use get_hosts instead of get_groups
closes #5749

Conflicts:
	test/units/TestInventory.py
11 years ago
g-k-r 23fee4b836 add test same host in different files in dir
tests issue #5749
 same host defined in different groups which in turn are defined
 in different ini files in an inventory directory

Conflicts:
	test/units/TestInventory.py
11 years ago
Richard C Isaacson 49bd8b0b35 Fix inventory for test_dir_inventory
It came up that fixing this unit test may relate to another ticket that is open. This work allows us to uncomment this unit test by fixing how we pars variables allowing a quoted variable to contain a '#'.

Work also went into cleaning up some of the test data to clarify what was working.

Lastly work went into cleaning up formatting so that the code is easily read.
11 years ago
Jesse Keating 0c2c37a47a Avoid range selection on empty groups
This prevents a traceback when the group is empty.
Fixes #6258
11 years ago
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. 11 years ago
Michael DeHaan 956eb91de0 Merge pull request #6198 from jlaska/integration_ec2
First pass at ec2 module tests
11 years ago
Chris Church adeea2c3f3 Added integration test for subversion parameters that need escaping. 11 years ago
James Laska b589bf1d2e First pass at ec2 module tests 11 years ago
James Tanner a37a6983be Switch from skipIf to SkipTest for TestVaulLib 11 years ago
James Tanner f5359c310f Add negative tests for VaultLib 11 years ago
James Tanner baed7a0ed9 Fixes #6187 Add unit tests for VaultLib 11 years ago
Richard C Isaacson 2bce819519 Fix fails on ubuntu due to missing /etc/motd
Some systems that we are testing on may not have /etc/motd. So we need to create a file that we can control and use that for the further tests.
11 years ago
James Tanner e121ff111d Fix synchronize unit test to handle checkmode 11 years ago
James Cammarata f23ccebbdc Merge branch 'issue_4620' of https://github.com/jimi-c/ansible into jimi-c-issue_4620 11 years ago
James Cammarata 7517cd9398 Moving the assemble test to the correct location 11 years ago
James Cammarata f03d6a67c8 Adding new tests for assemble role 11 years ago
Michael DeHaan 0a83f743c1 Merge pull request #6146 from jlaska/test_synchronize
Correct assert and add with_items test
11 years ago
James Laska 40e0204051 Correct assert and add with_items test 11 years ago
Richard C Isaacson 087f7c230d Typo fixes. 11 years ago
Richard C Isaacson 0446a030d7 Typo fixes. 11 years ago
Richard C Isaacson dcbc69b69c Added script to the new integration tests. 11 years ago
Richard C Isaacson e2a47162d0 Added test for failed_when to non_destructive integration tests. 11 years ago
Richard C Isaacson 0c33e936d4 Adding tests for the command and shell modules. 11 years ago
Azul 89cee747d9 replace test 'wget' package with 'hello' package 11 years ago
James Tanner d29da4cba1 Add iterator tests 11 years ago
James Tanner 65e58c21dd Add test for basic lookups 11 years ago
James Tanner 799fe2c289 Add handlers test 11 years ago
James Tanner d07032fa5a Add async test role 11 years ago
Michael DeHaan 92feed3851 Update README.md 11 years ago
Michael DeHaan f0dd040377 reconnect unit tests to 'make tests' 11 years ago
Michael DeHaan 2177b773c8 Rename tests to test, use old directory name. 11 years ago
Michael DeHaan de600f0040 Move integration tests into tests_new. 11 years ago
Michael DeHaan 379fe02104 Move inventory tests into subdir, prune non-integration tests. 11 years ago
Michael DeHaan fe7d3773ae Various tests using datafiles are being moved into the integration test framework (tests_new right now).
The unit test infrastructure will remain for things that are mocked out and testable with out filesystem
side effects, and a few cases of things that might not be quite so much (like inventory) that can still
benefit from heavy access to the API.

See the 'tests_new/integration' directory, this will soon fold into tests_new.
11 years ago
Michael DeHaan 0581746a80 Removing tests from units that are now implemented in the new upgraded test system. Once
we're a little further along the units directory will be reserved to pure-API tests.
11 years ago
James Cammarata 701af19fad Removing non-ascii logging test for now 11 years ago
Michael DeHaan 6fb02650ff Remove tests for things that are now using the playbook based 'test_new' infra. Units will remain here
after refactoring, WIP, more to come.
11 years ago
Martin Thorsen Ranang 7e23ed345f Avoid breaking on unicode input when logging to syslog in modules
After commit 254f87e, non-ascii input broke logging to syslog.
11 years ago
James Cammarata 9c9a940af6 Merge branch 'fix-5679' of https://github.com/jirutka/ansible into jirutka-fix-5679 11 years ago
Ilya Kuznetsov 0658847ea6 Allow equal sign in single-line ini variables 11 years ago
Michael DeHaan c91ceddfac Add the start of an integration test structure using Ansible playbooks, also added an assert action plugin to make writing those easier. 11 years ago
Richard C Isaacson 6feeb16636 Reverting unarchive tests.
We run into some problems because tar --diff will take into account the file ownership and fail if they don't match.

The real-world implication of this is that we could be doing more unarchives then we need to be doing.
11 years ago
Richard Isaacson eb4a730933 Merge pull request #5969 from risaacson/pull_5136
Updates for the unarchive module and action_plugin.
11 years ago
Richard C Isaacson 598b9c6b7c Cleanup per notes.
Some small changes to per notes from @mpdehann.
11 years ago
Richard C Isaacson cb7c2b7524 Updates for the unarchive module and action_plugin.
There is a bit going on with the changes here. Most of the changes are cleanup of files so that they line up with the standard files.

PR #5136 was merged into the current devel and brought up to working order. A few bug fixes had to be done to get the code to test correctly. Thanks out to @pib!

Issue #5431 was not able to be confirmed as it behaved as expected with a sudo user.

Tests were added via a playbook with archive files to verify functionality.

All tests fire clean including custom playbooks across multiple linux and solaris systems.
11 years ago
Jacob Weber 35742fe008 Add regex_replace jinja2 filter 11 years ago
James Cammarata ce0b1a8a96 Fixing tests for git 11 years ago
James Tanner 89c89c8ed2 Re-add synchronize unit tests 11 years ago
James Cammarata 3260e695f4 Make tmp paths in TestRunner dynamic based on pid
Fixes #4723
11 years ago
James Cammarata ca0ec800d8 Revising method for parsing ranges from --limit subsets
Also added a new test (test_subset_range) for future validation.

Fixes #4620
11 years ago
Jakub Jirutka 012e3ae206 Fixes #5679: lineinfile ignores newline in line argument 11 years ago
jctanner 59d99c17b3 Merge pull request #5337 from bob-smith/bugfixFQDNParsing
Fix inventory parsing so that FQDN can be parsed without throwing ssh port error
11 years ago
Michael DeHaan 8e5b7d3095 Remove code underlying when_* and only_if, which are deprecated features slated for removal in the 1.5 release. 11 years ago
John Barker 4bf9f714d0 Fix inventory parsing so that FQDN can be parsed without throwing ssh
port parsing errors
Fixes problesm introduced by 948d019fef
Adds testcases to defend
11 years ago
Matthew Thode c0a7f51671 tests depend on the default encoding being utf8
So we set the utils default encoding to be utf8
11 years ago
willthames 40a44ce6ea Ensure test_command tests are actually correct
Using
```
assert 'changed' in result
```
doesn't actually check if something is changed, which is presumably
the reason for the assertion. What is actually needed is
```
assert result.get('changed')
```
which checks that changed is set and not False. Tests still pass after
this change
11 years ago
Eric Johnson 8ff58eb46e fixes #4954 plus updates for gcutil/v1beta16 tests 11 years ago
Rene Moser b5580389f6 host: added test playbook 11 years ago
James Tanner 4391cbfd91 Fix git bare test in el6 by adding origin to remote 11 years ago
jctanner ad5012f930 Merge pull request #4691 from cg-soft/git-bare-ref-repo-support
Add support for bare git reference repos
11 years ago
James Tanner 9e197d3958 Fix bool comparision in recursive copy tests 11 years ago
James Tanner 33242cacf3 Merge pull request #4375 from pfalcon/ansible
copy: Implement recursive copying if src is a directory.
11 years ago
jctanner 9a7765daf7 Merge pull request #4351 from 2m/leading-range-fix
Allow leading ranges in the inventory host entries.
11 years ago
Christian Goetze f41d4ac390 Add support for bare git reference repos
This adds two parameters to the git module:

  bare (boolean)
    Indicates this is to be a bare repositori

  reference (string)
    Indicates the path or url to the reference repo.
    Check out the "--reference" option in the "git clone"
    man page

Added appropriate tests.
11 years ago
James Tanner d154bf8781 Revert templating enhancements from 73dbab70 e6c28658 d409352c 9858b1f2 4587528b 9b1fe455 214b0b05 8d3db803 7f9504d1 5031104c 35cb9dc2 2bd8cb57 1e85c754 11 years ago
Michael DeHaan 603db60828 Merge pull request #4288 from sivel/3725-regex
Add regex (search, match, regex) jinja2 filters. Fixes #3725
11 years ago
Michael DeHaan 3778b39115 Merge pull request #4380 from joshkehn/lineinfile_validate
Added validate option to lineinfile
11 years ago
Michael DeHaan 5031104c3a Finishing touches on template cleanup. 11 years ago
Michael DeHaan 35cb9dc22f Work in progress about cleaning up template code. 11 years ago
Michael DeHaan baa13a5cc7 Merge pull request #4395 from erjohnso/devel
adding Google Compute Engine modules and inventory plugin
11 years ago
Martynas Mickevicius 7ecb5fbc9c Handle comment on inventory group line. 11 years ago
Martynas Mickevicius 44279ce34f Allow leading ranges in the inventory host entries. 11 years ago
Jascha Geerds 76ed19d279 Fix TestInventory class by explicitly using /bin/bash 11 years ago
Paul Sokolovsky 3ad61ef310 copy: Add testcase for recursive copy. 11 years ago
Michael DeHaan 43df00550d Merge pull request #3827 from mscherer/disable_callbacks
add a way for callback to disable itself
11 years ago
Michael DeHaan 2032489617 Prune legacy tests -- many of these are not part of the official API or documented syntax. 11 years ago
Michael DeHaan e8b043332f Remove some obsolete tests (mechanism of error detection suboptimal, replacements pending) 11 years ago
Michael DeHaan add45d2ca9 Fixup legacy var detector. 11 years ago
Michael DeHaan 709ffda3d1 Tweak only_if deprecation detector. 11 years ago
Michael DeHaan 25dc0ef8d7 Remove out of date tests. 11 years ago
Michael DeHaan 800f12618e Remove out of date tests. 11 years ago
Matt Martz 61525a97df Add regex (search, match, regex) jinja2 filters. Fixes #3725 11 years ago
Eric Johnson 9ca824c16d adding Google Compute Engine modules and inventory plugin 11 years ago
Michael DeHaan 8fc46a3a5a Return inventory objects in the order they are presented. Additionally, fix host slicing such that it works on Python terms with
zero indexed lists and a non-inclusive final element.
11 years ago
Joshua Kehn cc0c908cee Added validate option to lineinfile
The validate option is constructed similarly to the template command's
validate option. TestRunner.py has been updated to include two new
tests, one for passing and one for failing validation.
11 years ago
Matt Martz 535ce97067 Add fileglob Jinja2 filter. Fixes #3563 11 years ago
Michael DeHaan ef28d62846 Update TestUtils.py
tests shouldn't be making symlinks to system dirs, also fixes unit test report on OS X.
11 years ago
Jasper Capel d4dec5f577 Allow creating empty inventory
Instantiating the Inventory class with host_list=None now results in an
empty inventory instead of an error.
11 years ago
Michael Scherer 399d57a651 add more tests :
- test part of ansible.runner.filter_plugins.core
 - test ansible.utils.unfrackpath
11 years ago
James Cammarata 3b801dec72 Merge branch 'failed_when' of https://github.com/hnakamur/ansible into hnakamur-failed_when 11 years ago
James Cammarata aac3090909 Merge branch 'play_remote_user' of https://github.com/bcoca/ansible into bcoca-play_remote_user 11 years ago
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
Brian Coca d47c48e30a Added remote_user to plays
Still compatible with user: but deprecating it so we can have
a matching remote_user: in tasks, cannot be user: because of the
module of the same name. #3932

Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
11 years ago
Michael Scherer a0b73b18c3 add one last test, for combined range, which make ansible.inventory.expand_hosts
covered to 100%
11 years ago
Michael Scherer 64d35cb3b6 test that using non ordered range of char send a exception 11 years ago
Michael Scherer 4f69b63fec add test for incorrect format in range host 11 years ago
Michael Scherer 835fdd1ec2 add test for missing end in host range 11 years ago
Michael Scherer 2aea8a6368 add a test to verify ansible detect invalid range 11 years ago
Michael Scherer 7fec9c3eba add a test to cover bound stepping in inventory 11 years ago
James Cammarata 157b697a83 Merge branch 'always_run-6' of https://github.com/stoned/ansible into stoned-always_run-6 11 years ago
Michael Scherer ddd582269c increase test coverage of inventory by around 5% according to nose 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 Scherer b655d5798b add tests for the -i option when used with raw string for ipv4
and ipv6 addresses.
11 years ago
Michael Scherer 498a550f01 add test for the disabling of callback plugins 11 years ago
Michael DeHaan 4bdbe4dc4f Remove some test prints 11 years ago
Michael DeHaan 76fd769704 Merge pull request #3685 from mspaulding06/indexed_items
Indexed items lookup plugin
11 years ago
Michael DeHaan 3ebbb56479 Merge pull request #3654 from MaxIV-KitsControls/devel
Fix nested loop for more than 3 elements
11 years ago
Matt Spaulding b7154cf2cf Add tests for indexed_items lookup plugin 11 years ago
Vincent Hardion 09ef7751e1 Fix nested loop for more than 3 elements
- combine flatten list for each nested level instead once at the end
11 years ago
Stoned Elipot 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".
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. 12 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
Dale Sedivec 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.
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 4ae3ef8af9 Disable inventory test 12 years ago
Pol Llovet 4432c01ceb Handle '#' in var strings by splitting on ' #'
If someone has a " #" in a quoted var string, it
will interpret that as a comment and refuse to
load the inventory file due to an unbalanced
quote. Noisy failure > unexpected behavior.
12 years ago
Pol Llovet ba78360c52 Remove inline comments from inventory tokenizing. 12 years ago
Michael DeHaan a9fcea5893 Merge branch 'escape' of git://github.com/ngrilly/ansible into repr 12 years ago
Dale Sedivec 611d56dc4c Plug-ins loaded from top-level plug-in directory
PluginLoader._get_paths, as of 391fb98e, was only finding plug-ins that
were in a subdirectory of one of the basedirs (i.e. in a category
directory).  For example, action_plugins/foo.py would never be loaded,
but action_plugins/bar/foo.py would work.

This makes it so that "uncategorized" plug-ins in the top level of a
directory such as action_plugins will be loaded, though plug-ins in a
"category" subdirectory will still be preferred.  For example,
action_plugins/bar/foo.py would be preferred over action_plugins/foo.py.
12 years ago
Nicolas Grilly 75ceb80572 Escape args injected in new style modules 12 years ago
David Simon 190ce16bab Dealing with invalid symlinks and symlink permissions 12 years ago
Dale Sedivec 515fd9e915 copy action plug-in check mode respects force=no
The copy action accepts force=no, which tells it not to replace an
existing file even if it differs from the source.  The copy action
plug-in wasn't respecting this option when operated in check mode, so it
would report that changes are necessary in check mode even though copy
would make no changes when run normally.

Runner._remote_md5 was changed to make the logic for setting rc perhaps
a little more clear, and to make sure that rc=0 when the file does not
exist.
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 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 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 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 7116c83c4a Standardize test output 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
tin ca581840ef Added additional lineinfile documentation.
A little more unit testing.
12 years ago
tin f9b70822d2 Fixed to the lineinfile module.
Added the backrefs parameter to the lineinfile module.
Added tests for the backrefs functionality of the lineinfile module.
12 years ago
Javier Candeira ca6c36e1ac password lookup plugin, with working tests and documentation 12 years ago
Michael DeHaan 839dff8eae Disable filter test for now since it should really be testing at a lower level. 12 years ago
Daniel Hokka Zakrisson 1f8805d9e0 Add some tests for directory-based inventory 12 years ago
Devin Bayer fca1167a0e add to_nice_yaml|json filters 12 years ago
Yves Dorfsman cff8cdd428 Using the _get_test and _get_stage methods. 12 years ago
Yves Dorfsman 943829c9b7 Added test cases for lineinfile. 12 years ago
Mike Grozak 171a01deac Cron module upgrades
- added cron_file attribute: if specified, the file with appropriate
job is created in /etc/cron.d directory. Also, you can store multiple
jobs in one file. state='absent' attribute is handled in the following
way in this case: if after the deletion of the job from the file specified
by cron_file variable the file is empty, the file is deleted, otherwise
not.
  - fixed the behaviour, when the backupfile is saved forever in /tmp
folder, even if the backup= atribute is not set (os.unlink() is called if
backup is not True).
  - added some comments to the unobvious places
12 years ago
Rune Kaagaard 7a8b27f716 Fixing bug with unicode templates.
The utils.md5s() function would break when calculating checksums
for non-ascii characters. Convert to utf-8 first.
12 years ago
Daniel Hokka Zakrisson 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.
12 years ago
Juha Litola 2796603c92 Removed apt_key tests, as they didn't test the real functionality.
Tests used heavily mocked version of the apt_key code, which meant that
it didn't properly test real life scenario.
12 years ago
Jayson Vantuyl ad6373430b add apt_key module
Pretty straightforward.  Give it a URL with an exported GPG key for signing an
Apt repository.  It downloads it and will install it using apt-key.  It's even
smart enough to tell if it's already there (i.e. actually tells you if it
changed or not).
12 years ago
Jayson Vantuyl 13ddd39db9 add with_sequence lookup plugin
Plugin allows you to do easy counts for items.
12 years ago
Daniel Hokka Zakrisson 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.
12 years ago
Michael DeHaan 04195e202d Merge pull request #1747 from njharman/alpharange
Alphabetic inventory hostname patterns.
12 years ago
Michael DeHaan 4bcdd24688 Merge pull request #1776 from junegunn/inventory-group-var-ws
Allows whitespaces around assignment operators when defining group variables
12 years ago
Michael DeHaan dede11750c Merge pull request #1775 from dagwieers/boolean-yes-no
Make use of yes/no booleans in playbooks
12 years ago
Junegunn Choi 7fbb7e079a Fix hostname expansion bug in inventory parser 12 years ago
Junegunn Choi daf797804b Allows whitespaces around assignment operators
when defining group variables
12 years ago
Dag Wieers 66fb7fd9de Make use of yes/no booleans in playbooks
At the moment Ansible prefers yes/no for module booleans, however booleans in playbooks are still using True/False, rather than yes/no. This changes modifies boolean uses in playbooks (and man pages) to favor yes/no rather than True/False.

This change includes:

- Adaptation of documentation and examples to favor yes/no
- Modification to manpage output to favor yes/no (the docsite output already favors yes/no)
12 years ago
Michael DeHaan 70bb7d1e54 Merge pull request #1696 from gregorg/enhance_limit
Allow regex to be used to select hosts in addition to fnmatch pattern
12 years ago
Daniel Hokka Zakrisson 54b45e9bd4 Allow intersecting host patterns by using &
This allows patterns such as webservers:!debian:&datacenter1 to target
hosts in the webservers group, that are not in the debian group, but are
in the datacenter1 group. It also parses patterns left to right.
12 years ago
Norman J. Harman Jr 6603737e4d Alphabetic inventory hostname patterns.
- Code, docs, tests.
  - Also added test of large range 000-142 to verify alpha range did not
    break this.
12 years ago
Gregory Duchatelet 8bc1b69c58 Add a unit test to subset limiting via a regex, and some doc in man
page.
12 years ago
Brian Coca 6a1e2aaff5 moved override matching string to variable changed test template to match Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
12 years ago
Brian Coca d751d88b48 added test for template overrides Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
12 years ago
Daniel Hokka Zakrisson 0c70abfaa9 Make sure any existing groups gets reused 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 e74ffd6764 Lookup plugin arguments need to be templated 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 d2dce1d63f Make lookup plugin replacements part of the main variable logic 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 383dc30560 Rename varReplaceWithItems to template_ds 12 years ago
Daniel Hokka Zakrisson 43419d7b20 Add tests for lookup plugins 12 years ago
Daniel Hokka Zakrisson 47082a9171 Add $LOOKUP(<lookup plugin>,<data>) as a templating option
Also moves file and pipe to lookup_plugins.
12 years ago
Daniel Hokka Zakrisson 40af8eff14 Add testcase for first_available_file 12 years ago
Daniel Hokka Zakrisson 56314f7225 Add test case for non-existing variable in varReplaceWithItems 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
Daniel Hokka Zakrisson efe83daf19 Fix ${var.$other_var} and add test cases 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
Michael DeHaan e04dab904a Use previous proven multiprocessing logic as the simplification didn't have the same Ctrl-C handling and may
be subject to race issues, though still don't pass Runner to each.  Still seems performant.
12 years ago
Michael DeHaan f8e946b71d Merge branch 'varfind-cleanups' of git://github.com/dhozac/ansible into devel 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
Daniel Hokka Zakrisson c9c5fc1456 Merge varFind and varLookup 12 years ago
Michael DeHaan cbc12f0dba Various performance streamlining and making the file features usable in all modules without daisy chaining. 12 years ago
Michael DeHaan 6fa1a49037 Fix the basic templating system such that when the template ends in '$', life continues as normal. 12 years ago
willthames 5a769a5a4d Fixed tests to reflect desired configuration behaviour
Test for when environment variable and configuration file
variable both set now tests that the environment variable takes
precedence

Removed logic that would never be triggered from
lib/ansible/constants.py
12 years ago
Michael DeHaan 0837a29e51 Only expand lists in templating inside of module action lines, to avoid breaking usage with with_items and "in" statements, etc 12 years ago
Michael DeHaan 7583704144 "force=" code under the file module is problematic, remove it 12 years ago
Michael DeHaan c5d2f6b0d3 implement lookup plugins for arbitrary enumeration over arbitrary things. See the mailing list for some cool examples. 12 years ago
Jeroen Hoekx 23a62f5a78 Return multiple groups from inventory API. 12 years ago