1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00
Commit graph

3406 commits

Author SHA1 Message Date
Rohan McGovern
1ac57a8a8f test_git: add tests for `refspec' argument
Includes a basic test of the clone and update cases.
2014-12-19 12:29:01 +10:00
Toshio Kuratomi
64c256b356 git module now with clone parameter and update=no reverted 2014-12-17 13:46:14 -08:00
Toshio Kuratomi
07e483b0c0 Update core modules 2014-12-16 11:18:15 -08:00
Jon Hawkesworth
e37b63386c Revised following comments from Chris Church.
Now uses sha1 checksums following merge of 9688.
Also I undid the changes I made to fetch.py
win_template.py now uses conn.shell.has_trailing_slash and
conn.shell.join_path
updated integration tests.
2014-12-16 04:47:01 +00:00
root
bf916fb58a Adding first pass at win_copy, win_file and win_template modules. 2014-12-16 04:47:01 +00:00
Brian Coca
bfe08560ec Merge pull request #9227 from cchurch/win_feature_tests
Add integration tests for win_feature
2014-12-15 20:13:52 -05:00
Federico G. Schwindt
91a73cff81 Add tests for globbing support 2014-12-14 22:40:04 +00:00
Federico G. Schwindt
fce04b1eba Use command= when we intended to
While here sort register variables and add a comment to signal multiline
testing.
2014-12-14 22:39:17 +00:00
Brian Coca
1408a01498 Merge pull request #9764 from bcoca/moar_tests
Moar tests
2014-12-11 01:03:54 -05:00
Toshio Kuratomi
a0ff0f8198 And the encoding needs to be latin1 for this test 2014-12-10 14:51:02 -08:00
Toshio Kuratomi
367a361a70 Correct the command name on RHT Systems 2014-12-10 14:40:10 -08:00
Toshio Kuratomi
2dd0e51469 Possible fix for postgres setup on F21 cloud image 2014-12-10 14:25:40 -08:00
Toshio Kuratomi
ac71caa0ac Quote debug msgs and find one more wierd bug to test in v2 2014-12-10 11:50:48 -08:00
Toshio Kuratomi
65be0eefcf Enable all the binary tests inside of the role.
They're not being run by default so make sure they're ready to show
errors when we turn them on for v2
2014-12-10 11:40:33 -08:00
Toshio Kuratomi
37d1b3f1cf New test that binary contenti.
(and a few unicode tests because they make clearer what we're testing)
works.  disabled for now since they mostly do not pass on 1.8.  We'll
want to enable them when we start integration testing the v2 tree.
2014-12-10 11:37:32 -08:00
Brian Coca
0ce5d2c846 added complex bare templated conditional test 2014-12-10 09:21:49 -05:00
Brian Coca
58be1b049e added tests for templating and with_items 2014-12-09 11:31:21 -05:00
Michael DeHaan
d4da58e102 Merge pull request #9720 from vlajos/typofixes-vlajos-20141204
typofixes - https://github.com/vlajos/misspell_fixer
2014-12-08 14:00:52 -08:00
Toshio Kuratomi
8d6ea38ee0 Disable automatic running of test_delegate_to with an explanation of what it would take to set this up in our automated test systems 2014-12-08 13:39:01 -08:00
Toshio Kuratomi
3269a349f3 Fix remote_checksum with delegate_to and add tests for several ways that delegate_to works 2014-12-08 12:44:44 -08:00
Jesse Buchanan
39c488203f Add integration test for ansible-modules-core #460
See https://github.com/ansible/ansible-modules-core/pull/460
2014-12-07 14:29:57 -05:00
Veres Lajos
bf5d8ee678 typofixes - https://github.com/vlajos/misspell_fixer 2014-12-04 22:23:35 +00:00
Toshio Kuratomi
57c77691ec Add a check that tilde expansion with copy works 2014-12-04 11:35:03 -08:00
Toshio Kuratomi
1eb3124999 Make test for skipping agree with the way current output formats a skip 2014-12-04 10:53:48 -08:00
Toshio Kuratomi
77be7cdca8 Merge pull request #9717 from bcoca/fix_integration_test_with_conditionals
fixed integration test as with_items
2014-12-04 09:46:37 -08:00
Brian Coca
446cba6509 fixed integration test as with_items always returns a list, even if
empty
2014-12-04 12:30:18 -05:00
Brian Coca
97408fe5b2 Revert "Make listify respect the global setting for undefined variables."
This 'mostly' reverts commit 2769098fe7.

Conflicts:
	lib/ansible/utils/__init__.py
	test/units/TestUtils.py
2014-12-04 09:14:53 -05:00
Toshio Kuratomi
1ec8b6e3c5 Have remote_expanduser honor sudo and su users.
Fixes #9663
2014-12-03 10:46:56 -08:00
Toshio Kuratomi
00c0d7ce31 Ubuntu still having problems initializing the postgres db 2014-12-03 07:37:51 -08:00
Chris Church
2bf269568b Merge pull request #9688 from cchurch/fix_win_fetch
Fixes for fetch module when connecting to Windows hosts
2014-12-02 15:15:06 -05:00
Toshio Kuratomi
8790be3154 Now that we have all of the postgres db being blown away the package manager is initializing a new db.
We don't need to do it manually anymore
2014-12-02 08:56:38 -08:00
Chris Church
de267b5655 Fix PowerShell plugin issues affecting fetch module when used against Windows hosts. 2014-12-01 22:18:35 -05:00
Toshio Kuratomi
7329bcde99 New integration tests for postgresql 2014-12-01 19:10:35 -08:00
Toshio Kuratomi
86b21a1b8d Integration tests for https://github.com/ansible/ansible-modules-core/issues/416 2014-12-01 10:46:22 -08:00
Tomasz Kontusz
9ee367e044 Add mock and nose to requirements for running unit tests 2014-11-30 16:10:25 +01:00
Toshio Kuratomi
c697d01151 Integration tests for #9242 and #9640 2014-11-26 10:55:37 -08:00
Brian Coca
7d2937b1cc minor fixes to template function
- make sure it calls itself correctly, now passes same params as it recieves
- vars is reserved, changed for templatevars to avoid confustion
- forcing mustaches again since the removal broke 'listification' as per #9622
- fixes incorrectly successful tests using undefined var, now it is defined
- now returns empty list if items is None to avoid errors
2014-11-25 12:59:13 -05:00
Toshio Kuratomi
d36c38c35e Exception message changes 2014-11-25 02:36:38 -08:00
Toshio Kuratomi
067112b5ee Code for modules to perform more robust quoting of database identifiers 2014-11-24 20:55:44 -08:00
Chris Church
e9b6aaf5d8 Update PowerShell command line processing to handle parameters passed via splatting. 2014-11-23 22:53:10 -05:00
Toshio Kuratomi
ef6769d6c8 Clean up the format of pull #9590 2014-11-21 09:22:12 -08:00
Rohan McGovern
be6ef11e96 test_git: add tests for version=<sha1> case
This test covers a recently fixed bug,
https://github.com/ansible/ansible-modules-core/issues/313
2014-11-21 12:03:25 +10:00
Toshio Kuratomi
c4c3cc315d Transform both values of a task name into a byte str prior to comparing
Fixes #9571
2014-11-19 11:50:02 -08:00
James Cammarata
aa1a46092d Fix missing dep on parsing integration test for preparation role 2014-11-19 09:41:09 -06:00
Toshio Kuratomi
4ae2d58d72 Fix detection of fips mode in test_do_encrypt_md5 2014-11-17 13:33:30 -08:00
James Cammarata
9a0f8f0158 Split out various vars-related things to avoid merging too early
Fixes #9498
2014-11-17 15:31:55 -06:00
Toshio Kuratomi
c3c6a07e65 Update apt test for newer version of test package and pull in an apt module fix 2014-11-14 10:02:21 -08:00
Mario de Frutos
dd9dc637d1 Test install with wildcard 2014-11-14 09:49:32 -08:00
Toshio Kuratomi
d14dcdc222 Docker test does not require the mock module 2014-11-14 08:59:36 -08:00
Toshio Kuratomi
b95475c1f9 Unittest the get_split_image_tag function in the docker module 2014-11-14 08:48:21 -08:00
Brian Coca
dd60036fb9 added changed status to return when new early create check is triggered,
added skipped check to test on create existing
2014-11-14 11:13:36 -05:00
Toshio Kuratomi
6030be3835 Add unittest for discrete functions in the apt module 2014-11-14 07:55:10 -08:00
Toshio Kuratomi
44eb19d553 Make VaultEditor Tests compatible with FIPS mode
Migrate one test to vault-1.1.  Skip the two other vault 1.0 tests if
running on a FIPS enabled system
2014-11-12 12:05:25 -08:00
Toshio Kuratomi
e05b22e0d1 Skip some md5 related unit tests when running in fips mode 2014-11-12 11:47:11 -08:00
Toshio Kuratomi
531eaddb3d Remove second invocation of mysql_user integration test
Seems to have been mistakenly added when mysql_variable tests were
added.
2014-11-12 11:46:17 -08:00
Toshio Kuratomi
f109b818bf Disable pip test on FIPS enabled systems because pip unconditionally uses md5 2014-11-12 11:45:39 -08:00
Toshio Kuratomi
b828b25784 Add a fips fact and use it for integration tests 2014-11-12 09:29:21 -08:00
Toshio Kuratomi
ffc2e5a627 Do not fail on failure of md5 checksumming tests for non_destructive
tests
2014-11-11 21:04:07 -08:00
Toshio Kuratomi
507a1ef093 Fix integration test to check for checksum, not md5sum 2014-11-06 23:17:17 -08:00
Toshio Kuratomi
f1267c0b05 Move from md5 to sha1 to work on fips-140 enabled systems 2014-11-06 21:28:04 -08:00
Toshio Kuratomi
67ff4428d5 Fix up all python3 issues that do not have to do with text/bytes 2014-10-28 20:27:14 -04:00
Toshio Kuratomi
050d17295d Remove test case that wasn't reported as something git should do 2014-10-28 19:09:32 -04:00
Toshio Kuratomi
82e8d677d9 Test the git changes for the git module's recursive flag 2014-10-28 17:58:25 -04:00
Toshio Kuratomi
56c268ade4 New test that newlines in systemd service scripts don't cause problems 2014-10-22 16:38:01 -04:00
Toshio Kuratomi
43b3eecf52 Debian/Ubuntu doesn't have group nobody so remove the group portion of the new template tests as owner and mode will exercise the problematic code path 2014-10-21 01:31:55 -04:00
Toshio Kuratomi
feb9ed1de8 Fix template module incorrectly handling mode when dest is a directory
Fixes #9350
2014-10-21 00:22:24 -04:00
James Cammarata
b61a78532c Catch template syntax errors specifically when templating strings
Fixes #9333
2014-10-20 13:11:20 -05:00
James Cammarata
c08c907ee0 Merge pull request #9346 from MiLk/test/shell-multiline
Add integration test for the shell module
2014-10-20 09:09:59 -05:00
James Cammarata
21577ff2cc Moved v2 tests for plugins to new location 2014-10-16 08:55:44 -07:00
James Cammarata
1d04e4b3d2 Updating unittests for v2 stuff 2014-10-15 18:02:45 -07:00
Toshio Kuratomi
938b2108d0 Move the v2 tests under the v2 tree 2014-10-15 18:08:28 -04:00
Emilien Kenler
39ce134c2c Add integration test for the shell module
* it ensures that it's possible to define options in the multiline block
2014-10-15 11:12:35 +09:00
Toshio Kuratomi
692d31d221 Python3 fix 2014-10-12 10:49:42 -04:00
Toshio Kuratomi
1e255a72a8 Python3 fix 2014-10-12 10:40:48 -04:00
Toshio Kuratomi
25ac4ccef3 Update other asserts that have a py2.6 unittest method 2014-10-12 03:09:37 -04:00
Toshio Kuratomi
c752f012f7 Start converting asserts to self.assert*() so we get better error messages 2014-10-11 22:22:10 -04:00
Michael DeHaan
ccd559137f add missing headers, rm the subtree of ansible/inventory as we wish to overhaul it. 2014-10-10 16:47:55 -04:00
James Cammarata
fe5a7bcabf Fixing bad variable naming choices 2014-10-10 12:45:33 -05:00
James Cammarata
2eda9a3a47 Fixing item loop when undefined variable errors occur because of missing attributes
Fixes a case where the variable 'foo' may exist, but the with_items loop
was used on something like 'foo.results', where 'results' was not a valid
attribute of 'foo'. Prior to this patch, conditionals were not evaluated
until later, meaning there was no opportunity to allow a test to skip the
task or item based on it being undefined.
2014-10-10 12:26:04 -05:00
James Cammarata
a50332fc8a Adding v2 error line support, and tests 2014-10-09 12:52:39 -05:00
Toshio Kuratomi
48a308a87c Allow both old-style and new-style role dependencies to be valid.
Fixes #9173
2014-10-09 02:48:47 -04:00
Michael DeHaan
79f41d9c1a This makes the module args parser more functional to eliminate side effects and eliminiates the 'return None' error path
to make sure we are handling more use cases.  Some paths are not yet complete, including most likely handling of the 'raw'
module.
2014-10-08 19:46:34 -04:00
Michael DeHaan
56b6cb5328 Teaching objects to load themselves, making the JSON/YAML parsing ambidexterous. 2014-10-08 16:00:08 -04:00
James Cammarata
ad893ea867 Merge pull request #9286 from damncabbage/9008-undef-var-in-list
Makes listify_lookup_plugin_terms respect the global setting for undefined variables.
2014-10-08 13:01:47 -05:00
James Cammarata
c83a833740 New v2 ModuleArgsParser code and fixing up tests/other task code 2014-10-08 10:35:58 -05:00
Rob Howard
2769098fe7 Make listify respect the global setting for undefined variables.
(Fixes #9008.)

With credit to jimi-c for the initial pass in this commit:
b18bd6b98e
2014-10-08 13:47:11 +11:00
James Cammarata
bbd9921dbd Adding a negative test for new safe_load 2014-10-07 19:59:54 -05:00
Michael DeHaan
4cb7f654b6 Add stub tests for module args parsing. 2014-10-07 17:00:01 -04:00
James Cammarata
93e273333d Adding tests for new yaml parsing stuff and adjusting imports 2014-10-07 15:52:58 -05:00
Michael DeHaan
ad9ab8e033 Stub class for mod arg parsing tests. 2014-10-07 14:59:55 -04:00
Michael DeHaan
21642c0fbf We need module args specific parsing classes. 2014-10-07 14:56:42 -04:00
Michael DeHaan
d97b38ba83 Attribute defaults and optional accessors. 2014-10-06 17:06:13 -04:00
Michael DeHaan
e66a0096a7 Work in progress on task loading. 2014-10-06 16:29:18 -04:00
Michael DeHaan
f066e361f1 WIP on data structure processing patterns. 2014-10-06 16:29:18 -04:00
James Cammarata
05644686de Fix bug in plugin path caching
Fixes #9263
2014-10-04 21:47:38 -05:00
Michael DeHaan
94db7365b9 __getattr__ to hide some of the attribute magic. 2014-10-03 17:09:25 -04:00
Michael DeHaan
b54434c1b2 WIP on Attributes. Getting closer. 2014-10-03 16:37:32 -04:00
Michael DeHaan
6db1b4dfd2 WIP on refactoring changes 2014-10-03 15:25:21 -04:00
Michael DeHaan
335221d79e This is an exceedingly rough sketch of what attributes might look like - metaclass implementations NOT complete. 2014-10-03 14:54:04 -04:00
James Cammarata
0c40c6c23c Fix order of resolving dependent role variables from vars files
Also adds a new class to the test_var_precedence test to check for
this type of error in the future.

Fixes #9178
2014-10-03 13:30:47 -05:00
Toshio Kuratomi
e6fcd90342 Merge pull request #9224 from drawks/iss9223
Resolve #9223 Fix test for python 2.6
2014-10-01 11:54:44 -04:00
Toshio Kuratomi
e00d657362 Make unittest compatible with python <= 2.6 2014-10-01 11:50:45 -04:00
James Cammarata
313f26f866 Fix issue with vars precedence from roles
Fixes #9219
2014-09-30 15:50:46 -05:00
Dave Rawks
5f54b57b6d Corrected indentation 2014-09-30 13:37:47 -07:00
Chris Church
997ea78b1f Add integration tests for the win_feature module. 2014-09-30 16:20:20 -04:00
Toshio Kuratomi
0af750e3e5 Merge pull request #9182 from bbasleeper/feature_sudo_exe_from_inventory
Add a new inventory parameter (ansible_sudo_exe) to specify sudo command...
2014-09-30 14:55:46 -04:00
Dave Rawks
c070ab69f7 Resolve #9223 Fix test for python 2.6
* trivial test refactor to allow for python 2.6 compat
2014-09-30 11:24:47 -07:00
Bruno BAILLUET
a25da4af05 Add a new inventory parameter (ansible_sudo_exe) to specify sudo command path. 2014-09-27 17:39:49 +02:00
Michael DeHaan
f35ed8a6c0 Update module test code to avoid pycs (that are not used) 2014-09-26 10:57:12 -04:00
James Cammarata
21dcfd7192 Adding integration tests for async fire-and-forget checking
Also updated the CHANGELOG for the feature
2014-09-25 15:42:45 -05:00
James Cammarata
889dfc4374 Merge pull request #8959 from willthames/galaxy_ssh_clone
Allow fairly common ssh repo clone path to work
2014-09-23 14:58:29 -05:00
James Cammarata
56954a200e Merge branch 'devel' of https://github.com/dmage/ansible into dmage-devel 2014-09-22 15:40:06 -05:00
Toshio Kuratomi
f7b5b85743 Fix the name of the upstart service 2014-09-18 13:18:31 -07:00
Toshio Kuratomi
d98e32e364 Fix the var we're checking in the upstart test 2014-09-18 13:00:37 -07:00
Toshio Kuratomi
6943ec11a5 Failure to enable a service now fails the task
Fixes: 8855
2014-09-18 12:39:54 -07:00
James Cammarata
28f6a18ef6 Allow git repo queries without a clone when update=no
This commit also makes the dest parameter optional, unless update=yes
(the default), since it is not required for queries without an update.

Fixes #8630
2014-09-17 02:05:29 -05:00
James Cammarata
b376e208c7 Adding "follow" param for file/copy options
Also modifies the template action plugin to use this new param
when executing the file/copy modules for templating so that links
are preserved correctly.

Fixes #8998
2014-09-16 12:05:55 -05:00
Toshio Kuratomi
49a6af1378 Test that file touch does not keep a new file if we failed to set its
attributes
2014-09-15 12:36:52 -07:00
James Cammarata
dc9482d548 Fix quoting issues in lineinfile for individual single-quotes
Fixes #8806
2014-09-11 16:27:48 -05:00
James Cammarata
503f7afbd8 Merge branch 'hfinucane-gh-7432' into devel 2014-09-11 12:53:46 -05:00
James Cammarata
178075489b Merge branch 'gh-7432' of https://github.com/hfinucane/ansible into hfinucane-gh-7432 2014-09-11 12:42:52 -05:00
Michael DeHaan
d6e6d2a6ca Remove regex related to baby-JSON parsing only. 2014-09-11 13:30:10 -04:00
Michael DeHaan
26cdddaebf Tracebacks are now catchable with ignore_errors and have streamlined output. Also removes 'baby-JSON' for bash modules. 2014-09-11 12:27:21 -04:00
James Laska
6cd55a5e95 Correct mysql integration indentation 2014-09-10 17:56:28 -04:00
James Laska
b7c7476359 Include el7 mariadb support in mysql integration test 2014-09-10 16:33:21 -04:00
James Cammarata
317ab06bc6 Fixing multiline parsing to preserve newlines
Fixes #8813
2014-09-10 15:14:46 -05:00
James Cammarata
a571fd4efe Convert boolean strings from set_fact to proper boolean values
Also adds integration tests for booleanification of strings

Fixes #8629
2014-09-10 09:56:39 -05:00
Will Thames
d6a725659e Allow github style ssh repo names 2014-09-10 21:55:27 +10:00
Toshio Kuratomi
a9b5b1bf55 Test that we can override variables set in inventory when the vars_file name is templated
Fixes #8903
2014-09-09 15:43:10 -07:00
James Cammarata
8cc3543918 Re-allow templating of complex_args, but count params to prevent injection
Fixes #8810
2014-09-05 14:24:05 -05:00
Toshio Kuratomi
8233522a7a Reduce commenting as basic.py is copied to the remote host with every module transfer.
Move some comments to the unittest as we might look at that if we decide
to refactor the code.
2014-09-05 07:39:17 -07:00
Toshio Kuratomi
d293a46994 Unittests to detect speed regressions in password obfuscation and that
the passwords are correctly hidden in the output.
2014-09-04 18:03:49 -07:00
James Cammarata
cd99821f8a Fix py26 difference in ssl socket connect call from 99ba9d6 2014-09-03 10:04:02 -05:00
James Cammarata
14b8e2cf01 Make sure set_fact variables go into VARS_CACHE
Fixes #8758
2014-09-03 09:39:50 -05:00
Henry Finucane
9638ab973f Add integration test 2014-09-01 16:31:37 -07:00
Oleg Bulatov
a7d38702d9 Fix #7711
Fix relative symlinks creation in file module

Signed-off-by: Oleg Bulatov <oleg@bulatov.me>
2014-09-01 23:23:36 +04:00
Chris Church
dac11904cb Add tests for new windows facts. 2014-08-31 11:52:20 -04:00
James Cammarata
e99db078b4 Additional fixes for the new omit parameter variable 2014-08-27 10:06:55 -05:00
Victor Lin
6260635c65 add new test case 2014-08-27 10:05:10 -05:00
Victor Lin
559c04f324 Implement omit for module args, also add tests for it 2014-08-27 10:04:47 -05:00
James Cammarata
d99b835c3e Adding integration tests for symbolic modes 2014-08-25 21:54:17 -05:00
Will Thames
ab8490d003 Added warnings to command module
Generate warnings when users are shelling out to commands
rather than using modules

Can be turned off on a per-action line with the documented
warn=False flag. Can be turned off globally using
command_warnings = False in ansible config file.

Print out warnings using the standard playbook callbacks.

Created some additional tests in TestRunner.test_command
and also a demonstration playbook.
2014-08-22 15:37:07 -04:00
Michael DeHaan
3871eebfbb Merge pull request #8441 from willthames/unarchive_dest_fix
Unarchive should work when parent directory is not writable
2014-08-22 15:05:42 -04:00
Michael DeHaan
3695c2bcab Remove galaxy CLI tests that hit bitbucket as bitbucket is hanging tests - maybe replace with nice github examples later :) 2014-08-22 14:06:08 -04:00
Michael DeHaan
8a0045baad Update tests for ansible-galaxy CLI additions. 2014-08-22 14:01:15 -04:00
Michael DeHaan
d87830e1cc Merge branch 'galaxy_github_archive' of git://github.com/willthames/ansible into devel
Conflicts:
	lib/ansible/utils/__init__.py
2014-08-22 13:58:50 -04:00
James Cammarata
d01188033f Checking for localized versions of the su password prompt
Fixes #8681
2014-08-22 09:59:40 -05:00
Will Thames
850963790d Allow roles to be installed from archives on github
Ensure that the automated scm determination for github.com
repos still copes with .tar.gz archive files.

Handling .zip archives is left as an exercise for the interested reader
2014-08-22 10:06:21 +10:00
Michael DeHaan
bcb44276fe Assume github.com URLs are git protocol if not specified. 2014-08-21 17:15:23 -04:00
Will Thames
6e9abefc11 Corrected bug where role_path was wrong for roles in subdirectories
Fixed role name for
    - { role: 'lives/in/a/subdirectory' }
Should be 'lives/in/a/subdirectory', not just 'subdirectory'
2014-08-21 17:15:23 -04:00
Will Thames
31540246dd Handle older git archive commands
Older git archive commands create tar archives even with a tar.gz
extension. So change it to always create tar archives and have
the install_role method cope.

Removed ssh roles from the test case as they don't work unless
you can connect to bitbucket via ssh and have your key there.

Corrected a minor typo in error messages
2014-08-21 17:15:23 -04:00
Will Thames
ada9074276 Allow installation of roles from yaml roles file
Added docs
Added more tests
Improved how roles are returned from the parsers
2014-08-21 17:15:23 -04:00
Will Thames
46b59b02ed Friendly Role Names and roles from URLs
* Roles can now be given a friendly name as third field in role spec csv
* Roles can be installed from URL (not just from archived SCMs)
* Integration tests to demonstrate this
* Unit tests to ensure that role spec parsing works as expected
2014-08-21 17:15:23 -04:00
Will Thames
4803e923ff Improved handling of role_version in repo_url_to_role_name 2014-08-21 17:15:23 -04:00
Will Thames
1803976a40 Ensured that role version can be specified in role dependencies 2014-08-21 17:15:23 -04:00
Will Thames
c2fe33f9f4 Tidied up a little, added tests
Moved repo_url_to_role_name to common method in ansible.utils
Added unit test for repo_url_to_role_name
Added integration tests for galaxy
2014-08-21 17:15:23 -04:00
James Cammarata
5e240fec71 Merge branch 'devel' of https://github.com/l1k/ansible into l1k-devel
Conflicts:
	test/integration/roles/test_copy/tasks/main.yml
2014-08-21 13:56:26 -05:00
James Cammarata
8a1fbed5d6 Correct variable blending from vars_files with hostvars in them
Fixes #8638
2014-08-20 15:49:01 -05:00
Michael DeHaan
f2adee9fc9 Merge pull request #8665 from cchurch/winrm_timeout
WinRM test for long-running command.
2014-08-19 15:43:00 -04:00
James Cammarata
d4ff0d125a Make sure password files from lookups are created with restrictive permissions
Also adds checks for the lookup integration test for passwords.

Fixes #8652
2014-08-19 11:30:04 -05:00
James Cammarata
3a7aca6066 Fix no_log value for content in common file args settings
Also adds a test to ensure the content value is not logged.

Related to #8647
2014-08-19 10:47:18 -05:00
Chris Church
90fc6c6881 Added winrm test for long-running command. 2014-08-18 07:49:42 -04:00
Lukas Wunner
677de07f44 Try optimistic chown, do not error out if not permitted to chown
Add unit test
2014-08-17 22:08:45 +02:00
Michael DeHaan
99c39b1ff3 By popular request, make the no_log attribute also censor tasks from callbacks. 2014-08-12 13:36:05 -04:00
James Cammarata
5a128ca286 Adding extra member to mock inventory for unittests 2014-08-11 19:29:55 -05:00
James Cammarata
783a1e3dfc Fixing broken patch 20957a1
Also adds integration tests for nested includes with conditionals
2014-08-11 14:58:48 -05:00
James Cammarata
66802169f5 Adding integration test based on #8535 2014-08-11 11:42:21 -05:00
Michael DeHaan
2629cd3fce Fix some copyrights, fix a misc test. 2014-08-11 12:23:05 -04:00
James Cammarata
25e9d1197e Merge branch 'optimise_utils_clean_data' of https://github.com/leth/ansible into leth-optimise_utils_clean_data 2014-08-11 10:21:02 -05:00
Marcus Cobden
e3dbca9378 Test escaping strings with two variables 2014-08-11 08:46:47 +01:00
Michael DeHaan
3bead39c75 Merge branch 'spelling' of git://github.com/cgar/ansible into devel
Conflicts:
	docsite/rst/guide_rax.rst
	plugins/callbacks/mail.py
2014-08-08 13:28:45 -04:00
James Cammarata
63bf2f6d9a Preserve all line breaks in literal blocks
Fixes #8512
2014-08-08 12:11:15 -05:00
Michael DeHaan
8c4161d4a1 Merge branch 'retf_py' of git://github.com/berendt/ansible into devel
Conflicts:
	lib/ansible/inventory/vars_plugins/group_vars.py
	plugins/callbacks/mail.py
2014-08-08 12:17:37 -04:00
Michael Peters
3ba516ac25 adding min() and max() filters for use in Jinja templates 2014-08-08 11:28:48 -04:00
Will Thames
d9b895b319 Unarchive should work when parent directory is not writable
Correct unarchive so that the checks for writeability are
sensible.

Added a test for when parent directory is not writable
2014-08-07 16:11:02 +10:00
James Cammarata
5c2c10987e Re-enable the ec2_eip test 2014-08-05 09:20:23 -05:00
James Laska
d202616213 Merge pull request #8426 from jlaska/update_integration_Makefile
Include unicode and var_precedence tests in 'all' target
2014-08-04 13:42:01 -04:00
James Cammarata
af0d8cda7b Fix literal block multiline parsing
Fixes #8394
2014-08-04 11:10:07 -05:00
James Cammarata
6d94ae64ec Remove unnecessary unicode conversions from parse_kv
Fixes #8425
2014-08-04 09:59:08 -05:00
James Laska
d4a78dc951 Include unicode and var_precedence tests in 'all' target 2014-08-04 09:50:30 -04:00
Wayne Rosario
2957a8de44 Adding test Coverage for mysql_variable module
Use mysql_variable to query, set and update variables.
Assert using user and password to query, set and update  variables.
Assert using single quotes, double quotes and no quotes  when using variables
2014-08-01 12:15:05 -04:00
James Cammarata
80df2135e9 Fix parsing of tasks with variable module names
Also adding an integration test for same.
2014-07-30 14:18:06 -05:00
James Cammarata
730e23fa07 Merge branch 'integration_mysql_user' of https://github.com/wrosario/ansible into wrosario-integration_mysql_user 2014-07-29 15:55:57 -05:00
James Cammarata
e6fa50a306 Move splitter to module_utils so modules can use it and fix command arg splitting
Fixes #8338
2014-07-29 14:55:16 -05:00
Wayne Rosario
eaf4571e42 Adding the following Test Coverage:
Use mysql_user module to create, delete users.
Update user password and ensure new password was updated for the correct user.
Assert user has access to multiple databases
Assert user creation, deleting using different user privilege and ensure privilege work correctly.
2014-07-29 11:49:53 -04:00
James Cammarata
b64a5ff73d Further enhancements for include params tests 2014-07-29 10:43:37 -05:00
James Cammarata
c9bfcf40d3 Adding further integration tests for include params with quotes 2014-07-29 10:03:44 -05:00
James Cammarata
aee940aaca Reworking _clean_data() to be smarter about replaces
Fixes #8228
2014-07-28 16:50:18 -05:00
James Cammarata
6e814566de Unquote params passed to an include statement
Fixes #8315
2014-07-28 16:35:52 -05:00
Michael DeHaan
f814e4e463 Verify playbook includes can take params. 2014-07-26 10:41:23 -04:00
Michael DeHaan
a1e4f826ca Add some more integration tests for the task and playbook include mechanism. 2014-07-26 10:37:55 -04:00
James Cammarata
5bcb715dc0 Fixing up previous include test 2014-07-26 01:39:22 -05:00
James Cammarata
4d659229ce Adding integration test to parsing for includes with params 2014-07-26 01:26:16 -05:00
James Cammarata
a8c2d6acd5 Adding unittest for space preservation within quotes when splitting args 2014-07-25 15:23:32 -05:00
James Cammarata
8f694c7588 Fixing unittests based on previous patch for splitting 2014-07-25 13:42:10 -05:00
James Cammarata
57f89b85eb Merge pull request #8271 from tksmd/fix-copy-set-fs-attributes-issue
fix an issue that copying directory will fail when trying to change file attributes
2014-07-25 09:38:24 -05:00
James Cammarata
63bcbd0af2 Fix for unicode decoding error in new splitting code
Also adds a new unicode integration test
2014-07-25 09:10:50 -05:00
Michael DeHaan
8d42f5cbfa Smush ds removal 2014-07-24 20:38:02 -05:00
Michael DeHaan
3adddf4836 Add another negative test for the parser logic. 2014-07-24 20:57:03 -04:00
Michael DeHaan
eeb51b6bf3 Moar split_args tests 2014-07-24 20:42:41 -04:00
Michael DeHaan
630f080cf0 Start of unit tests for split_args function, moved split_args to utils since not needed by modules (so far). 2014-07-24 20:15:04 -04:00
James Cammarata
43154e5101 Using custom splitting function for module param counting 2014-07-24 14:42:35 -05:00
James Cammarata
cd6602475b Merge branch 'integration_mysql_db' of https://github.com/wrosario/ansible into wrosario-integration_mysql_db 2014-07-24 00:09:11 -05:00
someda
1b1d5d0d3d fix an issue that copying directory will fail when trying to change file attributes and the target file already exists on remote
- the issue was introduced by the commit 84759faa09
2014-07-24 14:03:36 +09:00
James Cammarata
091b76efaa Fixes to parsing tests to remove trailing space 2014-07-23 22:54:39 -05:00
Michael DeHaan
1064550b47 Add missing file. 2014-07-23 23:32:45 -04:00
Michael DeHaan
a21092d7c2 Add missing role test file. 2014-07-23 22:35:24 -04:00
Michael DeHaan
5a763fb5b6 Add some negative tests on the same parsing infrastructure. 2014-07-23 22:34:56 -04:00
Michael DeHaan
02c63cee26 Add a lot of tests to verify parsing routines for scenarios that should pass. Some changes TBD, like stripping command spaces off end of expressions. 2014-07-23 22:10:58 -04:00
James Cammarata
75e5b6401c Fixing up shell quoting issues 2014-07-22 10:09:11 -05:00
James Cammarata
8e940004c2 Fix ec2_setup task param quoting 2014-07-21 11:33:35 -05:00
James Cammarata
84759faa09 Security fixes:
* Strip lookup calls out of inventory variables and clean unsafe data
  returned from lookup plugins (CVE-2014-4966)
* Make sure vars don't insert extra parameters into module args and prevent
  duplicate params from superseding previous params (CVE-2014-4967)
2014-07-21 11:20:49 -05:00
Michael DeHaan
98c6688343 Merge pull request #6976 from clconway/gce-snapshots
Adds support for snapshots and extra persistent disks to the gce modules
2014-07-19 19:07:29 -04:00
Wayne Rosario
24a3d55c78 Adding Integration Tests for mysql_db module
Adding the following Test Coverage for RedHat and Debian OS:

 - Use mysql_db module to create, delete databases using different encoding.
 - Backup/Restore databases using different file format: sql, gz and bz2.
 - Create and delete databases using different user privilege.
 - Assert database creation, deleting and content using system commands.
2014-07-18 12:50:58 -04:00
James Cammarata
0e5b0a2e97 Revert "Set Jinja2's keep_trailing_newline=True in template_from_string."
This reverts commit 7a8eb0b670.
2014-07-17 09:07:04 -05:00
Jacob Leverich
7a8eb0b670 Set Jinja2's keep_trailing_newline=True in template_from_string.
Without this setting, the newline idempotence of scalar strings changes depending on whether
or not they contain any Jinja2 template blocks.
2014-07-14 13:36:17 -07:00
James Cammarata
a320c02c81 Correcting var blending integration test 2014-07-10 15:54:38 -05:00
James Cammarata
4e5eb7559e Merge branch 'svg_and_inventory_refactor' into devel 2014-07-10 14:43:07 -05:00
Dan Slimmon
6ad09f1825 Added test for regex grouping bug fixed in 307a3e 2014-07-10 00:21:38 +00:00
James Cammarata
bcf83cbc24 Merge branch 'sergevanginderachter-inventorytree' into svg_and_inventory_refactor 2014-07-07 13:11:52 -05:00
Chris Church
12a0f4abd8 Add integration tests for win_service module. 2014-07-02 08:12:40 -04:00
James Cammarata
d8a7b49b59 Merge branch 'inventorytree' of https://github.com/sergevanginderachter/ansible into sergevanginderachter-inventorytree 2014-06-24 15:21:08 -05:00
James Cammarata
9564818e1e Merge branch 'fix_lineinfile_newlines' into devel 2014-06-23 12:38:12 -05:00
Chris Church
f59041871e Fix typo in powershell setup module. 2014-06-21 10:27:43 -04:00
James Cammarata
32aa948dd0 Exclude ps1 modules from the TestModules unittest
Fixes #7864
2014-06-20 10:15:35 -05:00
James Cammarata
22ae21ab43 Exclude ps1 modules from the TestModules unittest
Fixes #7864
2014-06-20 10:12:14 -05:00
James Cammarata
48dbb79fbe Merge branch 'issue_5679_lineinfile' into fix_lineinfile_newlines 2014-06-20 00:19:35 -05:00
Chris Church
2654f7b200 Add copyright header to main winrm test playbook. 2014-06-19 14:26:59 -05:00
Chris Church
43236ca0ed Add basic tests for win_get_url and win_msi modules. 2014-06-19 14:26:55 -05:00
Chris Church
5b85252043 Add tests for windows setup module. 2014-06-19 14:26:42 -05:00
Chris Church
edbe7a4514 Add tests for win_stat module. 2014-06-19 14:25:50 -05:00
Chris Church
243cd877ae Add integration tests for fetch/slurp, make powershell fetch/slurp work as close as possible to existing fetch/slurp modules. 2014-06-19 14:25:28 -05:00
Chris Church
c0c9ff23b2 Fix win_ping integration test. 2014-06-19 14:24:14 -05:00
Chris Church
0c938562a7 Add winrm integration tests for raw, script and ping modules. 2014-06-19 14:24:13 -05:00
James Cammarata
ac349dce96 Fixing typo in integration Makefile from an earlier change 2014-06-12 13:14:01 -05:00
James Cammarata
d90f0bdfad Merge branch 'fix-lineinfile-eof-newline' of https://github.com/ahtik/ansible into ahtik-fix-lineinfile-eof-newline 2014-06-12 09:13:49 -05:00
James Cammarata
96c6daf177 Change name of vault integration test 2014-06-10 10:07:50 -05:00
James Cammarata
3abcfee681 Merge branch 'pr_fix2' of https://github.com/carlanton/ansible into carlanton-pr_fix2 2014-06-10 10:05:00 -05:00
Ahti Kitsik
1caf9be109 Bugfix to lineinfile to properly handle files with no newline at EOF when using insertafter=EOF.
Looks like #6881 is also affected by this bug.

Currently when using lineinfile insertafter=EOF for a file that has no newline then the added line is not prefixed with a newline.
As a concrete example, ubuntu distro default /etc/ssh/sshd_config has no newline so lineinfile module cannot be used to add a new line to the end of the file.
2014-06-09 19:58:45 +03:00
Kevin Bell
73c1ccf53e Added an integration test for the ec2_asg module 2014-06-05 16:18:31 -05:00
James Cammarata
8ff0c0f253 Tweaking make_su_cmd test
Fixes #7652
2014-06-04 13:03:50 -05:00
James Cammarata
74f20ebf79 Removing cruft leftover from the deprecation of include+with_items
Also cleaning up integration tests that had checks for the empty item
attribute in certain results.

Fixes #7535
2014-06-03 13:33:26 -05:00
James Cammarata
e85c7f848f Make sure export param for subversion module is checked as a boolean
Fixes #7548
2014-05-27 14:09:50 -05:00
James Cammarata
cfd8c685d1 Correct issue of handlers running on all hosts incorrectly
Also adds an integration test to catch this bug in the future.

Fixes #7559
2014-05-27 12:03:08 -05:00
Timothy Appnel
754d635aca Recent BSD su work introduced a failing test. Removed leading space from the assertion that seems to be the culprit. 2014-05-27 10:50:19 -04:00
James Cammarata
1e672a0fec Fixes for su on freebsd
Addresses multiple issues when using su on freebsd including
* su prompt differs between platforms, so turned that check into a
  regex comparison instead of a simple string comparison
* not using '-c' after su causes problems, so added that for all
  platforms
* fixed quoting issues due to multiple uses of '-c' introduced by
  the above fix

Fixes #7503
Fixes #7507
2014-05-23 10:06:09 -05:00
Anton Lindström
923c172044 Enabled integration tests for encrypted vars in Makefile 2014-05-21 21:17:53 +02:00
Anton Lindström
926755c3cf Added integration tests for encrypted vars 2014-05-21 21:06:47 +02:00
Kevin Bell
bcfef8d0d4 Add a broken test that shows extensions not skipped 2014-05-14 23:43:14 -07:00
James Cammarata
272db903e5 Adding an integration test for variable precedence 2014-05-09 11:42:57 -05:00
James Cammarata
21f8c0bc96 Merge branch 'cchurch-devel' into devel 2014-05-07 09:12:10 -05:00
James Laska
d314f1b038 [test_apt_repository] Verify that 'python-apt' auto-installs correctly
Remove 'python-apt' before testing the 'apt_repository' module.  The
'apt_repository' module has the smarts to auto-install python-apt.  The
integration test will now assert the correct auto-install behavior.
2014-05-07 09:28:01 -04:00
Chris Church
f9c74d6e57 Add integration tests for group_by module. Fixed bug introduced by ansible/ansible#7273 while also fixing issue described in ansible/ansible#6953 2014-05-06 22:30:37 -04:00
James Cammarata
84e13e5f4c Make sure amazon test doesn't check host keys 2014-05-05 15:07:59 -05:00
James Cammarata
d6fc9f1dfc Fixing two bugs in the ec2_elb_lb module
* the current state of the ELB was not reflected properly when checking
  the status after a change was made.
* invalid zones caused a traceback when enabling/disabling zones
2014-05-05 12:48:45 -05:00
Christian Berendt
6676720ce5 fixed typos found by RETF rules in PY files
rules are avaialble at https://en.wikipedia.org/wiki/Wikipedia:AutoWikiBrowser/Typos
2014-05-03 18:40:05 +02:00
James Cammarata
b753625dbf Refuse to convert a non-empty directory into a link with the file module
Also adds an integration test for the above.

Fixes #7254
2014-05-02 14:46:38 -05:00
someda
50080b3774 fix #7244 recursive copy fails when setting directory attributes
- reverse the order of new_directory_list returned from split_pre_existing_dir in copy module
2014-05-02 01:38:16 +09:00
James Cammarata
bf7c51ad8a Adding an ec2_elb test to re-add an instance that had been removed 2014-04-30 13:59:24 -05:00
James Cammarata
dc4f198bad Forgot to add an assertion for the new rsync_path test 2014-04-29 15:53:32 -05:00
James Cammarata
45237f270d Adding a new test for the synchronize module to test rsync_path 2014-04-29 15:47:16 -05:00
Carlos E. Garcia
7f5dd5e85d multiple spelling error changes 2014-04-29 10:41:05 -04:00
James Cammarata
c9df855d38 Adding an integration test for the ec2_elb module 2014-04-28 20:37:08 -05:00
James Cammarata
f2db460203 A few updates to the ec2_elb_lb integration test 2014-04-25 14:49:00 -05:00
James Martin
2ef65ae813 ec2_elb_lb integration tests. 2014-04-25 14:49:00 -05:00
James Martin
8a21f226b5 ec2_eip integration tests. 2014-04-21 22:10:22 -04:00
Taylor Barstow
154055e9ff Fixing expectations in test_dir_inventory_groups_for_host 2014-04-17 16:41:49 -04:00
Michael DeHaan
a5e7492c4f This test appears OS specific, so disabling for now. 2014-04-15 20:21:50 -04:00
Timothy Appnel
fd35c59fc1 Fixed escaping of " in test_make_sudo_cmd in TestUtils so that it passes
as it should.

Signed-off-by: Timothy Appnel <tim@appnel.com>
2014-04-15 19:35:53 -04:00
James Cammarata
bdbb3bb4a1 Fixing unit tests for synchronize due to earlier changes 2014-04-14 21:13:14 -05:00
Chris Conway
1e0eed3fce Changes cleanup_gce.py to use gce_credentials module. 2014-04-13 18:38:31 -07:00
Chris Conway
2257a69723 Adds support for attaching persistent disks to GCE instances 2014-04-13 18:38:31 -07:00
Chris Conway
d227330a55 Adds support for creating GCE persistent disks from snapshots 2014-04-13 18:38:31 -07:00
Chris Conway
0b45b1256d Adds support for creating GCE persistent disks from images 2014-04-13 18:38:31 -07:00
Chris Conway
1e76fe2569 Adds integration tests for gce_pd module. 2014-04-13 18:38:31 -07:00
Chris Conway
2cc4a372c5 Adds integration tests for gce module. 2014-04-13 18:38:30 -07:00
Taylor Barstow
9ed7717634 Adding unit tests for host groups with inventory dir 2014-04-13 13:01:13 -04:00
James Tanner
d9d36ce207 Add unit tests for vars_files 2014-04-10 13:55:03 -04:00
James Cammarata
567f3819b1 Fixing newline escapes in lineinfile
Fixes #5679
2014-04-08 11:42:29 -05:00
James Cammarata
b73cddc485 Revert "Fix #5679 again after recent changes in core"
This reverts commit 2bfaacd170.

Fixes #6821
2014-04-07 09:55:59 -05:00
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.
2014-04-03 16:32:35 -05:00
Matt Martz
5770428e91 Add version_compare filter 2014-04-02 20:21:30 -05:00
Michael DeHaan
10adf9f2cc Denote unit test requirements in README.md 2014-04-02 17:29:32 -04:00
James Cammarata
684d46b170 Fixing some parsing issues in authorized_key module
Also adds an integration test for authorized_key for future validation.

Fixes #6700
2014-04-02 15:02:54 -05:00
James Tanner
efba8b4771 Merge branch 'regexreplace' of git://github.com/jacobweber/ansible into jacobweber-regexreplace 2014-03-31 13:48:13 -04:00
James Cammarata
78bdb078fe Fix for bug related to async jid polling change plus a new test 2014-03-26 15:49:15 -05:00
James Cammarata
b3cdcbff75 Adding in a test for subversion export option 2014-03-25 22:21:31 -05:00
James Tanner
f9018a6f1d Ensure handlers run when meta tasks are defined and add handler integration tests
Fixes #6678
Fixes #6670
2014-03-25 13:33:52 -04:00
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
2014-03-25 12:45:00 +01:00
Michael DeHaan
c42dbf80a2 Merge pull request #6586 from sivel/probline-logic-fix
Fix logic in process_common_errors for unbalanced quotes
2014-03-19 17:45:49 -04:00
Matt Martz
2aaecc5afa Fix logic in process_common_errors for unbalanced quotes 2014-03-19 13:49:31 -05:00
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.
2014-03-19 14:38:11 -04:00
James Tanner
4045b793be Addresses #6550 add integration tests for pipe lookup 2014-03-18 12:29:54 -04:00
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
2014-03-18 10:17:44 -04:00
James Tanner
db3d2e1042 Fixes #6542 rewrite test string for osx compatibility 2014-03-18 09:03:55 -04:00
James Tanner
7c5ad1fa23 Fixes #6539 Workaround py26 vs py27 difflib results 2014-03-17 22:21:30 -04:00
Michael DeHaan
9da26da335 Merge branch 'ini_vars' of git://github.com/dmage/ansible into devel 2014-03-17 17:37:57 -04:00
James Cammarata
5d8c9d3f0f Merge branch 'file_fixes_clean' of https://github.com/bcoca/ansible into bcoca-file_fixes_clean 2014-03-17 14:03:26 -05:00
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.
2014-03-17 10:42:29 -04:00
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>
2014-03-16 21:47:26 +04:00
Michael DeHaan
5c05982dea Merge pull request #6448 from jirutka/fix-5679-2
Fix #5679 again after recent changes in core
2014-03-16 12:43:10 -05:00
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)
2014-03-15 13:54:24 -04:00
James Cammarata
28ebf1b2c9 Merge branch 'unit-tests' of https://github.com/sivel/ansible into sivel-unit-tests 2014-03-14 13:52:53 -05:00
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)
2014-03-14 13:07:12 -04:00
Matt Martz
5062f4962f Unit tests for ansible.utils 2014-03-14 10:38:33 -05:00
James Cammarata
8df29e7c8b Cleaning up some exception blocks in TestModuleUtilsBasic 2014-03-13 16:24:29 -05:00
James Cammarata
69ff355726 Adding new unit tests for module_utils/basic (run_command only now) 2014-03-13 14:56:44 -05:00
James Tanner
b0d22b76bd Add an ast.parse unit test for modules to simulate ansible-doc 2014-03-13 12:01:55 -04:00
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.
2014-03-13 11:28:02 -04:00
James Laska
9cc4be2683 Correct test integration ec2 cleanup script 2014-03-12 19:29:46 -04:00
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'.
2014-03-12 15:45:10 -04:00
James Laska
5c9dc33e41 Additional test_git scenarios
Includes coverage for accept_hostkey and additional scm URL formats.
2014-03-12 15:45:10 -04:00
Jakub Jirutka
2bfaacd170 Fix #5679 again after recent changes in core 2014-03-12 18:21:53 +01:00
James Laska
551cb1892b Always run cleanup after running cloud_integration tests 2014-03-12 08:37:01 -04:00
James Tanner
0d6f6ad282 Implement new default cipher class AES256 2014-03-10 16:15:44 -05:00
Dolph Mathews
8808e029f9 spelling correction for "separate"
s/seperate/separate/

http://en.wiktionary.org/wiki/separate
2014-03-08 04:51:34 -06:00
Richard C Isaacson
a483e42583 unarchive module: Add creates functionality.
Closes GH-5354.

Forklift copy logic into unarchive. Provides integration unit tests.
2014-03-07 18:19:46 -06:00
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/.
2014-03-07 10:42:13 -05:00
Richard Isaacson
119434d079 Merge pull request #6319 from risaacson/fix_test_dir_inventory
Fix TestInventory Unit Tests

Tested clean.
2014-03-06 15:43:45 -06:00
James Laska
868746b095 Correct ansible_distribution typo
Redhat != RedHat
2014-03-06 16:16:00 -05:00
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.
2014-03-06 15:52:15 -05:00
James Tanner
85bc14a8eb Remve debug file from vault unit test 2014-03-06 14:49:55 -05:00
Richard C Isaacson
913c855df4 Formatting cleanup.
Post merging of GH-5837 via GH-5749.
2014-03-06 13:08:35 -06:00
g-k-r
dbad5d71c6 modifed test to use get_hosts instead of get_groups
closes #5749

Conflicts:
	test/units/TestInventory.py
2014-03-06 13:06:08 -06:00
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
2014-03-06 13:03:25 -06:00
James Tanner
cd6d7ddc97 Fix test_async by using env python 2014-03-06 13:32:05 -05:00
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.
2014-03-06 12:09:53 -06:00
Michael DeHaan
94a7fb60fe Allow escaped comments in inventory files. 2014-03-05 20:10:25 -05:00
Richard C Isaacson
b41d8106ff Revert "Merge pull request #6287 from risaacson/fix_hash_in_var"
This reverts commit a808287451, reversing
changes made to 6129ea7566.
2014-03-05 14:49:30 -06:00
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.
2014-03-05 14:20:27 -06:00
James Tanner
6129ea7566 Fixes #6298 and adds a sudo unit test for synchronize 2014-03-05 14:51:40 -05:00
Richard C Isaacson
22a1fb28d6 Minor cleanup. 2014-03-05 13:44:15 -06:00
g-k-r
a3c36a6853 modifed test to use get_hosts instead of get_groups
closes #5749

Conflicts:
	test/units/TestInventory.py
2014-03-05 13:29:47 -06:00
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
2014-03-05 13:27:39 -06:00
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.
2014-03-04 18:31:49 -06:00
Jesse Keating
0c2c37a47a Avoid range selection on empty groups
This prevents a traceback when the group is empty.
Fixes #6258
2014-03-03 13:23:27 -08: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
Michael DeHaan
956eb91de0 Merge pull request #6198 from jlaska/integration_ec2
First pass at ec2 module tests
2014-02-27 10:44:37 -05:00
Chris Church
adeea2c3f3 Added integration test for subversion parameters that need escaping. 2014-02-26 22:44:03 -05:00
James Laska
b589bf1d2e First pass at ec2 module tests 2014-02-26 16:43:30 -05:00
James Tanner
a37a6983be Switch from skipIf to SkipTest for TestVaulLib 2014-02-26 14:01:31 -05:00
James Tanner
f5359c310f Add negative tests for VaultLib 2014-02-26 13:38:58 -05:00
James Tanner
baed7a0ed9 Fixes #6187 Add unit tests for VaultLib 2014-02-26 12:10:09 -05:00
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.
2014-02-25 13:42:33 -06:00
James Tanner
e121ff111d Fix synchronize unit test to handle checkmode 2014-02-25 09:24:14 -05:00
James Cammarata
f23ccebbdc Merge branch 'issue_4620' of https://github.com/jimi-c/ansible into jimi-c-issue_4620 2014-02-24 20:30:25 -06:00
James Cammarata
7517cd9398 Moving the assemble test to the correct location 2014-02-24 15:19:06 -06:00
James Cammarata
f03d6a67c8 Adding new tests for assemble role 2014-02-24 14:27:23 -06:00
Michael DeHaan
0a83f743c1 Merge pull request #6146 from jlaska/test_synchronize
Correct assert and add with_items test
2014-02-24 15:20:49 -05:00
James Laska
40e0204051 Correct assert and add with_items test 2014-02-24 15:07:23 -05:00
Richard C Isaacson
087f7c230d Typo fixes. 2014-02-24 11:08:21 -06:00
Richard C Isaacson
0446a030d7 Typo fixes. 2014-02-24 11:06:22 -06:00
Richard C Isaacson
dcbc69b69c Added script to the new integration tests. 2014-02-24 10:57:22 -06:00
Richard C Isaacson
e2a47162d0 Added test for failed_when to non_destructive integration tests. 2014-02-24 09:40:44 -06:00
Richard C Isaacson
0c33e936d4 Adding tests for the command and shell modules. 2014-02-23 14:51:26 -06:00
Azul
89cee747d9 replace test 'wget' package with 'hello' package 2014-02-23 10:46:39 +00:00
James Tanner
d29da4cba1 Add iterator tests 2014-02-21 14:26:38 -05:00
James Tanner
65e58c21dd Add test for basic lookups 2014-02-21 11:34:06 -05:00
James Tanner
799fe2c289 Add handlers test 2014-02-21 10:28:27 -05:00
James Tanner
d07032fa5a Add async test role 2014-02-21 10:00:01 -05:00
Michael DeHaan
92feed3851 Update README.md 2014-02-20 19:28:06 -05:00
Michael DeHaan
f0dd040377 reconnect unit tests to 'make tests' 2014-02-20 19:13:27 -05:00
Michael DeHaan
2177b773c8 Rename tests to test, use old directory name. 2014-02-20 19:11:15 -05:00
Michael DeHaan
de600f0040 Move integration tests into tests_new. 2014-02-20 19:10:38 -05:00
Michael DeHaan
379fe02104 Move inventory tests into subdir, prune non-integration tests. 2014-02-20 17:16:58 -05:00
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.
2014-02-20 17:16:58 -05:00
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.
2014-02-20 17:16:58 -05:00
James Cammarata
701af19fad Removing non-ascii logging test for now 2014-02-20 12:48:59 -05:00
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.
2014-02-19 17:57:39 -05:00
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.
2014-02-17 23:56:08 +01:00
James Cammarata
9c9a940af6 Merge branch 'fix-5679' of https://github.com/jirutka/ansible into jirutka-fix-5679 2014-02-17 14:54:29 -06:00
Ilya Kuznetsov
0658847ea6 Allow equal sign in single-line ini variables 2014-02-14 20:04:23 +07:00
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. 2014-02-13 18:28:29 -05:00
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.
2014-02-12 11:26:42 -06:00
Richard Isaacson
eb4a730933 Merge pull request #5969 from risaacson/pull_5136
Updates for the unarchive module and action_plugin.
2014-02-12 10:10:25 -06:00
Richard C Isaacson
598b9c6b7c Cleanup per notes.
Some small changes to per notes from @mpdehann.
2014-02-12 10:01:10 -06:00
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.
2014-02-12 01:57:00 -06:00
Jacob Weber
35742fe008 Add regex_replace jinja2 filter 2014-02-11 22:02:53 -08:00
James Cammarata
ce0b1a8a96 Fixing tests for git 2014-02-11 12:41:49 -05:00
James Tanner
89c89c8ed2 Re-add synchronize unit tests 2014-02-10 23:56:32 -05:00
James Cammarata
3260e695f4 Make tmp paths in TestRunner dynamic based on pid
Fixes #4723
2014-02-05 23:12:31 -06:00
James Cammarata
ca0ec800d8 Revising method for parsing ranges from --limit subsets
Also added a new test (test_subset_range) for future validation.

Fixes #4620
2014-02-05 13:58:03 -06:00
Jakub Jirutka
012e3ae206 Fixes #5679: lineinfile ignores newline in line argument 2014-01-19 02:24:26 +01:00
jctanner
59d99c17b3 Merge pull request #5337 from bob-smith/bugfixFQDNParsing
Fix inventory parsing so that FQDN can be parsed without throwing ssh port error
2014-01-14 08:28:38 -08:00
Michael DeHaan
8e5b7d3095 Remove code underlying when_* and only_if, which are deprecated features slated for removal in the 1.5 release. 2014-01-03 19:13:21 -05:00
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
2013-12-18 21:33:05 +00:00
Matthew Thode
c0a7f51671 tests depend on the default encoding being utf8
So we set the utils default encoding to be utf8
2013-12-09 12:49:03 -06:00
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
2013-12-03 12:03:39 +10:00
Eric Johnson
8ff58eb46e fixes #4954 plus updates for gcutil/v1beta16 tests 2013-11-19 22:30:22 +00:00
Rene Moser
b5580389f6 host: added test playbook 2013-11-15 18:35:45 +01:00
James Tanner
4391cbfd91 Fix git bare test in el6 by adding origin to remote 2013-11-14 14:42:07 -05:00
jctanner
ad5012f930 Merge pull request #4691 from cg-soft/git-bare-ref-repo-support
Add support for bare git reference repos
2013-11-14 10:39:57 -08:00
James Tanner
9e197d3958 Fix bool comparision in recursive copy tests 2013-11-13 16:51:11 -05:00
James Tanner
33242cacf3 Merge pull request #4375 from pfalcon/ansible
copy: Implement recursive copying if src is a directory.
2013-11-13 15:52:40 -05:00
jctanner
9a7765daf7 Merge pull request #4351 from 2m/leading-range-fix
Allow leading ranges in the inventory host entries.
2013-11-13 10:48:57 -08:00
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.
2013-10-31 10:56:14 -07: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
603db60828 Merge pull request #4288 from sivel/3725-regex
Add regex (search, match, regex) jinja2 filters. Fixes #3725
2013-10-27 08:48:12 -07:00
Michael DeHaan
3778b39115 Merge pull request #4380 from joshkehn/lineinfile_validate
Added validate option to lineinfile
2013-10-27 08:46:47 -07:00
Michael DeHaan
5031104c3a Finishing touches on template cleanup. 2013-10-19 11:40:48 -04:00
Michael DeHaan
35cb9dc22f Work in progress about cleaning up template code. 2013-10-19 11:39:52 -04:00
Michael DeHaan
baa13a5cc7 Merge pull request #4395 from erjohnso/devel
adding Google Compute Engine modules and inventory plugin
2013-10-17 07:30:55 -07:00
Martynas Mickevicius
7ecb5fbc9c Handle comment on inventory group line. 2013-10-17 13:16:35 +03:00
Martynas Mickevicius
44279ce34f Allow leading ranges in the inventory host entries. 2013-10-17 13:16:35 +03:00
Jascha Geerds
76ed19d279 Fix TestInventory class by explicitly using /bin/bash 2013-10-15 21:34:36 +02:00
Paul Sokolovsky
3ad61ef310 copy: Add testcase for recursive copy. 2013-10-15 18:40:40 +03:00
Michael DeHaan
43df00550d Merge pull request #3827 from mscherer/disable_callbacks
add a way for callback to disable itself
2013-10-12 07:03:06 -07:00
Michael DeHaan
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
Michael DeHaan
e8b043332f Remove some obsolete tests (mechanism of error detection suboptimal, replacements pending) 2013-10-11 19:28:53 -04:00
Michael DeHaan
add45d2ca9 Fixup legacy var detector. 2013-10-11 19:16:36 -04:00
Michael DeHaan
709ffda3d1 Tweak only_if deprecation detector. 2013-10-11 19:12:25 -04:00
Michael DeHaan
25dc0ef8d7 Remove out of date tests. 2013-10-11 19:09:10 -04:00
Michael DeHaan
800f12618e Remove out of date tests. 2013-10-11 19:08:53 -04:00
Matt Martz
61525a97df Add regex (search, match, regex) jinja2 filters. Fixes #3725 2013-10-11 08:03:04 -05:00
Eric Johnson
9ca824c16d adding Google Compute Engine modules and inventory plugin 2013-10-07 21:01:37 +00:00
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.
2013-10-07 15:06:15 -04:00
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.
2013-10-06 13:51:27 -04:00
Matt Martz
535ce97067 Add fileglob Jinja2 filter. Fixes #3563 2013-09-30 12:55:13 -05:00
Michael DeHaan
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
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.
2013-09-25 15:00:35 +02:00
Michael Scherer
399d57a651 add more tests :
- test part of ansible.runner.filter_plugins.core
 - test ansible.utils.unfrackpath
2013-09-21 13:00:11 +02:00
James Cammarata
3b801dec72 Merge branch 'failed_when' of https://github.com/hnakamur/ansible into hnakamur-failed_when 2013-09-16 07:35:34 -05:00
James Cammarata
aac3090909 Merge branch 'play_remote_user' of https://github.com/bcoca/ansible into bcoca-play_remote_user 2013-09-16 05:55:14 -05:00
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
2013-09-10 08:34:01 +09:00
James Cammarata
8d0487c31e Removing broken tests for now 2013-09-09 15:16:17 -05:00
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>
2013-09-07 16:34:22 -04:00
Michael Scherer
a0b73b18c3 add one last test, for combined range, which make ansible.inventory.expand_hosts
covered to 100%
2013-08-23 13:06:31 +02:00
Michael Scherer
64d35cb3b6 test that using non ordered range of char send a exception 2013-08-23 12:58:10 +02:00
Michael Scherer
4f69b63fec add test for incorrect format in range host 2013-08-23 12:51:17 +02:00
Michael Scherer
835fdd1ec2 add test for missing end in host range 2013-08-23 12:42:26 +02:00
Michael Scherer
2aea8a6368 add a test to verify ansible detect invalid range 2013-08-23 12:29:38 +02:00
Michael Scherer
7fec9c3eba add a test to cover bound stepping in inventory 2013-08-23 12:00:39 +02:00
James Cammarata
157b697a83 Merge branch 'always_run-6' of https://github.com/stoned/ansible into stoned-always_run-6 2013-08-22 12:10:28 -05:00
Michael Scherer
ddd582269c increase test coverage of inventory by around 5% according to nose 2013-08-21 08:03:41 +02:00
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.
2013-08-20 23:09:44 +02:00
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.
2013-08-20 00:40:49 -05:00
Michael Scherer
b655d5798b add tests for the -i option when used with raw string for ipv4
and ipv6 addresses.
2013-08-19 15:27:21 -05:00
Michael Scherer
498a550f01 add test for the disabling of callback plugins 2013-08-15 00:05:33 +02:00
Michael DeHaan
4bdbe4dc4f Remove some test prints 2013-08-10 17:37:04 -04:00
Michael DeHaan
76fd769704 Merge pull request #3685 from mspaulding06/indexed_items
Indexed items lookup plugin
2013-08-03 11:36:51 -07:00
Michael DeHaan
3ebbb56479 Merge pull request #3654 from MaxIV-KitsControls/devel
Fix nested loop for more than 3 elements
2013-08-01 17:11:26 -07:00
Matt Spaulding
b7154cf2cf Add tests for indexed_items lookup plugin 2013-07-28 14:16:25 -07:00
Vincent Hardion
09ef7751e1 Fix nested loop for more than 3 elements
- combine flatten list for each nested level instead once at the end
2013-07-24 14:19:13 +02:00
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".
2013-07-23 22:24:53 +02:00
Michael DeHaan
88720516a1 Merge branch 'changed_when' of git://github.com/stoned/ansible into changed_when 2013-07-21 10:14:03 -04:00
Tin Tvrtkovic
4a732c1e9f Enabled the use of extra vars in playbook file paths when including playbooks from other playbooks. 2013-07-18 22:45:18 +02:00
Stoned Elipot
eb45f07ae3 Introduce 'changed_when' keyword to override a task's changed status with the evaluation of a Jinja2 expression 2013-07-14 21:07:45 +02:00
Stoned Elipot
baf868f825 Add test for 'ignore_errors:' 2013-07-01 02:31:16 +02:00
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.
2013-06-22 17:01:12 -05:00
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.
2013-06-19 09:14:20 +03:00
Michael DeHaan
4ae3ef8af9 Disable inventory test 2013-06-03 11:52:42 -04:00
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.
2013-05-31 12:34:45 -06:00
Pol Llovet
ba78360c52 Remove inline comments from inventory tokenizing. 2013-05-30 14:12:23 -06:00
Michael DeHaan
a9fcea5893 Merge branch 'escape' of git://github.com/ngrilly/ansible into repr 2013-05-29 18:29:16 -04:00
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.
2013-05-24 17:05:28 -05:00
Nicolas Grilly
75ceb80572 Escape args injected in new style modules 2013-05-24 01:01:07 +02:00
David Simon
190ce16bab Dealing with invalid symlinks and symlink permissions 2013-05-09 15:35:05 -04:00
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.
2013-04-16 20:22:51 -04:00
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
2013-04-16 20:06:06 -04:00
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.
2013-04-12 09:17:03 +10:00
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.
2013-04-10 19:09:57 -04:00
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.
2013-04-10 17:52:35 -04:00
Michael DeHaan
e8085ad40c Since we removed the (undocumented) playbook include + with_items code, fix the tests to
compensate.
2013-04-10 15:08:18 -04:00
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.
2013-04-08 14:47:43 +10:00
George Miroshnykov
6826aa7360 Tweaked merge_hash to also affect Runner behavior 2013-04-06 13:06:38 +03:00
Michael DeHaan
7116c83c4a Standardize test output 2013-04-05 13:13:33 -04:00
Michael DeHaan
2c783c7145 Disable a test temporarily 2013-04-05 13:12:46 -04:00
Michael DeHaan
cdaa2085ee Preliminary ability to use Jinja2 {{ }} to replace ${foo.bar} in playbooks. Can't use both at the same time per line. 2013-04-03 01:04:16 -04:00
tin
ca581840ef Added additional lineinfile documentation.
A little more unit testing.
2013-03-27 01:31:58 +01:00
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.
2013-03-27 01:31:58 +01:00
Javier Candeira
ca6c36e1ac password lookup plugin, with working tests and documentation 2013-03-10 13:36:53 +11:00
Michael DeHaan
839dff8eae Disable filter test for now since it should really be testing at a lower level. 2013-03-01 17:42:14 -05:00
Daniel Hokka Zakrisson
1f8805d9e0 Add some tests for directory-based inventory 2013-03-01 23:34:14 +01:00
Devin Bayer
fca1167a0e add to_nice_yaml|json filters 2013-02-28 17:07:02 +01:00
Yves Dorfsman
cff8cdd428 Using the _get_test and _get_stage methods. 2013-02-23 12:50:18 -05:00
Yves Dorfsman
943829c9b7 Added test cases for lineinfile. 2013-02-23 12:50:18 -05:00
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
2013-02-09 11:11:19 -05:00
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.
2013-02-05 14:49:59 +01:00
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.
2013-02-03 14:01:54 +01:00
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.
2013-01-25 17:10:04 +02:00
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).
2013-01-15 17:34:38 -08:00
Jayson Vantuyl
13ddd39db9 add with_sequence lookup plugin
Plugin allows you to do easy counts for items.
2013-01-09 15:30:24 -08:00
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.
2013-01-09 13:45:55 +01:00
Michael DeHaan
04195e202d Merge pull request #1747 from njharman/alpharange
Alphabetic inventory hostname patterns.
2012-12-17 16:52:11 -08:00
Michael DeHaan
4bcdd24688 Merge pull request #1776 from junegunn/inventory-group-var-ws
Allows whitespaces around assignment operators when defining group variables
2012-12-17 16:51:49 -08:00
Michael DeHaan
dede11750c Merge pull request #1775 from dagwieers/boolean-yes-no
Make use of yes/no booleans in playbooks
2012-12-15 11:53:48 -08:00
Junegunn Choi
7fbb7e079a Fix hostname expansion bug in inventory parser 2012-12-16 01:49:12 +09:00
Junegunn Choi
daf797804b Allows whitespaces around assignment operators
when defining group variables
2012-12-14 20:43:29 +09:00
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)
2012-12-14 11:56:53 +01:00
Michael DeHaan
70bb7d1e54 Merge pull request #1696 from gregorg/enhance_limit
Allow regex to be used to select hosts in addition to fnmatch pattern
2012-12-12 14:51:44 -08:00
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.
2012-12-12 11:36:12 +01:00
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.
2012-12-10 20:48:38 -06:00
Gregory Duchatelet
8bc1b69c58 Add a unit test to subset limiting via a regex, and some doc in man
page.
2012-12-02 10:18:58 +01:00
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>
2012-11-26 10:41:13 -05:00
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>
2012-11-26 10:41:13 -05:00
Daniel Hokka Zakrisson
0c70abfaa9 Make sure any existing groups gets reused 2012-11-25 12:42:30 +01:00
Michael DeHaan
0c4b30a471 Aliased node test doesn't make sense locally, so remove it. 2012-11-19 10:45:10 -05:00
Michael DeHaan
9985995a9d Make tests use the local connection type, fix missing callback in tests. 2012-11-19 10:30:30 -05:00
Daniel Hokka Zakrisson
e74ffd6764 Lookup plugin arguments need to be templated 2012-11-14 11:17:30 +01:00
Daniel Hokka Zakrisson
eebbbd3f0e Make parameterized playbook includes work with vars as a list
Fixes #1610.
2012-11-13 12:12:18 +01:00
Daniel Hokka Zakrisson
5752d2a850 Fix lookup plugin test properly 2012-11-13 12:09:42 +01:00
Daniel Hokka Zakrisson
d2dce1d63f Make lookup plugin replacements part of the main variable logic 2012-11-13 02:18:05 +01:00
Daniel Hokka Zakrisson
f91fa9f765 Fix lookup plugin test 2012-11-13 02:13:10 +01:00
Daniel Hokka Zakrisson
9c095b72b9 Add parameterized playbook includes
Also makes with_* work with them.

Fixes #1162.
2012-11-09 15:43:49 +01:00
Daniel Hokka Zakrisson
383dc30560 Rename varReplaceWithItems to template_ds 2012-11-09 15:43:29 +01:00
Daniel Hokka Zakrisson
43419d7b20 Add tests for lookup plugins 2012-11-07 23:21:26 +01:00
Daniel Hokka Zakrisson
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
Daniel Hokka Zakrisson
40af8eff14 Add testcase for first_available_file 2012-11-06 20:57:35 +01:00
Daniel Hokka Zakrisson
56314f7225 Add test case for non-existing variable in varReplaceWithItems 2012-11-01 19:24:53 +01:00
Daniel Hokka Zakrisson
fbda2d4628 Use default port if ansible_ssh_port is not set for the delegated node
Also add testcase for it.
2012-11-01 12:00:49 +01:00
Daniel Hokka Zakrisson
efe83daf19 Fix ${var.$other_var} and add test cases for it 2012-10-30 13:05:45 +01:00
Michael DeHaan
6ba30170dd Make group_vars and host_vars available to usr/bin/ansible, and make vars_plugins exist 2012-10-26 19:55:59 -04:00
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.
2012-10-26 18:11:38 -04:00
Michael DeHaan
f8e946b71d Merge branch 'varfind-cleanups' of git://github.com/dhozac/ansible into devel 2012-10-25 20:14:20 -04:00
Daniel Hokka Zakrisson
1449c8ac67 Fix ansible_ssh_host again
This time with unit tests to ensure it keeps working.
2012-10-21 21:22:56 +02:00
Daniel Hokka Zakrisson
c9c5fc1456 Merge varFind and varLookup 2012-10-21 20:32:02 +02:00
Michael DeHaan
cbc12f0dba Various performance streamlining and making the file features usable in all modules without daisy chaining. 2012-10-20 22:55:09 -04:00
Michael DeHaan
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
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
2012-10-18 12:53:30 +10:00
Michael DeHaan
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
Michael DeHaan
7583704144 "force=" code under the file module is problematic, remove it 2012-10-16 18:14:42 -04:00
Michael DeHaan
c5d2f6b0d3 implement lookup plugins for arbitrary enumeration over arbitrary things. See the mailing list for some cool examples. 2012-10-12 20:07:05 -04:00
Jeroen Hoekx
23a62f5a78 Return multiple groups from inventory API. 2012-10-10 18:35:45 +02:00
Jeroen Hoekx
30c019447b Fix typo in inventory API test script. 2012-10-10 18:17:24 +02:00
Daniel Hokka Zakrisson
695b4bcb46 Allow non-string types in with_items variables 2012-10-01 17:07:51 +02:00
Daniel Hokka Zakrisson
6477bdc6fc Use a regexp to filter out arguments instead
pipes.quote is a bit overzealous for what we want to do, quoting ;
and other characters that you most likely want to use in your shell
invocations. The regexp is the best I could come up with to be able
to only replace the parts of the arguments that shouldn't be
executed.
2012-10-01 12:13:17 +02:00
Michael DeHaan
22f3aef4dc remove test for private function that is no longer present 2012-09-30 20:49:16 -04:00
Daniel Hokka Zakrisson
dfee6e19ca Replace lists with a comma-separated join 2012-09-30 11:41:44 +02:00
Daniel Hokka Zakrisson
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
Michael DeHaan
06cfc52afd fix tests and change nosetests flags so asserts show what comparisons failed 2012-09-27 22:12:15 -04:00
Daniel Hokka Zakrisson
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
Daniel Hokka Zakrisson
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
Daniel Hokka Zakrisson
51216dcfae Add tests for varReplace repr 2012-09-25 20:14:58 -04:00
Michael DeHaan
4ded8cb3b3 Change $FILE{} and $PIPE{} to $FILE() and $PIPE() 2012-09-19 17:58:16 +02:00
Daniel Hokka Zakrisson
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
Michael DeHaan
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
Michael DeHaan
b2af95e4a6 Change $FILE{} and $PIPE{} to $FILE() and $PIPE() 2012-09-18 21:34:55 -04:00
Michael DeHaan
e1ecb95b3d Delete test that was coded against *local* resolv.conf -- obviously not going to be the same between people's computers 2012-09-18 21:16:35 -04:00
Michael DeHaan
08b70949c7 Fix a test and a typo in an example 2012-09-18 21:10:07 -04:00
Aleksej Romanov
eefe66f1cc Squashed commit of the following:
commit 80a26a8175b779b707bc08e9d28c451c30ee4ada
Merge: b25b9fd 61e9b27
Author: Michael DeHaan <michael.dehaan@gmail.com>
Date:   Tue Sep 18 21:01:47 2012 -0400

    Merge branch 'devel' of git://github.com/alopropoz/ansible into file-force

commit 61e9b27df25c36015c2b1b4a58155ccfdfb993a0
Merge: 3f6f329 16bf3e1
Author: Aleksej Romanov <alopropoz2@yandex.ru>
Date:   Thu Sep 13 20:48:02 2012 +0700

    Merge remote branch 'upstream/devel' into devel

commit 3f6f3291dffefa2a802def25a1e8bd38de0cba75
Author: Aleksej Romanov <alopropoz2@yandex.ru>
Date:   Thu Sep 13 20:41:31 2012 +0700

    'force' option for 'file' module.

commit 6223bba94160c60153448655803d084f7eaa5168
Author: Aleksej Romanov <alopropoz2@yandex.ru>
Date:   Thu Sep 13 20:40:19 2012 +0700

    changed = True when changing symlink referent, #1008. Needed for tests.
2012-09-18 21:04:42 -04:00
Michael DeHaan
b25b9fd840 Merge pull request #1058 from jkleint/devel
Support iteration over command output in with_items.
2012-09-18 17:55:40 -07:00
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.
2012-09-17 16:57:33 -04:00
Daniel Hokka Zakrisson
9e78b10ae3 Add test data file 2012-09-17 18:31:49 +02:00
Daniel Hokka Zakrisson
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
Michael DeHaan
04555f525e Fix a test from a previous pull request. 2012-09-11 18:04:54 -04:00
John Kleint
1f8696f5c1 Fix inventory.get_hosts when hosts is a list. 2012-09-11 13:00:40 -04:00
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>
2012-08-29 09:46:05 -04:00
Michael DeHaan
508c04b85b remove svn tests 2012-08-28 20:30:14 -04:00
Dane Summers
eb49ee38ae full test case for subversion, minimal tests for git 2012-08-23 00:08:38 -04:00
Dave Peticolas
b42e835aab Always load group_vars and host_vars. 2012-08-13 21:08:05 -07:00
Michael DeHaan
9041adddaa Add support for ranged patterns like webservers[0-49] for hitting the first 50 webservers. 2012-08-11 13:49:18 -04:00
Michael DeHaan
de21cb27d8 Remove tests that involve network effects -- makes things faster and they are not really deep tests here either way. 2012-08-11 11:38:45 -04:00
Michael DeHaan
259f2dc4de Various retooling of the internal code behind inventory pattern matching in support of pending support
for host ranges.
2012-08-11 11:36:59 -04:00
Dave Peticolas
08272dc25d Remove unused imports. 2012-08-09 21:35:22 -07:00
Michael DeHaan
1c9b43df1b more whitespace 2012-08-06 21:00:21 -04:00
Petros Moisiadis
2ac4acbf97 fixes for tests 2012-08-01 22:17:16 +03:00
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
2012-08-01 12:35:17 +10:00
Michael DeHaan
d79900b434 Merge pull request #732 from willthames/fix_git_fail_json
Fixes for git module when it fails.
2012-07-31 05:04:47 -07:00
u348095
e863ba0cec Fixes for git module when it fails.
* module.fail_json *must* have msg argument
Using http://github.com/ rather than git://github.com/ as it gets through more
firewalls
2012-07-31 12:59:22 +10:00
Michael DeHaan
fe558f680a Fix some failing tests, script tests seem to indicate magic variables are not being provided
to scripted inventory so need to investigate this.
2012-07-30 19:21:49 -04:00
Michael DeHaan
47cead3603 Merge pull request #727 from sfromm/git
Git module ported to use module magic
2012-07-30 13:40:36 -07:00
willthames
1bcba4f4a2 test/TestRunner.py now executes false with no directory prefix
as it is /bin/false on many systems but /usr/bin/false on OS X
test/playbook1.yml now just does command true, rather than command /bin/true,
again so that it works on OS X

Changed from using which false to just using command false to
make it simpler and also match how playbook1.yml works
2012-07-30 21:39:58 +10:00
Stephen Fromm
90bf67cf56 Make test_git functional in TestRunner.py 2012-07-29 22:40:12 -07:00
Michael DeHaan
8fa4dc3920 Small change to previous patch, make ranges of hosts inclusive. 2012-07-24 20:10:05 -04:00
Chin Fang
e3b2521f01 Added a host expansion feature to ansible's inventory parsing 2012-07-24 12:38:52 -07:00
Michael DeHaan
dde11baa56 Remove YAML inventory tests since this is now deprecated. 2012-07-20 11:31:28 -04:00
Michael DeHaan
9e62fd42b5 update test utils code 2012-07-16 20:28:32 -04:00
Michael DeHaan
867b2437cc consolidate output code in callbacks.py, from utils, remove extra functions 2012-07-15 10:12:49 -04:00
Michael DeHaan
279b5965b8 Much streamlining around setup steps in playbooks, now only run setup once per play. 2012-07-14 12:24:19 -04:00
Michael DeHaan
931f9f1a61 Setup module no longer saves to disk, as templates are mostly useful in playbooks and this allows lots of simplifications
around file pathing and removes occasional permissions conflicts depending on how things are used.
2012-07-14 11:59:12 -04:00
Michael DeHaan
60f295f7a0 Squashed commit of the following:
commit 4430ce3eefcdff0b0ceffea0ef66ea8e876a807d
Merge: 631783b 649963c
Author: Michael DeHaan <michael.dehaan@gmail.com>
Date:   Thu Jul 12 01:28:43 2012 -0400

    Merge branch 'host-groups' of https://github.com/dagwieers/ansible into daggroups

commit 649963ca2c2610b97a90d2449132a57ae6b39ec9
Author: Dag Wieërs <dag@wieers.com>
Date:   Thu Jul 12 23:01:00 2012 +0200

    Added comments in the example yaml file as requested

commit 7f9718f185ec991bc165c4a52b2468cf41f4c349
Author: Dag Wieërs <dag@wieers.com>
Date:   Thu Jul 12 22:49:38 2012 +0200

    Add the default nose color too, to test specific overrides

commit eb63b9e899318ce0c26902ca73af50135a6224e4
Author: Dag Wieërs <dag@wieers.com>
Date:   Thu Jul 12 22:44:35 2012 +0200

    Introduce comics and cartoons to test yaml groups defined on a per-node basis

commit aa13d233078b825a8057bebf35ed478342cf4e43
Author: Dag Wieërs <dag@wieers.com>
Date:   Thu Jul 12 19:33:15 2012 +0200

    A small fix to revert to old state

commit 264ebaa77c4243f2e9117e8d1168dc2f2eed7ee2
Author: Dag Wieërs <dag@wieers.com>
Date:   Thu Jul 12 19:31:51 2012 +0200

    Combine both yaml unit tests into one example file

commit 7db49a8048e78402c4c9a0a6cb2604689280fbbb
Author: Dag Wieërs <dag@wieers.com>
Date:   Thu Jul 12 16:46:53 2012 +0200

    Might as well fix this too

commit f36c6c8c5b419865939c7e2b0b26f6c97255fdc8
Author: Dag Wieërs <dag@wieers.com>
Date:   Thu Jul 12 16:42:00 2012 +0200

    Added unit tests for host-groups patch

    For the unit test I chose to keep the original yaml file in place as a reference.

    This patch also includes a fix.

commit a96f6813522c5ae8b2be4514a2de56a775c6b7b0
Author: Dag Wieërs <dag@wieers.com>
Date:   Thu Jul 12 12:30:43 2012 +0200

    Allow groups to be defined on a per-host basis

    This makes it possible to define on a per-host basis what groups a host is in.
    When managing a large set of systems it makes it easier to ensure each of the
    systems is defined in a set of groups (e.g. production/qa/development,
    linux/solaris/aix) rather than having to add systems to multiple disconnected
    groups.

    ----
      - host: system01

      - host: system02

      - host: system03

      - group: linux
        hosts:
        - system01
        - system02

      - group: solaris
        hosts:
        - system03

      - group: production
        hosts:
        - system01
        - system03

      - group: qa
        - system02

      - group: dbserver
        hosts:
        - system01

      - group: ntpserver
        hosts:
        - system02

      - group: webserver
        - system03
    ----

    Can be redefined as:

    ----
      - host: system01
        groups: [ linux, production, dbserver ]

      - host: system02
        groups: [ linux, qa, ntpserver ]

      - host: system03
        groups: [ solaris, production, webserver ]
    ----
2012-07-12 01:29:51 -04:00
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.
2012-06-19 21:57:43 -04:00
Jeroen Hoekx
d592e15dcc Correctly add ungrouped hosts to 'ungrouped' in YAML inventory. 2012-06-27 08:26:01 +02:00
Daniel Hokka Zakrisson
031c75e53a Update tests to reflect new API 2012-06-18 00:13:12 +02:00
Daniel Hokka Zakrisson
24d73b0fe6 Add tests of iterative templating 2012-06-16 13:13:01 +02:00
Daniel Hokka Zakrisson
05a7a3725b Add tests of host exclusions 2012-06-15 19:09:04 +02:00
Michael DeHaan
bd893b765b Merge pull request #459 from dhozac/with_items-variable
Allow a variable in with_items
2012-06-13 19:18:51 -07:00
Stephen Fromm
9cf182c225 Add assemble module
This adds a module that concatenates (ie. assembles) a file from
fragments in a directory in alphabetical order.  It chains the file
module afterward to fix up ownership and permission.  This also adds
tests for the assemble module with fragments in assemble.d.
2012-06-11 23:09:54 -07:00
Daniel Hokka Zakrisson
a05da2d312 Allow with_items to specify a variable 2012-06-09 21:59:22 +02:00
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.
2012-05-31 16:06:21 -04:00
Matt Goodall
639763c138 Allow "=" in k-v values. 2012-05-23 00:58:05 +01:00
Michael DeHaan
8e88667f82 Fix hosts being in multiple groups, and duplicate host references in the same inventory file. 2012-05-19 17:24:54 -04:00
Jeroen Hoekx
ecc0b0770c If /usr/share/dict/words does not exist, use cracklib-small to test large output. 2012-05-15 14:26:43 +02:00
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.
2012-05-09 23:21:44 -04:00
Michael DeHaan
f8807da57b Merge pull request #363 from jhoekx/template-only-if
Fix correct variable expansion in includes only_if.
2012-05-11 15:55:09 -07:00
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.
2012-05-11 15:55:33 +02:00
Jeroen Hoekx
3cbc229990 Support list indexing in varReplace. 2012-05-10 19:25:28 +02:00
Jeroen Hoekx
74e21e6154 Fixup unicode varReplace templating.
The original patches should have conflicted?
53bde0bf517d1302c80f80180f85995efa36a00e vs efde61e53729964f3e740dcbb9c52f889186719d
2012-05-10 10:11:14 +02:00
Michael DeHaan
36639186e0 Merge pull request #362 from jhoekx/uppercase-vars
Allow camelCase variables in varReplace.
2012-05-11 10:06:21 -07:00
John Kleint
83b9a43e60 Add test for large output; fix indentation. 2012-05-11 11:38:15 -04:00
Jeroen Hoekx
dc60f2d844 Allow camelCase variables in varreplace. 2012-05-11 14:14:53 +02:00
Jeroen Hoekx
2bbc05185e Make no_engine the default templating action. 2012-05-09 16:15:43 +02:00
Jeroen Hoekx
82144fd543 Support nested variables in varReplace. 2012-05-09 16:15:43 +02:00
Jeroen Hoekx
e09572a8e1 Inventory: undefined group -> ungrouped.
Also change test name collision.
2012-05-08 09:44:59 +02:00
Jeroen Hoekx
d419a13ca7 Inventory: support list of vars in host. 2012-05-08 09:44:29 +02:00
Michael DeHaan
157d21b1c3 Add tests for new advanced inventory features (groups of groups, group variables) in the default INI format file. 2012-05-06 18:01:11 -04:00
Michael DeHaan
1a00e2635e Further work on making the YAML inventory parser use the new inventory objects. 2012-05-06 17:03:17 -04:00
Michael DeHaan
256377166a Reinstate external inventory script support this time using the new more OO-ey inventory system.
Next up: YAML format.
2012-05-06 14:47:05 -04:00
Michael DeHaan
0669ce858a Refactored inventory to make it object oriented, need to make YAML format and executable script
format compatible with this still, and add some tests for INI-style groups of groups
and variables.
2012-05-05 16:31:03 -04:00
Jeroen Hoekx
03541baba7 Define 'inventory_hostname' variable for hosts. 2012-05-02 09:56:58 +02:00
Jeroen Hoekx
029fe1273c Modify /usr/bin/ansible and playbooks to use the new async API. 2012-05-01 18:38:26 -04:00
Jeroen Hoekx
b87710a1df Introduce group_names in template variables.
This is a list of all the groups a host is in.
2012-04-28 18:23:44 +02:00
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
2012-04-26 19:57:07 -04:00
Jeroen Hoekx
cc579a8aa2 Fix tests for facter and the ansible_facts API. 2012-04-24 17:01:48 +02:00
Jeroen Hoekx
2dc9a563ef Allow modules to return facts.
If the module result contains "ansible_facts", that will be added to the setup
cache.
2012-04-23 21:28:12 +02:00
Michael DeHaan
c0c691089d Fix bug in src. Should not code this early :) 2012-04-20 08:09:43 -04:00
Jeroen Hoekx
903e4f6eae Support dicts in inventory vars. 2012-04-19 09:40:17 +02:00
Michael DeHaan
30d06dbcea Don't force down ansible facts back to setup, the setup module won't like parsing them on input and that
data is already there.
2012-04-18 22:23:33 -04:00
Michael DeHaan
da0209dbc4 The fetch module really should preserve the whole directory structure being fetched to allow subsequent calls,
particularly in playbook, to recreate the host tree structure.  Making it thus.
2012-04-18 21:12:48 -04:00
Jeroen Hoekx
6f09b41eb5 Don't test modules that aren't present.
Also account for path difference in sleep in different distributions.
2012-04-17 13:30:30 +02:00
Michael DeHaan
3f26a1c7f6 verbose option is not being used, so remove it. debug variable still exists. 2012-04-16 23:47:41 -04:00
Michael DeHaan
9ce27be878 Remove extra_vars tests 2012-04-16 23:03:04 -04:00
Jeroen Hoekx
8c3206c99f Return a copy of the host variables. 2012-04-16 10:59:34 +02:00
Jeroen Hoekx
961ccdb2f4 List hosts in no group in the ungrouped group. 2012-04-16 10:55:08 +02:00
Jeroen Hoekx
3a24aa9a70 Add YAML inventory format.
See test/yaml_hosts for an example.

Hosts can be part of multiple groups.

Groups can also have variables, inherited by the hosts.
There is no variable scope, last variable seen wins.
2012-04-16 10:38:35 +02:00
Jeroen Hoekx
54f4526160 Export SSH port number as host variable. 2012-04-16 09:16:29 +02:00
Jeroen Hoekx
f04041b37d Ignore port numbers in simple inventory format 2012-04-16 09:16:29 +02:00
Jeroen Hoekx
746f1b92ae Reimplement the class method on Runner. 2012-04-16 09:16:29 +02:00
Jeroen Hoekx
195e6d617b Add tests for Inventory class. 2012-04-16 09:16:29 +02:00
Michael DeHaan
08c593bee1 Warn if no hosts matched 2012-04-11 21:05:46 -04:00
Michael DeHaan
b9e3b053f9 Simplify playbook tests so things are not timing dependent in the poll section, which is leading to tests
not being consistent between runs, even though there wasn't an error.  Now we'll just check the final change
counts, which should be just as solid and lead to less churn in the events file.
2012-04-11 20:27:17 -04:00
Michael DeHaan
e103bdda93 Rename test class to match what it is testing 2012-04-11 20:16:28 -04:00
Michael DeHaan
245aa9bf8e Some tweaks to the fetch module. 'err' return was for stderr, so that should be empty string.
Some minor code shortening.  Added a test to TestRunner.
2012-04-11 20:12:01 -04:00
Michael DeHaan
51e4faf7aa Update test file -- we probably should not include the poll as the number of polls is changing between test
runs (that's ok, it's not intended to be realtime accurate)
2012-04-10 21:17:02 -04:00
Michael DeHaan
1d75a29ec9 Allow variables coming in from the playbook and the API to be expressed as dictionaries throughout their full life cycle
such that nested data can be made available in templates and playbooks.
2012-04-10 20:58:40 -04:00
Michael DeHaan
eed4a2b717 Update tests to use 127.0.0.2 to bypass the smart "use local connection" code, and also to reflect
that commands now trigger change events.
2012-04-06 12:11:25 -04:00
Michael DeHaan
2a2b5ed73c Polling timing change results in need to change events file for tests. 2012-04-02 20:10:06 -04:00
Michael DeHaan
4792021f47 Fix syntax error in user patch 2012-04-02 20:08:40 -04:00
Michael DeHaan
2511992659 Surface module debug (-D) to /usr/bin/ansible also 2012-03-31 11:45:29 -04:00
Michael DeHaan
96a22b582b Disable ohai test as it's hanging for whatever reason, but doesn't do this in real life.
Run tests in verbose mode.
2012-03-31 11:18:26 -04:00
Michael DeHaan
3ded27fe35 Treat module args as strings everywhere to avoid unneccessary shlex and requoting 2012-03-30 22:47:58 -04:00
Michael DeHaan
6db87a5018 Minor style fix, update test to match quote fix patch 2012-03-30 21:57:34 -04:00
Michael DeHaan
6dda6f12dc Applying callback model to runner, and using that in playbooks, so output can be more immediate in playbooks.
(Runner still does not use callbacks for default output)
2012-03-25 19:05:27 -04:00
Michael DeHaan
44d4dede92 Split conditional imports in playbook into subfunction, fix small bug in event reporting on playbook
actions.
2012-03-23 21:03:25 -04:00
Michael DeHaan
6ab615c724 Code cleanup for playbooks, also added 'on_skipped' callback 2012-03-23 20:51:26 -04:00
Michael DeHaan
3814a46bbf Move playbook for user commands into examples dir 2012-03-22 00:33:10 -04:00
Michael DeHaan
6aa10691c1 Merge pull request #93 from sfromm/user-module
User module
2012-03-22 19:24:53 -07:00
Stephen Fromm
999bead9ed Add playbook to test user module 2012-03-22 11:36:11 -07:00
Michael DeHaan
e6406fa5a7 Allow variable expressions to be stored as variables themselves, do some things to allow setup strings
to more easily contain spaces without being mangled, which is neccessary because of the above.
2012-03-21 20:00:48 -04:00
Michael DeHaan
a5f4ca50b8 Ratchet up logging a few notches prior to controlling w/ verbosity settings 2012-03-20 22:29:21 -04:00
Michael DeHaan
b5c62ec068 Enhance logging, way to gate verbosity levels pending. 2012-03-20 21:44:01 -04:00
Michael DeHaan
dfbe591cc0 Add "only_if" capability, which allows task steps to be skipped if they do not match a conditional. 2012-03-20 19:55:04 -04:00
Michael DeHaan
4de7bbb169 Allow conditional imports, see examples/playbook3.yml comments for a full explanation. Extensive
refactoring of playbooks now warranted, which we'll do before we move on.   This variable assignment
system makes nearly all possible magic possible, for we can use these variables however we like,
even as module names!
2012-03-19 22:42:31 -04:00
Michael DeHaan
5ed2b894d9 Add an additional way to dereference a variable in a playbook, $foo
(Using varReplace function originally from yum, thanks Seth)
2012-03-19 19:32:38 -04:00
Michael DeHaan
c1fe0dd719 Quote long variables in playbooks when feeding them to the setup command 2012-03-18 19:50:22 -04:00
Michael DeHaan
5371a9e497 Regression tests for playbooks, logging the events they call via callbacks. 2012-03-18 19:25:56 -04:00
Michael DeHaan
b15c8e9cb1 Playbook test upgrades, made some notes about callbacks we need to add. Still need to compare events
recieved vs expected so we can be notified if this test breaks, and also to add some more detailed
playbooks that use includes & async, etc.
2012-03-18 18:50:25 -04:00
Michael DeHaan
45abe3c16b Add unit tests for playbooks, and fix an error caught by one 2012-03-18 18:29:11 -04:00
Michael DeHaan
4bde4926c3 Modules don't have to return JSON, key=value pairs is ok. 2012-03-14 21:16:15 -04:00
Michael DeHaan
40fd778e2c 'shell' is a magic module that executes the command module with shell=True 2012-03-14 20:40:06 -04:00
Michael DeHaan
73d20b81c6 Add basic test of yum module (VERY basic) just to make sure syntax remains ok. Need to do something
trivial for service and git module also.
2012-03-14 20:02:29 -04:00
Michael DeHaan
696b67f935 Fix async to use the new argfiles method (wrapping brain around rock, really must write module development guide) 2012-03-14 19:57:56 -04:00
Michael DeHaan
cb5929dad7 Setup module tests 2012-04-04 11:55:24 -04:00
Michael DeHaan
c71afe35d6 Async tests complete. Fixed bug in async_wrapper 2012-04-04 11:30:14 -04:00
Michael DeHaan
fae3a71899 WIP on async tests 2012-04-04 11:24:22 -04:00
Michael DeHaan
f8eab8ed7e Here are those tests I talked about previously :) 2012-04-04 11:11:31 -04:00