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

5503 commits

Author SHA1 Message Date
James Cammarata
249fd2a7e1 Re-adding submodules after moving things around 2015-05-03 22:30:51 -05:00
James Cammarata
ce3ef7f4c1 Making the switch to v2 2015-05-03 21:47:26 -05:00
Rene Moser
333c623b35 cloudstack: implement account und domain support in utils 2015-05-03 14:59:44 +02:00
Rene Moser
af74d7f1a9 cloudstack: add get_domain() and get_account() to utils 2015-05-03 14:34:25 +02:00
Michael Scherer
8d324e6a50 Fix pylint error on "cachefile does not exist"
Since cachefile is used to show the error message when stat
fail, the variable need to be declared.
2015-05-01 13:57:13 -04:00
Brian Coca
0951a74ea0 Merge pull request #10893 from sidick/fix_fetch_url_with_custom_https_port
Allow the use of HTTP on custom ports in the fetch_url function
2015-05-01 12:35:42 -04:00
Rene Moser
034ac8ae78 cloudstack: _has_changed() should not compare None values 2015-05-01 17:25:06 +02:00
Toshio Kuratomi
428f667497 Update module refs 2015-05-01 08:19:02 -07:00
Simon Dick
6e65ccabc3 Allow the use of HTTP on custom ports in the fetch_url function 2015-05-01 13:52:29 +01:00
Toshio Kuratomi
1c250ee4e7 Pull in route53 fix 2015-04-30 20:07:36 -07:00
Toshio Kuratomi
df881b7f37 Update core module ref for docker fix 2015-04-30 19:10:52 -07:00
Toshio Kuratomi
f2afd1a248 Update core pointer to pick up docker fix 2015-04-30 17:44:38 -07:00
Toshio Kuratomi
b851ce29e9 Update core modules to pick up mysql_user fix 2015-04-30 12:55:59 -07:00
Toshio Kuratomi
dabf16a714 Update core module pointers for v1 and v2 2015-04-30 08:09:28 -07:00
Brian Coca
4e85419257 Merge pull request #10853 from cgar/spelling
just a few spelling error changes

I swear only 95% of those are mine!
2015-04-30 09:02:09 -04:00
Rene Moser
b11cd73df1 cloudstack: add tag support in utils 2015-04-29 21:06:58 +02:00
Toshio Kuratomi
8b620640b0 Update extras submodule refs to pick up docs fixes 2015-04-28 11:13:29 -07:00
Toshio Kuratomi
223c2a2721 Update submodules 2015-04-28 10:44:43 -07:00
Devin Christensen
1bf5224f82 Enable writing plugins for jinja2 tests 2015-04-28 09:32:11 -06:00
Brian Coca
6a8062baad accidentally 'fixes' ubuntu distribution parsing, this order should not matter, need followup to figure out why this is the case 2015-04-28 10:16:14 -04:00
Carlos E. Garcia
cfbfd38723 just a few spelling error changes 2015-04-28 09:36:42 -04:00
Rene Moser
2f255f5b96 cloudstack: get_vm(): fix missing zone
Fixes returning wrong VM having identical name in different zone.
2015-04-26 23:09:33 +02:00
Rene Moser
ca88189bf7 cloudstack: add method to to get infos of API
get_capabilities() allows you to get infos e.g. `cloudstackversion`
to compare functionality of the API in your modules.
2015-04-25 18:32:02 +02:00
Brian Coca
946c37fd88 Merge pull request #10612 from sivel/sync-ssh-args
Add ability to specify using ssh_args in synchronize
2015-04-24 17:02:18 -04:00
Rene Moser
3c0e406f5d cloudstack: fix missing self. in cloudstack utils 2015-04-24 20:25:19 +02:00
Rene Moser
6354ca0718 cloudstack: add _has_changed() to utils
Generic method to compare values in dict.
2015-04-24 19:16:42 +02:00
Rene Moser
765c8fe368 cloudstack: use _get_by_key in get_...() methods in utils
But also add backward compatibility for existing modules in extras.
2015-04-24 19:09:49 +02:00
Rene Moser
88540d3cdc cloudstack: add _get_by_key() to utils
Generic method to get the whole dict or just a singe value by key if found.
2015-04-24 19:06:33 +02:00
Rene Moser
31520cdd17 cloudstack: fix other projects not found 2015-04-24 18:58:57 +02:00
Joseph Callen
87bc705806 Fixes VMware module utils
Resolves syntax errors in the `wait_for_tasks`
Removes throw from `find_datacenter_by_name`
2015-04-22 14:54:05 -04:00
Brian Coca
a1ddeaebe9 Merge pull request #10760 from jcpowermac/add_vmware_module_utils
Adding a new VMware utilities module
2015-04-21 20:41:51 -04:00
Joseph Callen
9b317858c1 Modified per @bcoca
Removed try/except raises
Modified wait_for_task
Added api exception error message
2015-04-21 08:33:32 -04:00
Brian Coca
2a59f27db4 Merge pull request #10789 from mavit/oracle_linux_os_family
Consistently use "OracleLinux" in OS detection.
2015-04-20 18:50:57 -04:00
Rene Moser
822c2c0cd3 cloudstack: fix vm not found by displayname 2015-04-20 09:40:49 -05:00
Rene Moser
0a26b149fc cloudstack: add error result handling in async job 2015-04-20 09:40:49 -05:00
Peter Oliver
d8be6fec65 Consistently use "OracleLinux" in OS detection.
Previously, a mixture of "OracleLinux" and "Oracle Linux" was used,
causing the `ansible_os_family` fact not to be set to `RedHat`.

Fixes #10742.
2015-04-19 17:00:35 +01:00
Joseph Callen
986910be5d Adding a new VMware utilities module 2015-04-17 14:48:57 -04:00
James Cammarata
f4172fb9da Fix tag handling on meta:flush_handlers tasks
Fixes #10758
2015-04-17 13:02:09 -05:00
Brian Coca
65be14e8b4 Merge pull request #10757 from jeffrizzo/netbsd_facts
Set distribution, release, and version for NetBSD.
2015-04-17 13:51:45 -04:00
Brian Coca
2e9c028c6c Merge pull request #10747 from bcoca/fix_lsblk_missing
adjusted for the posibolity of lsblk not existing for fact gathering
2015-04-17 11:12:29 -04:00
Jeff Rizzo
5c64956a7e Set distribution, release, and version for NetBSD. 2015-04-16 16:43:38 -07:00
Simon Gomizelj
a0c34da779 Support querying systemd container information
systemd writes a /run/systemd/container file in any container it starts
to make it really easy to detect the container type. This adds support
for detecting systemd-nspawn containers (and any other container format
that will write data there for compatibility).
2015-04-16 14:27:50 -04:00
Toshio Kuratomi
3075a4db25 Merge pull request #10734 from ralphbean/devel
Remove check of hardcoded AWS region list.
2015-04-16 11:06:16 -07:00
Michael Scherer
b4f02625cd Add CoreOS facts detection, fix https://github.com/ansible/ansible-modules-core/issues/1000 2015-04-16 13:04:23 -04:00
Brian Coca
ec01e071d8 adjusted for the posibolity of lsblk not existing for fact gathering 2015-04-16 11:57:51 -04:00
Ralph Bean
4903bca0c1 Remove check of hardcoded AWS region list.
You can extend boto to point at other regions that are defined in a
private cloud by defining ``BOTO_ENDPOINTS`` or ``endpoints_path`` in
the ``~/.boto`` file.

Ansible was doing a premature check against a hard-coded list of regions
that interrupted this possibility.  This commit removes that and
clarifies what the user can do if they specify a non-AWS region.
2015-04-15 17:55:27 -04:00
Brian Coca
abb93d9115 Merge pull request #10732 from mscherer/prefer_dnf_to_yum
Prefer dnf to yum.
2015-04-15 16:27:19 -04:00
Michael Scherer
f624ec4cb8 Prefer dnf to yum.
On Fedora 22 and later, yum is deprecated and dnf is installed by
default. However, the detection do not seems to take this in account,
and always use yum, even when yum cli is just a wrapper to tell "use
dnf", as this is the case on F22 and later ( see package dnf-yum ).

As dnf is not installed by default, except on F22, this shouldn't
break anything.
2015-04-15 16:11:08 -04:00
Toshio Kuratomi
a0def30c34 Add integration test for unarchive filelist feature 2015-04-15 09:28:50 -07:00
Toshio Kuratomi
aab681bc2b Update core and extras module refs and add tests for an unarchive
problem that the update fixes:

https://github.com/ansible/ansible-modules-core/issues/1064
2015-04-15 05:14:20 -07:00
Brian Coca
dfce750fe6 Merge pull request #10701 from bcoca/delegate_to_fix_indent
fixed indent when looking at delegate_to vars
2015-04-14 18:56:34 -04:00
James Cammarata
46beaf8a47 Submodule update 2015-04-14 14:38:56 -05:00
Brian Coca
09efba2a7c fixed indent when looking at delegate_to vars 2015-04-14 14:41:31 -04:00
Brian Coca
d5a7cd0efc bad hack to maybe fix some corner cases with pbrun custom prompts 2015-04-14 12:44:28 -04:00
Brian Coca
62c08d96e5 fixed another typo 2015-04-13 10:58:17 -04:00
Brian Coca
89cc54cc16 typo fix 2015-04-13 10:50:24 -04:00
Brian Coca
b509de6c84 Merge pull request #10643 from bcoca/aix_facts_fix
fix for when calling bootinfo throws permmission errors (AIX)
2015-04-13 10:22:38 -04:00
Brian Coca
67512aeeb6 Merge pull request #10618 from jder/force-handlers
Fix --force-handlers, and allow it in plays and ansible.cfg
2015-04-13 10:16:45 -04:00
Feanil Patel
0abcebf1e4 Don't convert numbers and booleans to strings.
Before this change if a variable was of type int or bool and the variable was referenced
by another variable, the type would change to string.

eg. defaults/main.yml
```
PORT: 4567
OTHER_CONFIG:
  secret1: "so_secret"
  secret2: "even_more_secret"

CONFIG:
  hostname: "some_hostname"
  port: "{{ PORT }}"
  secrets: "{{ OTHER_CONFIG }}"
```

If you output `CONFIG` to json or yaml, the port would get represented in the output as a
string instead of as a number, but secrets would get represented as a dictionary.  This is
a mis-match in behaviour where some "types" are retained and others are not.  This change
should fix the issue.

Update template test to also test var retainment.

Make the template changes in v2.
Update to only short-circuit for booleans and numbers.

Added an entry to the changelog.
2015-04-11 12:03:42 -04:00
Jesse Rusak
652cd6cd5e Fix --force-handlers, and allow it in plays and ansible.cfg
The --force-handlers command line argument was not correctly running
handlers on hosts which had tasks that later failed. This corrects that,
and also allows you to specify force_handlers in ansible.cfg or in a
play.
2015-04-10 19:38:59 -04:00
Brian Coca
e6fa169a05 Merge pull request #10629 from bcoca/backup_local_exists
backup_local now only tries to back up exising files, returns '' otherwise
2015-04-10 19:12:48 -04:00
Toshio Kuratomi
79f9fbd50e Reverse the error messages from jsonfile get and set 2015-04-10 04:09:50 -07:00
Brian Coca
a90bb89b93 Merge pull request #10664 from cchurch/winrm_fixes
WinRM Connection Fixes
2015-04-09 15:32:05 -04:00
Chris Church
7ba2950c5a Remove winrm connection cache (only useful when running against one host). Also fixes #10391. 2015-04-09 13:45:21 -04:00
Chris Church
5675982b0f Only try kerberos auth when username contains @ and pass realm to pywinrm. Alternative to #10644, fixes #10577. 2015-04-09 13:37:11 -04:00
Toshio Kuratomi
c75baaa140 Merge pull request #10630 from viesti/viesti-master
Use codecs module while reading & writing json cache file
2015-04-09 10:36:43 -07:00
Chris Church
7f034a74d1 Add -ExecutionPolicy Unrestricted back, was removed by #9602. 2015-04-09 13:29:38 -04:00
Brian Coca
1c796543c9 fix for when calling bootinfo throws permmission errors (AIX)
fixes https://github.com/ansible/ansible-modules-core/issues/1108
2015-04-08 03:30:21 -04:00
Brian Coca
e122236f55 updated submodule refs 2015-04-08 03:18:13 -04:00
Kimmo Koskinen
9409cc7443 Use codecs module while reading & writing json cache file 2015-04-07 14:26:42 +03:00
Brian Coca
faadb68308 backup_local now only tries to back up exising files, returns '' otherwise 2015-04-06 23:37:32 -04:00
Brian Coca
f82b1f12e8 Merge pull request #10628 from detiber/module_utils_facts
Fix indentation
2015-04-06 19:52:11 -04:00
James Cammarata
f6c116a81f Updating version to contain the full major/release 2015-04-06 18:30:38 -05:00
Jason DeTiberus
43775daa4b Fix indentation 2015-04-06 16:47:52 -04:00
James Cammarata
5150d83d01 Fixing the version in lib/ 2015-04-06 12:15:07 -05:00
Joost Molenaar
e79c920260 Add support for Arch to module_utils.basic.py
Fixes ansible/ansible#8653
2015-04-06 11:02:40 +02:00
Matt Martz
d5eb4df23e Add ability to specify using ssh_args in synchronize 2015-04-03 09:42:20 -05:00
Brian Coca
92e400eb6d fixed minor issues with openstack docs not being valid yaml 2015-04-02 21:08:17 -04:00
Brian Coca
02b03cfdf5 Merge pull request #10593 from bcoca/backup_ioerror
capture IOErrors on backup_local (happens on non posix filesystems)
2015-04-02 15:55:20 -04:00
Brian Coca
ee1af1b14e Merge pull request #10559 from bcoca/become_constants_fix
removed folding sudo/su to become logic from constants
2015-04-02 15:51:58 -04:00
Brian Coca
278c1e6514 Merge pull request #10514 from bcoca/fix_password_template_error
now ansible ignores tempate errors on passwords
2015-04-02 15:50:58 -04:00
Brian Coca
42b7321d4b Merge pull request #10587 from bcoca/fix_unrelated_lookup_fail
dont break everything when one of the vars in inject does not template
2015-04-02 15:49:18 -04:00
Toshio Kuratomi
5808b68d35 Update module pointers 2015-04-02 12:41:30 -07:00
Brian Coca
06c837cd87 Merge pull request #7487 from nirvinehh/devel
Clean non-printable chars from stdout instead of dropping the whole thin...
2015-04-01 21:36:03 -04:00
Brian Coca
4dd233b0dd Merge pull request #10237 from emonty/remove-auth-token
Remove auth token and port openstack module_utils changes to v2 tree
2015-04-01 12:20:59 -04:00
Brian Coca
1fa3dbb7d2 capture IOErrors on backup_local (happens on non posix filesystems)
fixes #10591
2015-04-01 12:12:34 -04:00
Brian Coca
f6714ac051 Merge pull request #10507 from renard/fix-patch-action-plugin
Fix patch action plugin
2015-04-01 09:57:34 -04:00
Monty Taylor
87c99b4675 Align verify parameter with validate_certs
The rest of ansible uses validate_certs, so make that the main
documented parameter. However, leave verify as an alias since that's the
passthrough value to the underlying libraries.
2015-04-01 07:54:02 -04:00
Brian Coca
0d1e2e74a1 converted error on play var initialization into warning with more information 2015-03-31 23:07:03 -04:00
Brian Coca
17e086fe8c dont break everything when one of the vars in inject does not template correctly, wait till its used 2015-03-31 21:36:18 -04:00
Monty Taylor
90ca386555 Add api timeout now that shade spports it everywhere 2015-03-31 20:29:06 -04:00
Brian Coca
f337707ef1 updated ref to pickup latest docfixes 2015-03-31 09:43:09 -04:00
Brian Coca
4919c225e6 updated ref so docs can build 2015-03-31 09:22:19 -04:00
Brian Coca
f812582d9c updated submodule refs 2015-03-31 08:47:30 -04:00
Toshio Kuratomi
68880a797d Update core to fix cloudformation problem 2015-03-30 19:15:41 -07:00
Brian Coca
299314c6b6 Merge pull request #10545 from resmo/feature/cloudstack-utils
cloudstack: common code used in cloudstack modules
2015-03-30 22:03:45 -04:00
Brian Coca
2a8a302e7e fixed corner case when counting backwards, added test cases for count=0 and backwards counts 2015-03-30 20:34:17 -04:00
Brian Coca
662b35cbce readded sudo/su vars to allow role/includes to work with passed sudo/su 2015-03-27 18:30:42 -04:00
Brian Coca
35a2ca8a5d made sequence more flexible, can handle descending and negative sequences and is skipped if start==end 2015-03-27 15:41:02 -04:00
Brian Coca
5ec1f3bd6e removed folding sudo/su to become logic from constants as it is already present downstream in playbook/play/tasks 2015-03-27 08:45:04 -04:00
Brian Coca
76e3a9c93a Merge pull request #9894 from 47lining/cloud_modules_sts_support_redux_ansible
Cloud Modules STS Support Redux
2015-03-27 08:20:43 -04:00
Toshio Kuratomi
b7936009c2 Correct typo 2015-03-26 12:09:36 -07:00
Toshio Kuratomi
0ec1b025a9 Update the module pointers 2015-03-26 11:59:53 -07:00
Toshio Kuratomi
5bf9ea6298 make sure the shebang we inject into the module is a str
Fixes #8564
2015-03-26 11:52:19 -07:00
Rene Moser
3e7d959c9d cloudstack: module utils are BSD licensed 2015-03-26 15:39:02 +01:00
Rene Moser
c066a60b7c cloudstack: fail_json() if library cs is not found 2015-03-26 15:32:58 +01:00
Rene Moser
1ba05dd3a2 cloudstack: add doc fragment 2015-03-26 14:18:23 +01:00
Rene Moser
bb6d983290 cloudstack: add utils for common functionality 2015-03-26 14:18:13 +01:00
Toshio Kuratomi
aaa25eb75c Make run_command() work when we get byte str with non-ascii characters (instead of unicode type like we were expecting)
Fix and test.

Fixes #10536
2015-03-25 12:24:49 -07:00
Toshio Kuratomi
c024057e97 Fix assert to work with unicode values 2015-03-25 12:24:49 -07:00
Brian Coca
19ba26e9a5 makes raw module have quiet ssh so as to avoid extra output when not requried 2015-03-24 14:48:50 -04:00
Brian Coca
ec8118ec41 now ansible ignores tempate errors on passwords
they could be caused by random character combinations, fixes #10468
2015-03-21 02:02:59 -04:00
Brian Coca
72586d0df5 updated to latest core/devel 2015-03-20 17:27:00 -04:00
Toshio Kuratomi
8d8c4c0615 Update modules for asg tag fix 2015-03-20 11:39:58 -07:00
Eri Bastos
d4eddabb2a Patch for bug #10485 - ansible_distribution fact populates as 'RedHat' on Oracle Linux systems 2015-03-20 14:40:44 -03:00
Sébastien Gross
6888f1ccd9 [patch] Use _make_tmp_path to prevent from copying full patch file path. 2015-03-20 17:13:50 +01:00
Sébastien Gross
8a5f162e29 [patch] fix "remote_src" behavior according patch module documentation.
Patch documentation says "remote_src" us False by default. That was not
the case in the action plugin.
2015-03-20 16:45:54 +01:00
Brian Coca
d4ebe77502 now use combine vars to preserve existing cached host vars 2015-03-20 11:34:18 -04:00
Brian Coca
a53cf9d6fa now correctly aplies add_host passed variables last to override existing vars. 2015-03-20 11:22:07 -04:00
Brian Coca
0c57bed728 now add_host loads hostvars 2015-03-20 10:14:53 -04:00
Toshio Kuratomi
6264eb4e02 Pull in ec2_asg fixes from core modules 2015-03-19 22:45:47 -07:00
Toshio Kuratomi
ac1c49302d Update core modules pointer 2015-03-19 12:50:46 -07:00
Brian Coca
456f83962d ignore PE methods that are not sudo for checksums until we get them working universally 2015-03-19 14:31:00 -04:00
Toshio Kuratomi
73f5a1fcdd Update the extras module pointer 2015-03-18 20:25:53 -07:00
Toshio Kuratomi
b8efd3f777 Update core module pointer 2015-03-18 19:55:13 -07:00
Toshio Kuratomi
9dd5f8c758 Update core module pointer 2015-03-18 18:30:10 -07:00
Brian Coca
fd2d7fe447 Merge pull request #10290 from bcoca/remove_bare_warning
removed bare variable detection as this confuses people
2015-03-18 20:43:56 -04:00
Brian Coca
ba4e9a4c82 added missing become method inventory override 2015-03-17 19:19:48 -04:00
Toshio Kuratomi
f9a66a7ff7 Update core module pointer 2015-03-17 11:03:15 -07:00
Toshio Kuratomi
e42848e0fe Better comment for why we have get_checksum call itself sometimes 2015-03-17 11:02:07 -07:00
Brian Coca
b11be68249 updated module ref 2015-03-16 19:40:37 -04:00
Brian Coca
bbdcba53da fixed bug on using su on play level not setting become method correctly 2015-03-16 19:37:03 -04:00
Brian Coca
a47c132695 slight changes to allow for checksum and other commands to work correctly with quoting 2015-03-16 19:09:03 -04:00
Toshio Kuratomi
37ab61c542 Update core pointer to make use of DOCKER_TLS_VERIFY env var:
https://github.com/ansible/ansible-modules-core/issues/946
2015-03-16 11:46:44 -07:00
Toshio Kuratomi
1bf0e60646 Update core module pointer 2015-03-16 11:34:55 -07:00
Brian Coca
b783ea94bb fixed raw return check for privilege escalation 2015-03-16 14:00:07 -04:00
Brian Coca
5eae435357 removed Darwin get_uptime_facts as it seems to crash on OS X, will waiy for a
patch tested by someone that has access to the platform
2015-03-16 13:41:36 -04:00
Chris Blumentritt
7813ffd719 Adding uptime_seconds fact for linux and darwin platforms
Adds ansible_uptime_seconds facts for linux and darwin platforms.  BSD
platforms may also work.
2015-03-13 15:52:16 -05:00
Toshio Kuratomi
8c3b5690e5 Merge pull request #10357 from htgoebel/devel
Fix detect of docker as virtualization_type.
2015-03-13 11:40:15 -07:00
James Cammarata
eb850bf81a Fix issue with unarchive disabling pipelining mode
Was using persist_files=True when specifying the create paramater,
which breaks pipelining. Switched to use delete_remote_tmp=False instead,
which is the proper way to preserve the remove tmp dir when running
other modules from the action plugin.
2015-03-12 10:22:06 -05:00
Brian Coca
a675b10b3b Merge pull request #10329 from bcoca/var_merge_combined
changed from hash_merge to combine vars which resets default to
2015-03-12 10:58:12 -04:00
Brian Coca
ac1493faae fixed missed conversion of su to become 2015-03-12 10:01:31 -04:00
Toshio Kuratomi
f5264414db Merge pull request #10426 from shirou/fix-hostvar-unicode-error
use to_unicode() in _jinja2_vars if type is str.
2015-03-11 20:39:50 -07:00
Shirou WAKAYAMA
d92e8edf6e set 'nonstring' arg to passthru. 2015-03-12 12:36:50 +09:00
Toshio Kuratomi
e413dba3a6 Update the module pointers 2015-03-11 19:10:38 -07:00
Brian Coca
f229b770b2 fixed missed su to become conversion 2015-03-11 19:23:02 -04:00
Brian Coca
587ab17f10 fixes password error detection for ssh connection plugin
removes sycnronize test that does not work with current sudo setup
Fixes #10434
2015-03-11 16:11:27 -04:00
Brian Coca
747c7aaffa removed uneeded reference to su_user 2015-03-11 12:33:05 -04:00
Brian Coca
de5eae2007 fixed traceback when x_user implicitly sets the become method
Fixes #10430

Also removed redundant resolution of sudo/su for backwards compatibility which
confused the conflict detection code.
2015-03-11 12:18:53 -04:00
Brian Coca
a5f533e25d fixed bad paren in connection plugin 2015-03-11 09:30:07 -04:00
Shirou WAKAYAMA
2d73892acf use to_unicode() in _jinja2_vars if type is str. 2015-03-11 14:50:27 +09:00
Brian Coca
5f6db0e164 preliminary privlege escalation unification + pbrun
- become constants inherit existing sudo/su ones
- become command line options, marked sudo/su as deprecated and moved sudo/su passwords to runas group
- changed method signatures as privlege escalation is collapsed to become
- added tests for su and become, diabled su for lack of support in local.py
- updated playbook,play and task objects to become
- added become to runner
- added whoami test for become/sudo/su
- added home override dir for plugins
- removed useless method from ask pass
- forced become pass to always be string also uses to_bytes
- fixed fakerunner for tests
- corrected reference in synchronize action plugin
- added pfexec (needs testing)
- removed unused sudo/su in runner init
- removed deprecated info
- updated pe tests to allow to run under sudo and not need root
- normalized become options into a funciton to avoid duplication and inconsistencies
- pushed suppored list to connection classs property
- updated all connection plugins to latest 'become' pe

- includes fixes from feedback (including typos)
- added draft docs
- stub of become_exe, leaving for future v2 fixes
2015-03-10 18:42:36 -04:00
Brian Coca
17c710e713 Merge pull request #10420 from bmanojlovic/devel
add missing AIX network facts discovery
2015-03-10 15:59:34 -04:00
Boris Manojlovic
a59784a581 don't use full path to command instead use module.get_bin_path 2015-03-10 19:44:39 +01:00
Matt Martz
4990814901 Prevent an empty error message 2015-03-10 11:30:28 -05:00
Boris Manojlovic
0f4cf8cb43 add missing AIX network facts discovery 2015-03-10 15:19:29 +01:00
pyroscope
d0197195ed Handle /etc/os-release files with 'Raspbian' in them 2015-03-10 08:41:21 +01:00
Brian Coca
d244390064 correclty added inventory this time 2015-03-09 12:15:41 -04:00
Brian Coca
642d9d6b56 readded inventory vars to runner's vars 2015-03-09 12:12:37 -04:00
Brian Coca
5453e2cbb8 removed redundant inventory call, moved grousp to proper priority 2015-03-09 10:27:59 -04:00
Chris Church
919db1025c Merge pull request #9601 from cchurch/set_delegate_before_connect
Set delegate on connection plugin before calling connect()
2015-03-08 21:12:39 -04:00
riedel
29cca0191b Adding oVirt recognition for oVirt guests. oVirt uses KVM. 2015-03-07 10:17:41 -05:00
Toshio Kuratomi
3e311db128 Update core and extras module pointers 2015-03-06 21:02:40 -08:00
Monty Taylor
8758ba08bd Update common OpenStack requests-related parameters
Also, update docs related to earlier changes in this stack.
2015-03-06 18:20:45 -05:00
Monty Taylor
8027a8a0b5 Change to auth_type to match python-openstackclient 2015-03-06 18:11:12 -05:00
Toshio Kuratomi
d706fd1eda Merge pull request #10388 from willthames/no_log_skipped
Don't log item data for skipped tasks under no_log
2015-03-05 16:34:38 -08:00
Brian Coca
c3d34a5386 Merge pull request #8936 from srvg/inventoryscript_onlychildren
Allow InventoryScript JSON with childgroups only
2015-03-05 17:11:04 -05:00
Brian Coca
761540e9fd Merge pull request #10392 from sgordon46/devel
facts.py throws exception when run on RHEV hypervisor #10383
2015-03-05 12:09:49 -05:00
Brian Coca
aed493158c Merge pull request #9428 from landryb/openbsd_add_mount_facts
parse /etc/fstab on OpenBSD to get mount facts
2015-03-05 12:07:27 -05:00
Stephen Gordon
b44bf0379b facts.py throws exception when run on RHEV hypervisor #10383 2015-03-05 10:28:26 -06:00
Will Thames
13a591eac0 Don't log item data for skipped tasks under no_log
Tasks with `no_log` set should not log data.
Remove log of item data for skipped tasks in loops

Fix for #10387
2015-03-05 14:51:05 +10:00
Toshio Kuratomi
241b905e85 Update core module pointer to fix mysql bug 2015-03-04 18:59:12 -08:00
Toshio Kuratomi
983b617fb7 Update the modules 2015-03-04 18:56:50 -08:00
Toshio Kuratomi
fbc525cfb6 Use to_bytes instead of .encode(). Fixes the fact that errors is a positional argument, not a kw arg in .encode() 2015-03-04 11:07:00 -08:00
Toshio Kuratomi
ffb281d96c Merge pull request #9600 from msabramo/make_AnsibleError_a_plain_ol_exception
Make AnsibleError a plain ol' exception
2015-03-03 09:56:09 -08:00
Brian Coca
d43f542c1e Merge pull request #10373 from keithbentrup/patch-1
Incorrect keyword argument 'error'
2015-03-03 07:53:57 -05:00
Toshio Kuratomi
a8c02b7049 Rework the shell quoting of remote checksumming
Instead of getting rid of pipes.quote, use pipes.quote and get rid of
the manually entered toplevel quotes.  This should properly escape
backslashes, quotes, and other characters.

Also fix the new checksumming python "one-liner" for csh.
ansible_shell_type needs to be set to csh.

Fixes #10363
Fixes #10353
2015-03-02 15:42:18 -08:00
Toshio Kuratomi
c14a436df9 Update core and extras module pointers 2015-03-02 15:40:11 -08:00
Keith
788258917f Incorrect keyword argument 'error'
Incorrect keyword argument 'error'. It should be 'errors'.
2015-03-02 17:52:07 -05:00
James Cammarata
0314180dbe Updating core modules submodule pointer 2015-03-02 09:46:26 -06:00
Hartmut Goebel
8758ae201d Fix detect of docker as virtualization_type.
Not only match`/docker/`, but also `docker-` followed by a hex-id.

Example (shortened):
```
$ cat /proc/1/cgroup
8:blkio:/system.slice/docker-de73f4d207861cf8757b69213ee67bb234b897a18bea7385964b6ed2d515da94.scope
7:net_cls:/
```
2015-02-28 14:13:58 +01:00
Toshio Kuratomi
a5ac9aafad Update modules for docs fix 2015-02-27 08:50:09 -08:00
Brian Coca
49fce3587b Merge pull request #10311 from jpmens/lookup-module-dig1
New lookup-plugin: `dig' for performing DNS lookups
2015-02-27 09:33:26 -05:00
Jan-Piet Mens
a3618f619e New lookup-plugin: `dig' for performing DNS lookups
add support for argument qtype=XXX
remove spurious print
add dict returns
typo
Add dict returns for all major DNS types
Finish adding more types. For now. Until somebody complains.
I forgot to add NAPTR; here it is.
2015-02-27 09:16:50 +01:00
Toshio Kuratomi
38a5110250 Update core modules for docs fix 2015-02-26 22:53:27 -08:00
Toshio Kuratomi
084fbbdea9 Reverse the conditional so there's one less return from this function 2015-02-26 22:50:11 -08:00
Brian Coca
346689f9f2 Merge pull request #9293 from cchurch/module_suffixes
Simpler fix for module suffixes than c02e8d8c8.
2015-02-26 23:33:51 -05:00
Brian Coca
5a64b2e269 Merge pull request #10305 from bcoca/cartesian
Cartesian
2015-02-26 23:25:33 -05:00
Brian Coca
942ff8d0b9 Merge pull request #10035 from phenomenes/fix_9911
Adds seconds to backup timestamp
2015-02-26 22:44:23 -05:00
Brian Coca
5d729edd2f Merge pull request #9458 from sthen/openbsd_arch
set CPU architecture correctly for OpenBSD (powerpc not macppc, etc.)
2015-02-26 22:41:21 -05:00
Toshio Kuratomi
0f4b72cdfa Refactor loop to only calculate the full_path once 2015-02-26 16:01:42 -08:00
Toshio Kuratomi
68c99a12b3 Merge pull request #10346 from lekum/find_plugin_bugfix
Bug fix: Search only for files as candidates
2015-02-26 15:38:45 -08:00
Toshio Kuratomi
89159951dc Fix name of a task containing a template causing traceback
Workaround for #10321 Need to fix better in v2
2015-02-26 14:05:33 -08:00
Toshio Kuratomi
825dd25d43 Update module pointers 2015-02-26 13:52:10 -08:00
Toshio Kuratomi
8a5067d628 Adapt sanitize_output to log messages instead of assuming properly formatted key-value pairs
Fixes #10332
2015-02-26 12:31:11 -08:00
Alejandro Guirao
b8cf131375 Bug fix: Search only for files as candidates 2015-02-26 19:13:07 +01:00
Monty Taylor
0b8773fc99 Remove state from central argument list
There is an old PR that shows a great use case for having a different
set of states for the server module. Before the other modules start
being in real use, pull this out so that we don't get ourselves into a
pickle.
2015-02-26 11:35:29 -05:00
Brian Coca
2d74bd4891 pulled in add_hosts docfix 2015-02-26 10:21:15 -05:00
Brian Coca
dfc4fc5374 updated submodule refs 2015-02-26 10:04:11 -05:00
Toshio Kuratomi
ac40ffa157 If remote_checksum fails because the dest is a directory, try a file within the dest.
Fixes #10300
2015-02-25 11:26:43 -08:00
Toshio Kuratomi
d5af0ba346 Comment explaining return codes from checksum() 2015-02-25 11:26:43 -08:00
Brian Coca
c81d981164 Merge pull request #10183 from bcoca/tag_control
adds complex tag management
2015-02-25 10:36:11 -05:00
Brian Coca
a1e2ae083d Merge pull request #10320 from bcoca/ssh_fix_notokens
skips certain ssh errors and attempts to continue
2015-02-25 10:34:04 -05:00
Brian Coca
9ad8475be9 Merge pull request #9605 from msabramo/more_ssh_error_info
Display more info when SSH errors occur
2015-02-25 09:27:49 -05:00
Brian Coca
4fa51652b4 fixed typoe in combined_Vars 2015-02-24 05:26:41 -05:00
Brian Coca
ce764063f1 corrected merge vs combined in all pertinent sections 2015-02-24 05:14:22 -05:00
Brian Coca
e59b364641 changed from hash_merge to combine vars which resets default to
overwrite and not merge hashing
2015-02-24 05:05:27 -05:00
Matt Stephenson
a2ea785d69 Add function to ipaddr for getting the nth host within a network 2015-02-23 13:42:03 -08:00
Matt Stephenson
ce17f5e1ec Fix indentation 2015-02-23 12:51:19 -08:00
Brian Coca
65e68cdff9 Merge pull request #10316 from whereismyjetpack/winrm_https
plaintext https transport connecting over http
2015-02-23 11:00:33 -05:00
Toshio Kuratomi
a6fbd83660 * Transform vars_prompt result to unicode type before returning (Fixes #10319)
* Rename prompt method as do_prompt to avoid potential bug when logging via a callback plugin
2015-02-23 07:59:20 -08:00
Toshio Kuratomi
920b71984e lists => frozenset as we're only using them in membership checks 2015-02-23 07:09:33 -08:00
Brian Coca
b9aa8f07be skips certain ssh errors and attempts to continue
should fix #10225
2015-02-23 05:17:41 -05:00
Dann Bohn
5da5fa15c6 rm duplicate 2015-02-22 02:29:10 -05:00
Dann Bohn
b9bfb22a9d fix https transport bug 2015-02-21 17:43:59 -05:00
Alvaro Lopez Ortega
2e929cf0ce Fixes bug #10281 - Trailing zeros were truncated from strings 2015-02-21 19:54:38 +01:00
Alvaro Lopez Ortega
a14248ffe1 Fixes bug #10281 - Trailing zeros were truncated from strings 2015-02-21 16:40:50 +01:00
Brian Coca
6b64fe8bdd Merge pull request #9936 from sysadmin75/9415_hostname_as_dir
Fixes #9415 - fetch: should use hostname instead of ip for directory name
2015-02-20 11:14:48 -05:00
Brian Coca
acbd096cf3 Merge pull request #10298 from bcoca/lookup_wantlist
Allow requesting a list to lookup plugins instead of , delimited string
2015-02-20 10:16:57 -05:00
Brian Coca
5d946ec4f2 adds cartesian product lookup 2015-02-20 09:04:00 -05:00
Brian Coca
1d90ff8b34 Merge pull request #10304 from dago/ldom
Add LDom support
2015-02-20 08:09:58 -05:00
Dagobert Michelsen
c1dba60961 Use try block for field splitting 2015-02-20 13:57:02 +01:00
Dagobert Michelsen
90e760ba84 Add LDom support 2015-02-20 10:11:06 +01:00
Brian Coca
57674fa047 Allow requesting a list to lookup plugins instead of , delimited string 2015-02-19 18:29:29 -05:00
Brian Coca
e842f8fab9 Merge pull request #10295 from bcoca/show_return_val_docs
ansible-doc now shows return value docs
2015-02-19 18:00:06 -05:00
Brian Coca
c587bf1488 fixed absolute_import to be on top as it requries 2015-02-19 16:45:34 -05:00
Brian Coca
c2023f6f59 Merge pull request #10285 from bcoca/math_filter_rearrange
rearranged math filters
2015-02-19 16:04:26 -05:00
Brian Coca
1e818f9c50 ansible-doc now shows return value docs 2015-02-19 13:18:05 -05:00
Brian Coca
8be8a7e2f5 Merge pull request #10277 from dago/solaris
Add Solaris zone support for inventory and connection

NOTE: the connection plugin will need some work for v2 (after 1.9 gets released)
2015-02-19 13:13:31 -05:00
Brian Coca
414737557e Merge pull request #10284 from mihirvj/devel-10221
Pulls machine id in ansible facts
2015-02-19 12:56:45 -05:00
Brian Coca
e6ac2fa593 Merge pull request #10292 from dago/solaris-mounts
Add support for mounts in Solaris facts
2015-02-19 12:46:37 -05:00
Dagobert Michelsen
b82a8576f1 Add support for mounts in Solaris facts 2015-02-19 15:38:20 +01:00
Brian Coca
7044b5a8d1 removed bare variable detection as this confuses people and forced us to allow for bare expressions 2015-02-19 08:29:53 -05:00
Brian Coca
c92c4e7376 readded absolute_import 2015-02-19 07:39:45 -05:00
Brian Coca
8872bba21f rearranged math filters 2015-02-18 20:03:05 -05:00
Mihir Joshi
58a5f8dfaf Pulls machine id in ansible facts
- Fix #10221
2015-02-18 17:10:36 -05:00
Dagobert Michelsen
81f55ff8ff Adjust leftovers from chroot 2015-02-18 16:52:44 +01:00
jensdepuydt
730c2ba403 minor change to not search in non-existing paths 2015-02-18 12:07:35 +01:00
jensdepuydt
adc0e8be97 Merge branch 'optimize-plugin-loader-10165' of github.com:ansible/ansible into optimize-plugin-loader-10165 2015-02-18 12:04:54 +01:00
Toshio Kuratomi
68e86de26f Optimize the plugin loader.
We have been caching the paths to the plugins but before we would only
cache the specific plugin that we were looking for.  This meant that we
might search through all of the plugin directories before finding the
specific module we were interested in.  The next plugin we needed we
might again search through all the plugin directories before finding the
plugin we wanted.

This new code will cache all the potential plugins in each directory
searched.  For a play that only uses one plugin we'll only search
through directories until we encounter the directory that has the proper
plugin.  For a large playbook with many plugins used we'll search
through each directory at most once each.

This should alleviate #10165
2015-02-17 13:24:46 -08:00
Dan Rue
67eb9f301d Do not mark "skipped" when changed is false
When using the "creates" option with the script module, set changed
to False if the file already exists. This behavior is consistent with
other modules which use "creates", such as command and shell.
2015-02-17 15:14:21 -06:00
Dan Rue
787388ac30 Do not mark "skipped" when changed is false
When using the "creates" option with the unarchive module, set changed
to False if the file already exists. This behavior is consistent with
other modules which use "creates", such as command and shell.
2015-02-17 15:02:08 -06:00
Toshio Kuratomi
5738ee1cb3 Update core modules to fix new integration tests 2015-02-16 22:08:53 -08:00
Brian Coca
6f6c6fb32a Merge pull request #10259 from sivel/rax-boot-vol-v2
Add new rax_find_bootable_volume to assist with boot from volume
2015-02-16 18:04:16 -05:00
Toshio Kuratomi
8f9b761f3a Merge pull request #10128 from alxgu/fix_facts_for_sles
Fix wrong distribution facts on SLES/openSUSE
2015-02-16 13:24:12 -08:00
Stratos Moros
6caeded74e Fix umask calculation on file creation. Fixes #10257 2015-02-16 21:16:26 +02:00
Brian Coca
6a29251292 Merge pull request #10248 from hfinucane/gh-9888
Add `groups` back into inline templates
2015-02-16 13:56:20 -05:00
Brian Coca
e41d48104f valutpass fix in password reorog 2015-02-16 12:24:43 -05:00
Brian Coca
b2d5919d6d Merge pull request #10250 from cove/cyaml
improve yaml parsing performance by ~25% by using PyYAML's CParser loader
2015-02-16 12:11:58 -05:00
Brian Coca
a022aed43d Merge pull request #10229 from bcoca/patch_not_require_dest
patch action plugin does not require dest
2015-02-16 11:18:27 -05:00
Toshio Kuratomi
d0556885ff Update modules 2015-02-16 07:14:11 -08:00
Toshio Kuratomi
c9fb97cc86 Be careful not to set the permissions of the destination of a symlink.
It's up to the module using the set_fs_attributes*/set_mode* methods to
specify the filename of the destination of the symlink if that's really
the file that should be modified.

Half of the fix for:
https://github.com/ansible/ansible-modules-core/issues/778
2015-02-16 07:07:58 -08:00
Alexander Gubin
d291dae582 Exit loop after detecting os-release 2015-02-16 13:18:11 +01:00
Cove Schneider
825654a2fa parse yaml using cparser if present 2015-02-16 00:26:35 -08:00
Henry Finucane
2e4191c013 Add groups back into inline templates 2015-02-15 20:16:41 -08:00
Toshio Kuratomi
1e867b0b8e Fix the to_nice_yaml filter to always return unicode strings
Fixes #10243
2015-02-14 22:25:56 -08:00
Matt Martz
cfd05ceafc Add new rax_find_bootable_volume to assist with boot from volume 2015-02-13 15:25:42 -06:00
Monty Taylor
4e4bdaad8d Remove auth_token parameter
It turns out that this can actually already be handled by the existing
auth plugin framework and does not need its own parameter. Remove before
it sees usage and causes confusion.
2015-02-13 10:42:20 -05:00
Brian Coca
f6a6df2169 removed unused method 2015-02-13 08:27:35 -05:00
Brian Coca
65c08d1364 added tests
refactored task selection into method
list-tasks now uses common method of task selection
always is now skippable if specified in --skip-tags
2015-02-13 08:27:07 -05:00
Brian Coca
6fbbf9c118 simplified if conditions 2015-02-13 08:27:07 -05:00
Brian Coca
6579c5ddf5 fixed skipped tags 2015-02-13 08:27:07 -05:00
Brian Coca
95fa770ba0 adds complex tag management
Adds a special tag:
 - always: always runs no matter what --tags, --skip-tags say

Adds 4 special keywords for --tags/skip-tags
 - all: all tagged + untagged tasks
 - tagged: only tagged tasks
 - untagged: only untagged tasks
 - always: only run tasks tagged 'always'
2015-02-13 08:27:07 -05:00
Brian Coca
f61de115cd updated version added for pkg5* 2015-02-13 08:21:50 -05:00
Brian Coca
64690691d3 updated to pickup fixed cpanm 2015-02-13 08:10:26 -05:00
Brian Coca
932fd2eda2 fixed vault pass also 2015-02-12 19:03:50 -05:00
Brian Coca
0087816b13 fixed varname su_pass 2015-02-12 19:03:04 -05:00
Brian Coca
69b76a48b0 dest is not required as patchfile can have that info 2015-02-12 18:52:58 -05:00
Brian Coca
5f2d5abeea ensure proper strings/unicodestrings for passwords
updated to correct to_bytes function
removed old to_bytes/to_unicode and repointed clients to new location
fixed unicode test
2015-02-12 17:44:08 -05:00
Toshio Kuratomi
9d605171a7 Didn't port isbasestring/isunicodestring from kitchen so switch to isinstance 2015-02-12 13:55:27 -08:00
Toshio Kuratomi
740bd8fbde Update to fix logentries issues 2015-02-12 12:58:36 -08:00
Toshio Kuratomi
dd484e8211 Update modules 2015-02-12 12:16:31 -08:00
Brian Coca
62a6378c4a Merge pull request #8792 from bcoca/ternary_filter
ternary filter
2015-02-12 11:29:49 -05:00
Brian Coca
0912781357 Merge pull request #9421 from emonty/features/new-openstack
Add support for new OpenStack modules
2015-02-12 10:26:12 -05:00
Brian Coca
1b4f1e1756 Merge pull request #9555 from bcoca/low_cost_facts
allow fact objects to be instantiated w/o triggering all fact collection
2015-02-11 20:57:40 -05:00
Brian Coca
fd987f5395 Merge pull request #9063 from sivel/extra-vars-adhoc
Allow ansible (ad-hoc) to support --extra-vars
2015-02-11 20:46:37 -05:00
Matt Martz
68358e31fb Allow ansible (ad-hoc) to support --extra-vars also 2015-02-11 19:34:01 -06:00
Toshio Kuratomi
6fe8865885 Return empty string if unable to read from some files during fact gathering so as not to change the values we return 2015-02-11 14:53:53 -08:00
Brian Coca
13d788021f Merge pull request #4820 from mscherer/add_local_config
Add path for user defined plugin
2015-02-11 14:44:07 -05:00
Monty Taylor
9b17918bc9 Add doc fragment for new OpenStack modules 2015-02-11 14:04:59 -05:00
Monty Taylor
8c7267f9b9 Add support for new OpenStack modules
Incoming cloud config for OpenStack is complex due to plugins and
deployer choices. Rather than having the logic spread all over the
OpenStack modules, centralize it in the module_utils code.
2015-02-11 14:04:27 -05:00
Brian Coca
788889225d Merge pull request #10078 from sgargan/consul
Ansible support for Consul
2015-02-11 13:58:15 -05:00
Brian Coca
0b8101aec3 Merge pull request #10141 from dresden-weekly/fix_#10051
fixes #10051 as suggested by @aikomastboom
2015-02-11 13:57:04 -05:00
Brian Coca
c966eb5d80 Merge pull request #10015 from bcoca/nicer_json_errors
handle json load errors as ansible error instead of ugly stacktrace
2015-02-11 13:31:25 -05:00
Dagobert Michelsen
9cf8c3a901 Add support for Solaris zones 2015-02-11 16:48:04 +01:00
Nicolas Le Manchet
faa2449f55 Set proper permissions for ansible-vault view 2015-02-11 14:15:38 +01:00
Toshio Kuratomi
10df1b898c Fix template module broken when modifying symlinks
Needed to clear unwanted parameters from both args and complex args when
calling file module.

Fixes #10208
2015-02-11 00:10:37 -08:00
pdelared
4c661e2b93 Update facts.py
Added support for HPUX network fact
2015-02-10 17:33:29 +01:00
Kirk Strauser
ab33a0e666 Adds Kerberos authentication to winrm if available
If the `kerberos` module is available, winrm will attempt to establish a
Kerberized connection to a Windows server. This allows use of Windows
domain accounts, which are quite often the only kinds of accounts
enabled on enterprise networks.

This also pulls the `transport_schemes` variable up into the
`winrm.Connection` class. This lets tests or future modifications alter
the list of available schemas without reaching into `Connection.__init__`.
2015-02-10 07:39:07 -08:00
Brian Coca
416a4c3342 Merge pull request #10199 from bcoca/su_ssh_fix
fixes su/ssh with null prompt
2015-02-10 09:49:35 -05:00
Brian Coca
f7ad6ad4de fixed issue with prompt == none and su + ask_pass in ssh plugin 2015-02-10 08:47:11 -05:00
Henk Wiedig
0a902a5afd make su promt AIX compatible
$ su suuser date
suusers's Password:
2015-02-10 05:18:37 -05:00
Brian Coca
75d3c6b104 Merge pull request #10185 from bcoca/valut_editor_missing_err
better missing editor message
2015-02-09 18:16:57 -05:00
Brian Coca
2f2fe734df Merge pull request #10192 from bcoca/patch_action_plugin
support for patch module to have master as src
2015-02-09 18:08:34 -05:00
Toshio Kuratomi
402a6d0533 Explicitly close files opened by facts
Fixes #10157
2015-02-09 14:30:06 -08:00
Brian Coca
476b0f6d99 support for patch module to have master as src 2015-02-09 16:34:49 -05:00
Toshio Kuratomi
425dee1afa Close some file handles explicitly in facts.py
Helps control open file descriptor count with pypy (which is used with
one coreos + ansible example).  Part of a fix for
https://github.com/ansible/ansible/issues/10157
2015-02-09 13:06:33 -08:00
Toshio Kuratomi
9db17afc85 Update modules 2015-02-09 11:00:57 -08:00
Toshio Kuratomi
4902c06304 Obfuscate passwords in more places where it is displayed 2015-02-09 10:13:13 -08:00
Brian Coca
8b7dc6bbfb better missing editor message
fixes #10182
2015-02-08 23:26:56 -05:00
Toshio Kuratomi
3f97fc2ba6 Merge pull request #10162 from jonhadfield/fix_2.4_hashing
correct typo that breaks hashing on python 2.4.
2015-02-04 09:44:40 -08:00
Brian Coca
07dfbaedc3 Merge pull request #9602 from cchurch/powershell_splatting
Handle PowerShell parameters passed via splatting
2015-02-04 10:25:03 -05:00
Jon Hadfield
6874f5056d correct typo that breaks hashing on python 2.4. 2015-02-04 13:46:49 +00:00
Alexander Gubin
1968f99691 Wrong OS_FAMILY declaration for openSUSE 2015-02-04 09:16:32 +01:00
Toshio Kuratomi
019f74dced Update modules 2015-02-03 09:02:46 -08:00
Brian Coca
1b8d0b68a8 Merge pull request #10158 from bcoca/hosts_better_error
more resilient errors for bad host declarations in play
2015-02-03 10:33:47 -05:00
Brian Coca
cbbe2f4e26 more resilient errors for bad host declarations in play
should fix #10148
2015-02-03 10:26:48 -05:00
Brian Coca
7ea2aff272 Merge pull request #9772 from jszwedko/allow-template-for-retries
Allow retries to be templatable
2015-02-03 07:08:22 -05:00
Toshio Kuratomi
788e47b693 Correct filter specification 2015-02-02 19:21:26 -08:00
Toshio Kuratomi
8fd7f4b121 Wrap some filters so they return unicode.
The rules are -- if the filter returns str type and the str may contain
non-ascii characters then wrap it to convert to unicode type.  Not
needed if the function already returns unicode type or only returns
ascii characters
2015-02-02 19:11:12 -08:00
Toshio Kuratomi
a04138a887 Add v2's unicode.py to utils so we can use unicode_wrap in the filter_plugins 2015-02-02 19:09:08 -08:00
Toshio Kuratomi
6d788629a2 Be explicit about unicode str transformation
Fixes #10126
2015-02-02 13:37:31 -08:00
Toshio Kuratomi
97438f0039 Update the modules 2015-02-02 10:25:59 -08:00
Toshio Kuratomi
0e5f86cce4 Import hash functions for filters from the new location so the plugins will work on v1 and v2 2015-02-02 10:25:09 -08:00
Toshio Kuratomi
1011959d88 Move the hashing util functions to their own file to mirror v2 2015-02-02 10:25:09 -08:00
Toshio Kuratomi
b3af2f9bee Better error message 2015-02-02 08:52:19 -08:00
Toshio Kuratomi
f6e8ddfd5f Use pass instead of bare None value 2015-02-02 08:52:19 -08:00
Toshio Kuratomi
624a8dd1d9 Replace large if-elif-else blocks with a dict-dispatcher 2015-02-02 08:52:19 -08:00
Toshio Kuratomi
616fda5767 First try at only failing if the filter is actually used. 2015-02-02 08:52:19 -08:00
Maciej Delmanowski
7e46554160 Add ipaddr() filter plugin 2015-02-02 08:52:19 -08:00
Brian Coca
17666a1939 changed default for new retry path to be teh same as current
also added commented out entries in ansible.cfg to show other options
2015-01-30 15:18:58 -05:00
Brian Coca
540d13cf52 Merge pull request #9404 from mmoya/configure-retry-files
Configure retry file usage and location
2015-01-30 15:14:27 -05:00
Andreas Reischuck
6609f3ac03 fix suggested by @aikomastboom 2015-01-30 21:04:52 +01:00
Toshio Kuratomi
ca35d138f1 Update modules 2015-01-30 07:46:36 -08:00
Toshio Kuratomi
f355c11a3f Merge pull request #10129 from RadishTheHut/memfacts-fix
Fix for memory fact gathering
2015-01-30 07:44:58 -08:00
Brian Coca
7ab95e10f0 updated to latest core devel 2015-01-30 08:29:58 -05:00
Patrick McConnell
04b2c698ba Updated memory facts fix using dict.get() to avoid KeyError 2015-01-30 05:59:34 +01:00
Toshio Kuratomi
747cc26ae1 Update modules 2015-01-29 18:31:15 -08:00
Toshio Kuratomi
f20967078e Fixes to @RadishTheHut's memory facts as discussed in
https://github.com/ansible/ansible/pull/10129#issuecomment-72077500

* Switch default value from 0 to None.
* Prefill keys with default value so that determining calculated values
  is easier
2015-01-29 12:09:19 -08:00
Marc Abramowitz
372a29744b Make AnsibleError a plain ol' exception
Python's Exception constructor already takes a `message` as a parameter,
which you can then get at by doing str(e) (e.message was deprecated).

The reason I bothered to make this change was because I was debugging
with pdb and I noticed that AnsibleErrors don't give useful information
in pdb (probably because they don't have a __repr__ method that prints
the `msg` attribute).

    (Pdb) c
    > /Users/marca/dev/git-repos/ansible/lib/ansible/runner/__init__.py(599)_executor()
    -> msg = str(ae)
    (Pdb) ae
    AnsibleError()
2015-01-29 10:36:06 -08:00
Brian Coca
c73254543a made env var also consistent 2015-01-29 13:32:00 -05:00
Brian Coca
4fd760467b made inventory consistent in config file, deprecated old config hostfile 2015-01-29 13:28:33 -05:00
Brian Coca
751701c6f2 Merge pull request #9672 from quinot/topic/lineno-in-inventory-err
Report location (filename and line number) for inventory syntax errors
2015-01-29 12:36:30 -05:00
Brian Coca
e4a7b973fd Merge pull request #9128 from msabramo/expose_more_user_facts
Expose more facts about user on host system
2015-01-29 09:55:30 -05:00
Patrick McConnell
0c3a273805 Fix for memory fact gathering
I have a host which started to fail while gathering facts after the addition
of expanded memory facts in PR #9839:

Traceback (most recent call last):
  File "/home/ansible/.ansible/tmp/ansible-tmp-1422536976.05-133253824703289/setup", line 4278, in <module>
    main()
  File "/home/ansible/.ansible/tmp/ansible-tmp-1422536976.05-133253824703289/setup", line 137, in main
    data = run_setup(module)
  File "/home/ansible/.ansible/tmp/ansible-tmp-1422536976.05-133253824703289/setup", line 81, in run_setup
    facts = ansible_facts(module)
  File "/home/ansible/.ansible/tmp/ansible-tmp-1422536976.05-133253824703289/setup", line 4217, in ansible_facts
    facts.update(Hardware().populate())
  File "/home/ansible/.ansible/tmp/ansible-tmp-1422536976.05-133253824703289/setup", line 2339, in populate
    self.get_memory_facts()
  File "/home/ansible/.ansible/tmp/ansible-tmp-1422536976.05-133253824703289/setup", line 2375, in get_memory_facts
    'cached': memstats['swapcached']
KeyError: 'swapcached'

My problem host doesn't have SwapCached in /proc/meminfo. It may be better to
set defaults for these keys, since the values provided by /proc/meminfo can
change from version to version.
2015-01-29 15:00:01 +01:00
Alexander Gubin
5dec45e24a Fix wrong distribution facts on SLES/openSUSE 2015-01-29 14:54:53 +01:00
Toshio Kuratomi
556d4f0025 Update core modules 2015-01-28 16:31:08 -08:00
Toshio Kuratomi
44fe38030f Update core modules for subversion fixes 2015-01-28 16:17:30 -08:00
Toshio Kuratomi
3d5523fbb7 Fix for unicode filenames for template module
Fixes #10110
2015-01-28 14:24:57 -08:00
Toshio Kuratomi
0aac6360e4 Update core modules 2015-01-28 10:38:36 -08:00
Brian Coca
990d08b63f Merge pull request #10113 from bcoca/url_lookup
Url lookup
2015-01-28 09:54:40 -05:00
Brian Coca
11005e7b28 Merge pull request #9839 from nousdefions/memfacts
Memfacts
2015-01-28 09:39:24 -05:00
Brian Coca
3d6b6edea9 added url lookup plugin 2015-01-27 17:26:18 -05:00
Toshio Kuratomi
35321ec642 ansible.utils to_unicode/to_bytes isn't robust in the face of
non-strings.  Do some value checking in the calling code
2015-01-27 14:18:06 -08:00
Toshio Kuratomi
975b547aaa Update core modules 2015-01-27 09:47:20 -08:00
Toshio Kuratomi
a63e4c595f Another place that needs to be json_dict_bytes_to_unicode 2015-01-26 22:04:51 -08:00
Toshio Kuratomi
0f6b87d33e Revert "Fix import statements" -- those impotrt statements were right
before... something else is fishy

This reverts commit 8ab536fbf2.
2015-01-26 22:01:52 -08:00
Toshio Kuratomi
8ab536fbf2 Fix import statements 2015-01-26 21:49:09 -08:00
Toshio Kuratomi
d3666f3265 Make py2.4 remote checksum large-file-enabled as well 2015-01-26 21:44:42 -08:00
Toshio Kuratomi
6f5d18a20e Merge pull request #10087 from axos88/devel
fix checksum calculation for large files
2015-01-26 21:40:09 -08:00
Toshio Kuratomi
335cf2f05f Update module repos 2015-01-26 20:39:53 -08:00
Toshio Kuratomi
915d232d5f jinja2 cannot handle byte strs with non-ascii. So we need to transform potential byte str into unicode type. This fix is for dynamic inventory.
Fixes #10007
2015-01-26 20:39:09 -08:00
Brian Coca
9d190c8d8d Revert "Support variable values with dashes" 2015-01-26 12:54:50 -05:00
Brian Coca
13bbf9bfbb Merge pull request #9834 from nathancahill/fix-variables-with-dashes
Support variable values with dashes
2015-01-26 12:51:56 -05:00
Akos Vandra
03fa421f3f do not use with, it is not supported all the way down to 2.4 2015-01-25 18:42:59 +01:00
Akos Vandra
e8144b3b90 fixes #10086 2015-01-25 14:51:01 +01:00
Steve Gargan
c02f114967 Initial commit of Ansible support for the Consul clustering framework (http://consul.io).
Submission includes support for
 - creating and registering services and checks
 - reading, writing and lookup for values in consul's kv store
 - creating and manipulating sessions for distributed locking on values in the kv
 - creating and manipulating ACLs for restricting access to the kv store
 - inventory support that reads the Consul catalog and group nodes according to
     - datacenters
     - exposed services
     - service availability
     - arbitrary groupings from the kv store

This submission makes extensive use of the python-consul library and this is required
as a dependency and can be installed from pip.

The tests were written to target a vagrant cluster which can be setup by following the
instructions here http://github.com/sgargan/consul-vagrant
2015-01-24 01:09:03 +00:00
Toshio Kuratomi
53a3644ecd Update the modules 2015-01-22 23:17:58 -08:00
Toshio Kuratomi
364f772cc5 Fix quoting of shell parameters used in remote_checksum and add integration test to detect the error
Fixes #682
2015-01-22 12:33:06 -08:00
Brian Coca
54c25a101b Merge pull request #10029 from gaqzi/devel
Add filter to turn a string into a UUID
2015-01-22 14:51:40 -05:00
Toshio Kuratomi
f2b1a289ed Update modules to pull in fixes 2015-01-22 10:27:50 -08:00
Toshio Kuratomi
cce87acfed Fix integration test for unarchive to test zipfiles 2015-01-21 16:17:49 -08:00
Brian Coca
0e969aee06 updated submodules to latest devel 2015-01-21 19:09:22 -05:00
Björn Andersson
65e4f2b2bc Add filter to turn a string into a UUID
This filter was made because I needed to create idempotent UUIDs when
installing the agent for Go (http://go.cd), which uses UUIds to
distinguish the agents from each other.

It uses a newly created Ansible namespace to distinguish UUIDs created
by Ansible from any other source. The new namespace is a random one
created by uuidgen on OSX.
2015-01-21 08:07:17 +08:00
Brian Coca
82abe63eb2 Merge pull request #10055 from digi691/devel
Add the uuid of the device in ansible_mounts variable
2015-01-20 15:39:06 -05:00
Toshio Kuratomi
e6b5cc9ccb Merge pull request #9887 from lmacken/devel
Use send instead of sendv on the systemd.journal (fixes #9886)
2015-01-20 12:19:42 -08:00
cdigiovanni
99bcbe746f Add the uuid of the device in ansible_mounts variable 2015-01-20 10:58:14 -06:00
Brian Coca
2ef5d6be1e Merge pull request #9702 from bcoca/better_errors_on_delegate
better exception handling with delegated hosts
2015-01-19 15:25:01 -05:00
Brian Coca
23783a5228 Merge pull request #10014 from bcoca/inventory_script_errorhandle
ansible now captures returncode errors on inventory scripts
2015-01-19 15:17:56 -05:00
Brian Coca
2a9d5054bf Merge pull request #9995 from bcoca/hash_filters
Hash filters
2015-01-19 15:17:39 -05:00
Toshio Kuratomi
46e486ba41 Update modules to fix docs build and unittests 2015-01-19 09:43:30 -08:00
Toshio Kuratomi
01be9f4399 Update modules to latest 2015-01-19 09:07:49 -08:00
Brian Coca
78e1a7ed93 Revert "Fix: Add support for SSL protocol version configuration option" 2015-01-19 08:36:17 -05:00
Jimena Cabrera-Notari
1e865368ac Adds seconds to backup timestamp 2015-01-18 10:56:40 +00:00
Brian Coca
9ccabbb95e Merge pull request #9808 from swimlappy/sslconfig
Fix: Add support for SSL protocol version configuration option
2015-01-16 10:25:48 -05:00
Toshio Kuratomi
be4dbe76b9 Merge pull request #9997 from shawnsi/stdout_lines
Add stdout_lines to results when using with_items
2015-01-15 11:24:58 -08:00
Brian Coca
6b3d0f4788 now captures returncode errors on inventory scripts 2015-01-15 13:38:25 -05:00
Brian Coca
c09d27bca1 handle json load errors as ansible error instead of ugly stacktrace 2015-01-15 12:03:13 -05:00
Toshio Kuratomi
1b8faa68d9 Update extras to pick up doc build fix 2015-01-15 07:26:24 -08:00
Toshio Kuratomi
6326daa34e Update modules for unarchive handling user,group,mode and add integration test for the same 2015-01-14 19:23:12 -08:00
Shawn Siefkas
682b987567 Add stdout_lines to results when using with_items 2015-01-13 13:34:25 -06:00
Brian Coca
35247fabb8 added hash and password_hash functions
documented new hashing filters and preexisting hashing filters
removed extra sha1 example in others, clarified some of the hashing examples
2015-01-13 14:05:57 -05:00
Toshio Kuratomi
f1fdddb640 Do not send stat all the parameters that unarchive received
Fixes #546
2015-01-13 09:42:37 -08:00
Toshio Kuratomi
edc27c5a5b Fix to_nice_json on python2.6 2015-01-12 10:45:18 -08:00
Toshio Kuratomi
f2d37fba30 Update modules 2015-01-12 08:06:48 -08:00
Brian Coca
bd62530700 Merge pull request #9947 from maxamillion/issue-9759-fix-processor-facts
don't double the count of i for LinuxHardware cpuinfo keys on 'vendor_id' and 'model name' keys
2015-01-11 16:42:04 -05:00
Adam Miller
06b70e4f9c When checking for Xen for LinuxHardware processor facts, don't check sysfs if already found in /proc/ 2015-01-08 11:29:11 -06:00
Nate Coraor
60e815c844 Set ansible_distribution_version differently for Solaris variants. 2015-01-07 19:07:12 -05:00
Toshio Kuratomi
5354df8643 s/nexentaStor/Nexenta/ 2015-01-07 15:18:52 -08:00
Toshio Kuratomi
04635333d0 Update fact gathering for solaris-family distributions 2015-01-07 14:38:16 -08:00
Brian Coca
058816237a updated submodule refs 2015-01-07 13:48:08 -05:00
Toshio Kuratomi
6305864cca Merge pull request #9814 from ccciudatu/devel
run_once tasks are skipped without checking the delegate_to host #9784
2015-01-07 09:33:21 -08:00
Toshio Kuratomi
364b5ac0ea Do a daily update of the modules 2015-01-07 08:47:09 -08:00
Adam Miller
f274234824 Only add the overhead for each iteration of cpuinfo parsing if Xen is detected 2015-01-07 08:45:14 -06:00
Adam Miller
3729259b68 don't double the count of i for LinuxHardware cpuinfo keys on
'vendor_id' and 'model name' keys

Check for Xen paravirt and handle processor facts accordingly
2015-01-06 17:14:38 -06:00
Toshio Kuratomi
eb19ff9d62 Update extras modules to fix docs building 2015-01-05 08:41:19 -08:00
Toshio Kuratomi
bac086e705 Update modules 2015-01-05 08:30:58 -08:00
sysadmin75
aff20d911c Fixes #9415 - fetch: should use hostname instead of ip for directory name 2015-01-04 15:57:48 -05:00
Brian Coca
1698b17b14 Merge pull request #8651 from ks888/enable-env-kw-at-play-level
Enable environment keyword at play level
2015-01-02 11:07:35 -05:00
Toshio Kuratomi
41399dedaf Update core modules for docker fix 2014-12-27 17:12:22 -08:00
Mick Bass
17498b58bb Add support for AWS Security Token Service (temporary credentials) to all AWS cloud modules. 2014-12-25 13:31:34 -07:00
Toshio Kuratomi
641c6a2859 Pull in apt changes 2014-12-25 00:25:51 -08:00
Luke Macken
dea0ee663f Use send instead of sendv on the systemd.journal (fixes #9886) 2014-12-24 14:37:10 -07:00
Costi Ciudatu
1ed9b6629e run_once tasks are skipped without checking the delegate_to host #9784 2014-12-24 02:22:38 +02:00
Toshio Kuratomi
5ed7a55990 Restore json import for redis as well. Switch preference to simplejson for speed 2014-12-23 13:14:14 -08:00
Rene Moser
b5e99c852e facts caching: fix missing json in jsonfile caching 2014-12-23 16:15:26 +01:00
Toshio Kuratomi
f9c203feb6 Another try at a git fetch fix 2014-12-22 15:15:29 -08:00
Toshio Kuratomi
89da873dff Fix bug in merged git refspec code 2014-12-22 12:12:25 -08:00
Toshio Kuratomi
18536d6885 Pull in new refspec param for git module 2014-12-22 11:34:45 -08:00
Brian Coca
19038a71bf Merge pull request #9419 from willthames/aws_frankfurt
There are still a couple of modules that use their own lists, but that should not prevent this merge, those should be adapted to use this list in subsequent patch
2014-12-22 08:46:20 -05:00
Jonathan Davila
a93db1948e expanded facts 2014-12-22 08:24:22 -05:00
Brian Coca
e0f72d5861 fixed json encoding issue with redis 2014-12-19 20:09:57 -05:00
Brian Coca
ed380136bc removed uneeded and posibly error producing json import
now uses utils.jsonify which does proper utf8 encoding
2014-12-19 20:05:00 -05:00
Michael Scherer
d4bf3127ec Add a explicit error when fact_caching_connection is not set
By default, jsonfile is not documented, and the error message
when fact_caching_connection is not set is a bit puzzling, so
a error message would be beeter ( documentation too ). While redis
is faster for bigger setup, jsonfile is fine for a small setup
and is easier to deploy.

The module will then stop ansible-playbook, as this match better
the philosophy of Ansible being a fail-fast system.
2014-12-19 14:36:15 +01:00
Toshio Kuratomi
64c256b356 git module now with clone parameter and update=no reverted 2014-12-17 13:46:14 -08:00
Nathan Cahill
6d785ca081 support variables with dashes - fixes #9786 2014-12-16 20:58:38 -07:00
Toshio Kuratomi
2664de55fb Fix math filters 2014-12-16 16:59:22 -08:00
Toshio Kuratomi
fa6e587654 Pull in some new fixes to core modules 2014-12-16 16:09:50 -08:00
Toshio Kuratomi
c808c8a22a Fix some of the new math filters 2014-12-16 16:09:17 -08:00
Toshio Kuratomi
7ab1e52575 Merge pull request #9832 from bcoca/math_filters
math filters!
2014-12-16 15:42:22 -08:00
Brian Coca
b07ce8b942 removed redundant math functions as jinja2 provides abs() and round()
already
2014-12-16 17:57:21 -05:00
Brian Coca
7a43d40050 math filters! 2014-12-16 17:47:50 -05:00
Toshio Kuratomi
dc8207177e Merge pull request #9830 from nathancahill/vars_prompt-no-value
Fix vars_prompt no/false default values
2014-12-16 13:42:26 -08:00
Toshio Kuratomi
d09b64884f Merge pull request #9810 from mscherer/fix_7732
Do not use the variable name as a key for the result of the module
2014-12-16 13:09:06 -08:00
Toshio Kuratomi
828adbf788 Merge pull request #9807 from swimlappy/noproxy
Request: Honor the "no_proxy" environment variable in Ansible
2014-12-16 12:53:40 -08:00
Nathan Cahill
cc5a5978ef fix vars_prompt no/false values 2014-12-16 13:43:23 -07:00
Toshio Kuratomi
d1e27fe819 Merge pull request #9805 from mscherer/fix_9395
Strip the line to filter lines composed of only whitespaces
2014-12-16 12:42:06 -08:00
Toshio Kuratomi
735c8d3c4b Update core so docs build 2014-12-16 11:51:02 -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
Jonathan Mainguy
8278626dd0 Added distribution facts for OpenSuse 2014-12-15 11:47:42 -05:00
Michael Scherer
9b8a55032d Do not use the variable name as a key for the result of the module
Using the variable name can interfere with various systems
used to communicate between modules and ansible ( as
reported in #7732 , where ansible_facts is a reserved key for
updating the fact cache, for example ).
2014-12-14 19:27:17 +01:00
Jason Holland
eedc51f213 Add support for SSL protocol version configuration option. Also fix 2 places where the SSL version was not being set properly. 2014-12-13 21:20:33 -06:00
Jason Holland
38dbce1527 Allow Ansible to honor the "no_proxy" environment varaible. 2014-12-13 21:12:23 -06:00
Michael Scherer
b84fba4439 Strip the line to filter lines composed of only whitespaces
Fix #9395
2014-12-13 20:56:06 +01:00
Toshio Kuratomi
12968acd5f Update the core modules to pull in some fixes 2014-12-12 12:09:34 -08:00
Brian Coca
215359084b Merge pull request #9375 from mantiz/fix-osfamily-and-distribution-on-archlinux
Fix os_family and distribution on archlinux
2014-12-12 14:28:38 -05:00
Nicolas Rémond
3cf0c09ce9 Variables lookup in a template should handle properly the undefined case 2014-12-12 12:11:17 +01:00
Michael Scherer
7bffc1a29e add a default path in ~/.ansible to place plugins, so ansible is a bit
more usable out of the box as simple user
2014-12-11 23:33:51 +01:00
jszwedko
462471209e Allow retries to be templatable
Fixes #5865
2014-12-10 16:54:58 -05:00
Toshio Kuratomi
2d266ce401 Update core submodule for docs fix 2014-12-10 11:22:40 -08:00
Brian Coca
21bb12ee84 updated refs to module repos 2014-12-10 14:06:48 -05:00
Toshio Kuratomi
c16b83af14 Updat ecore to pull in new git module fixes 2014-12-09 09:09:29 -08:00
Toshio Kuratomi
35cfeefdc1 Update core modules 2014-12-09 08:03:07 -08:00
Toshio Kuratomi
55cb55d67a Update the extras submodules to latest 2014-12-09 08:01:31 -08:00
Brian Coca
c725aa5e47 updated submodule refs 2014-12-08 17:28:30 -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
3a5aec9743 file does not exist is not an error when checksumming for the template modules 2014-12-08 13:08:26 -08:00
Toshio Kuratomi
f2d2f425ae Fix comment 2014-12-08 13:07:34 -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
Toshio Kuratomi
2a288141d3 Fix template module to fail if remote checksumming failed 2014-12-08 10:55:04 -08:00
Toshio Kuratomi
b042fcc349 Fix for delegate_to with hosts that aren't in inventory 2014-12-05 12:35:43 -08:00
Veres Lajos
bf5d8ee678 typofixes - https://github.com/vlajos/misspell_fixer 2014-12-04 22:23:35 +00:00
Toshio Kuratomi
3b80f63e22 Have known_hosts function use the url parameter instead of getting a specific attribute out of the module dict.
This makes the function useful in more places
2014-12-04 11:39:35 -08: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
Brian Coca
e938f554b7 better exception handling for unexpected exceptions 2014-12-04 08:01:38 -05:00
Toshio Kuratomi
ae17b993d9 Update modules to allow USAGE as a valid grant option for postgres 2014-12-03 14:43:46 -08:00
Toshio Kuratomi
a2b2e54992 Fix checksum code to work with delegate_to/local_action
Fixes #9704
2014-12-03 14:43:03 -08:00
James Keener
4dfd86d847 Issue-9704 Better handling of missing python
When they python interpreter is set incorrectly for the machine the file
is being checked for (e.g. for the local or the remote), the error
manifests as a readability or directory missing error which can be very
misleading.
2014-12-03 17:15:00 -05:00
Brian Coca
1c5f625295 corrected exception name 2014-12-03 14:19:11 -05:00
Toshio Kuratomi
1ec8b6e3c5 Have remote_expanduser honor sudo and su users.
Fixes #9663
2014-12-03 10:46:56 -08:00
James Cammarata
f1386bb114 Use more variable sources when templating the play ds
Fixes #9699
2014-12-03 12:44:32 -06:00
Toshio Kuratomi
eeec4f73e7 Pull in doc fixes for modules 2014-12-03 08:18:39 -08:00
Toshio Kuratomi
05435f380b Update to newer core and extras modules 2014-12-03 07:17:43 -08:00
Brian Coca
61a30e5f49 better exception handling with delegated hosts 2014-12-03 07:26:42 -05:00
Devin Christensen
8130ed8de0 Allow .gitkeep in the jsonfile fact cache dir 2014-12-02 22:34:58 -07: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
Brian Coca
84bcc6a123 Merge pull request #9685 from bcoca/plugin_load_precedence
changed plugin load priority to be path based, not suffix based.
2014-12-02 14:45:39 -05:00
James Cammarata
29d41bb789 Revise patch from earlier using even more variable sources for HostVars
Superceeds e61e8a3

Fixes #9684
2014-12-01 21:44:42 -06:00
Chris Church
de267b5655 Fix PowerShell plugin issues affecting fetch module when used against Windows hosts. 2014-12-01 22:18:35 -05:00
Brian Coca
f2b853f7a0 changed plugin load priority to be path based, not suffix based. 2014-12-01 17:36:57 -05:00
James Cammarata
6570a6c6de Use additional vars when templating included file names
Fixes #9669
2014-12-01 15:00:14 -06:00
Toshio Kuratomi
86b21a1b8d Integration tests for https://github.com/ansible/ansible-modules-core/issues/416 2014-12-01 10:46:22 -08:00
James Cammarata
e61e8a37f5 Use extra vars when creating HostVars
Fixes #9667
2014-12-01 11:51:09 -06:00
Justin Wyer
8146d1fff3 /sys/block/sdX/queue/physical_block_size does not correlate with /sys/block/sdX/size for advanced drives larger than 2TB, /sys/block/sdX/queue/logical_block_size correlates with both see #9549 2014-12-01 17:17:54 +02:00
Thomas Quinot
23d959db71 Report location (filename and line number) for inventory syntax errors
When AnsibleError is raised for a syntax error in an inventory file,
report filename and line number to help pinpointing the error.
2014-11-30 10:41:09 +01:00
Brian Coca
60b51ef6c3 Merge pull request #9646 from bcoca/listify_template_fixes
fine tuned lookup/templating errors
2014-11-26 22:20:33 -05:00
Brian Coca
9a5cbf747a fine tuned lookup/templating errors 2014-11-26 22:06:37 -05:00
Toshio Kuratomi
ae054dbc40 Pull in a fix for specifying a single role attribute for postgresql users 2014-11-26 14:46:45 -08:00
Toshio Kuratomi
0752549f02 Merge pull request #9640 from hkariti/premature_template_playbook_vars
Don't template play vars by themselves, it's too early
2014-11-26 10:54:29 -08:00
Toshio Kuratomi
4afa7ca1b1 Refresh the core modules to pull in mysql fix 2014-11-26 08:35:32 -08:00
Hagai Kariti
bc505050b0 Don't template play vars by themselves, it's too early 2014-11-26 15:45:38 +02:00
Baptiste Mathus
a1adff4ff0 Setting LC_MESSAGES: prevent unparseable messages
This locale variable defines how tools should display their messages.
This is for example gonna change the yum message from "Nothing to do" to
"Rien a faire" in my case (french).

As the yum module parses that string in err, if the message is not
enforced in english this is gonna fail.

So this commits just enriches a bit more the code that's already written
for that enforcement.

This commit fixes issue #9635.
2014-11-26 11:02:25 +01:00
Toshio Kuratomi
704f7d7b40 Fix for a traceback in the git module 2014-11-25 16:23:12 -08:00
Toshio Kuratomi
b992a18378 Really update to a newer core module version :-) 2014-11-25 15:35:16 -08:00
James Cammarata
75d05168e6 Bumping files for 1.9 2014-11-25 16:49:45 -06:00
Brian Coca
90a6c82d55 Merge pull request #9626 from bcoca/minor_template_fixes
fixes to template function
2014-11-25 16:35:46 -05:00
Brian Coca
db145a368d now only flattened ignores failonundefined cause of it's special need 2014-11-25 16:12:15 -05:00
James Cammarata
968c56d765 Expand playbook_dir in time for loading tasks
Fixes #9618
2014-11-25 13:01:08 -08:00
Brian Coca
e3feb104c3 fixes issues with listyfing failing too often 2014-11-25 15:55:53 -05: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
9a77aefc33 Special case the lone asterisk fragment in mysql 2014-11-25 08:06:15 -08:00
Toshio Kuratomi
199d6c0b8b Fix some problems with the generic quote char 2014-11-25 02:30:32 -08:00
Toshio Kuratomi
8e7447962e Update the modules to pull in mysql identifier escaping 2014-11-25 01:47:30 -08:00
Toshio Kuratomi
fcf0975c90 Fix a few mysql related typos 2014-11-25 01:47:07 -08:00
Toshio Kuratomi
0287e9a23d Normalize the identifier quoting so we can reuse the functions for mysql 2014-11-25 00:45:59 -08:00
Toshio Kuratomi
19606afe5f Update postgresql modules so that we get all the quoting of identifier
fixes
2014-11-24 22:57:41 -08:00
Toshio Kuratomi
64a8ad9a21 Remove debugging code 2014-11-24 21:02:24 -08:00
Toshio Kuratomi
067112b5ee Code for modules to perform more robust quoting of database identifiers 2014-11-24 20:55:44 -08:00
Marc Abramowitz
e8716fcbc8 Display more info when SSH errors occur 2014-11-24 00:04:59 -08:00
Chris Church
e9b6aaf5d8 Update PowerShell command line processing to handle parameters passed via splatting. 2014-11-23 22:53:10 -05:00
Chris Church
de2746ae86 Set delegate on connection prior to calling connect. 2014-11-23 21:49:33 -05:00
Kishin Yagami
ac4dc1f739 enable environment keyword at play level 2014-11-22 10:41:13 +09:00
Brian Coca
5e33db3b7e Merge pull request #9573 from bcoca/jsonfile_cache
a cache plugin that stores facts persistently in local json dumps
2014-11-20 16:34:47 -05:00
Toshio Kuratomi
f6f02c93e7 Update to HEAD of hte modules 2014-11-20 13:23:46 -08:00
James Cammarata
4b6b58ab11 Fix role parameter precedence after 9a0f8f0
Fixes #9497
2014-11-20 12:53:48 -06:00
Brian Coca
0edaa6f790 Merge pull request #9270 from bcoca/do_the_shuffle
added new 'shuffle' filter
2014-11-20 13:43:00 -05:00
Toshio Kuratomi
11b634104f Small fix to hardlink handling in file module 2014-11-19 13:05:11 -08:00
Toshio Kuratomi
554858f3af Update core modules to pull in a git module fix 2014-11-19 12:31:38 -08: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
Michael DeHaan
36401fdb97 Update git submodules. 2014-11-18 17:22:58 -05:00
Michael DeHaan
f8ca975c75 The Guru program has been folded in with Ansible Tower. Have
questions or interested in Ansible support?  We'd love to hear from you.
Email us at info@ansible.com.
2014-11-18 17:20:53 -05:00
Toshio Kuratomi
0defe19c4b Update core modules for apt fix 2014-11-18 13:11:33 -08:00
Brian Coca
91b0149c52 a cache plugin that stores facts persistently in local json dumps 2014-11-18 01:05:40 -05:00
Toshio Kuratomi
25607e5cf4 When run in FIPS mode, allow vault to fail only when using legacy format 2014-11-17 16:38:56 -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
Michael DeHaan
2c520655ae Merge pull request #9452 from erjohnso/google_endpoint_provider
Google: allow for different libcloud provider to support upcoming DNS mo...
2014-11-17 06:57:56 -08: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
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
11e79d9627 Update core modules to pull in latest apt fixes 2014-11-14 07:52:51 -08:00
Brian Coca
e79acf3f88 Merge pull request #9261 from jonhadfield/skip-unarchive3
Fix issue whereby file will be transferred before checking the creates argument
2014-11-13 19:21:55 -05:00
Brian Coca
504995bda2 allow fact objects to be instantiated w/o triggering all fact collection
this opens the ability to do specific facts at much lower cost.
2014-11-13 18:32:27 -05:00
Jon Hadfield
697582fdde Fix issue whereby file will be transferred before checking the creates argument. 2014-11-13 20:20:08 +00:00
Brian Coca
0990a71ab5 Merge pull request #9516 from 0x44/new-regions
Support new AWS regions: cn-north-1, eu-central-1.
2014-11-12 16:42:28 -05:00
Toshio Kuratomi
b828b25784 Add a fips fact and use it for integration tests 2014-11-12 09:29:21 -08:00
James Cammarata
5bc81f9ae7 Add ability to detect prompts in stdout from run_command 2014-11-12 11:06:15 -06:00
Brian Coca
395952329a Merge pull request #9529 from sivel/env-nested-modules
Support nested modules with ANSIBLE_LIBRARY env var
2014-11-12 10:59:18 -05:00
Toshio Kuratomi
9a7eb57718 Some changes to FIPS compat since SLES implements it differently 2014-11-11 20:23:03 -08:00
Toshio Kuratomi
d4d23b1b1f Add error when checksumming will fail because python is not present on the remote.
Comments for how the remote checksumming works.

Make the checksumming marginally more robust.
2014-11-11 20:05:27 -08:00
Toshio Kuratomi
565e5bbdfc Fix up the new expand_user method.
quoting anywhere in the user_home_path interferes with shell expansion
so we have to check it for validity ourselves.
2014-11-11 13:54:03 -08:00
Toshio Kuratomi
bc4272d2a2 Expand tilde remotely in action plugins 2014-11-11 12:28:19 -08:00
Toshio Kuratomi
6a85f3ebc7 Add comments/docstrings not to use md5 unless forced to by forces outside our control. 2014-11-10 12:01:44 -08:00
Toshio Kuratomi
3ccb0b8243 Revert expanding hte tilde in shell plugin until we determine why it's forcing fetch down an alternate path 2014-11-10 11:25:45 -08:00
Toshio Kuratomi
cfe9f1c32f Expand tilde in path names 2014-11-10 10:39:34 -08:00
Toshio Kuratomi
30c50020a1 Better way to get the python_interpreter inventory variable 2014-11-10 09:16:20 -08:00
Matt Martz
4c2d06d2fe Support nested modules with ANSIBLE_LIBRARY env var 2014-11-10 10:52:23 -06:00
Ding Deng
b63ca685df Support new AWS regions: cn-north-1, eu-central-1. 2014-11-08 23:30:26 +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
Matt Martz
047dffdd01 Fix rax_find_loadbalancer issues
* Loadbalancer IDs are not UUIDs
* Ensure found list exists before using it
2014-11-06 16:41:34 -06:00
Brian Coca
22ef830814 fixed ssh fix, bad test case but it should work now 2014-11-06 14:56:44 -05:00
Brian Coca
a2ba0c03e4 added error handling on private key stat in case it is saved in agent
but not in filesystem
2014-11-06 13:38:11 -05:00
Michael DeHaan
cbad867f24 Submodule update for docs reorg of module subcategories. 2014-11-05 16:15:59 -05:00
Brian Coca
7ac52bb601 updated to latest core module, another init/packing issue, should be
last
2014-11-05 15:54:25 -05:00
Brian Coca
96a97e9414 updated ref to core with updated cloud sublcases with __init__.py 2014-11-05 11:22:25 -05:00
Michael DeHaan
d3da2edfe3 Update submodule pointers for new docs org. 2014-11-04 17:56:27 -05:00
Brian Coca
afd8cca345 Merge pull request #9451 from bcoca/load_aliases
Load aliases
2014-11-04 10:24:11 -05:00
James Cammarata
9ae0fb5bdf Make OSX fallback to paramiko more selective
Only fallback to paramiko now when the ssh password has been set,
either through inventory or via a prompt.

Fixes #9470
2014-11-03 14:32:15 -06:00
James Cammarata
4168a3e858 Merge pull request #9462 from tkinz27/paramiko_keepalive
Setting keepalive option before opening session
2014-11-03 11:41:08 -06:00
akinsley
3e992b5824 Setting keepalive option before opening session
Setting the keepalive option before opening up the paramiko session
in order to avoid the slim chance that the connection is stalled
in the short time between opening the session and setting up the
keepalive. I described the issue I am solving at
https://groups.google.com/forum/#!topic/ansible-project/rkwvz3vyvLk
2014-11-01 00:51:52 -07:00
Will Thames
2397926b94 Handle case where boto needs an upgrade to recognise a new region
Raise an exception if boto does not yet know about a region.
2014-11-01 12:36:31 +10:00
Stuart Henderson
419872373e set CPU architecture correctly for OpenBSD (powerpc not macppc, etc.) 2014-10-30 13:25:50 +00:00
Eric Johnson
a2498bdadd Google: allow for different libcloud provider to support upcoming DNS module 2014-10-29 19:57:46 +00:00
Jure Triglav
2f869a6309 Add the default Homebrew path for OpenSSL certs on OS X 2014-10-29 14:16:01 +01: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
b502cb8f5d Pull in git submodule tracking 2014-10-28 15:21:08 -04:00
Landry Breuil
792d8d1808 Ignore swap or altroot entries 2014-10-28 10:04:59 +01:00
Brian Coca
b3b356480d added the ability to keep aliased and deprecated modules prefixed with
'_', they will be loaded after non prefixed modules are checked they can
be full modules or symlinks to existing ones (alias)

also updated ansible doc to ignore these, will eventually add selective
display
2014-10-27 15:54:41 -07:00
Landry Breuil
d68eb7272e parse /etc/fstab on OpenBSD to get mount facts 2014-10-27 20:27:57 +01:00
Monty Taylor
61ae3c732f Add required_if to AnsibleModule
There is a common pattern in modules where some parameters are required
only if another parameter is present AND set to a particular value. For
instance, if a cloud server state is "present" it's important to
indicate the image to be used, but if it's "absent", the image that was
used to launch it is not necessary. Provide a check that takes as an
input a list of 3-element tuples containing parameter to depend on, the
value it should be set to, and a list of parameters which are required
if the required parameter is set to the required value.
2014-10-26 10:52:40 -07:00
Will Thames
5ceb07c65a Add Frankfurt AWS region 2014-10-25 18:17:57 +10:00
Toshio Kuratomi
c86851be2c Quote ControlPath ssh parameter
Fixes #9316
2014-10-22 18:45:02 -04:00
Maykel Moya
c15b47fb7b Configure retry file usage and location
Adds new settings for managing retry files:
* retry_files_enabled, defaults to True
* retry_files_save_path, defaults to ~/.ansible-retry

This change was adapted from PR #5515.
2014-10-23 00:38:30 +02:00
Toshio Kuratomi
34129a223d update core submodules for systemd service fix 2014-10-22 16:46:50 -04:00
James Cammarata
76a43d4b38 Updating submodule pointer for core modules 2014-10-22 14:40:56 -05:00
James Cammarata
9ee3cd14ee Fix typo in vault edit helper code
Fixes #9399
2014-10-22 11:08:01 -05:00
James Cammarata
b4f9631e4c Revert "remove complex_args_hack as it was only needed for Baby JSON"
This reverts commit a6029264b8.

Fixes #9400
2014-10-22 11:00:24 -05:00
James Cammarata
4c47c2273a Use convert_bare instead of string formatting for raw vars in debug action plugin 2014-10-22 11:00:24 -05:00
James Cammarata
987f7750ec Merge pull request #9388 from mwarkentin/patch-2
Add host to polling message
2014-10-22 00:15:27 -05:00
Toshio Kuratomi
3d135f98d1 Small python3 compat in vault to keep code in sync with v2 2014-10-21 10:32:25 -04:00
Toshio Kuratomi
da9d87b1d4 Make vault file creation use a tempfile 2014-10-21 00:32:08 -04:00
Toshio Kuratomi
694e0420ab Update the modules to pull in the files module needed for the updated
integration tests
2014-10-21 00:22:24 -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
Michael Warkentin
18a9282e0d Add host to polling message
The message for when an async task has finished has the hostname in it. This adds it to the polling message as well:

```
<job 390794962174.18311> finished on 107.6.24.140
<job 390794962174.31779> finished on 69.90.50.171
<job 390794962174.12328> polling on 69.90.50.172, 6840s remaining
```
2014-10-20 20:03:43 -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
28fd4df787 Merge pull request #9382 from gquintard/WIP/newdockerdetection
Detect docker as virtualization_type
2014-10-20 11:20:34 -05:00
James Cammarata
efb40969b3 Merge pull request #9381 from debfx/facts_virt_kvm
Detect kvm guests through sys_vendor.
2014-10-20 10:53:39 -05:00
Guillaume Quintard
895da79d87 Detect docker as virtualization_type
New docker versions use "docker" in /proc/1/cgroup, which disturbs the
virtualization_type detection. So, grep for docker, in addition of
"lxc".
2014-10-20 10:09:46 +02:00
Felix Geyer
ee5f5ee00d Detect kvm guests through sys_vendor.
The two detection methods currently implemented do not cover all cases.

For example qemu guests invoked like this:
qemu -machine pc-i440fx-1.4,accel=kvm -cpu SandyBridge

return this information:
product_name: Standard PC (i440FX + PIIX, 1996)
cpuinfo: model name      : Intel Xeon E312xx (Sandy Bridge)
2014-10-19 23:02:22 +02:00
Christian Hammerl
5efc4efca7 Fix os_family and distribution on archlinux
Fixes #8732, ansible/ansible-modules-core#34
2014-10-18 15:02:04 +02:00
Toshio Kuratomi
938b2108d0 Move the v2 tests under the v2 tree 2014-10-15 18:08:28 -04:00
Toshio Kuratomi
139e4767e4 Merge pull request #9329 from mcodd/devel
python2.4 compatibility issue with urlparse
2014-10-14 11:56:34 -04:00
Marcin Praczko
1917906dd6 Fix detecting distribution release on OpenSuSE
Ansible raised exception during parsering /etc/SuSE-release file.
Regular expresion should use string instead of list.
Fix tested on OpenSuse 13.1
2014-10-13 22:57:03 +02:00
Matt Coddington
10113e6a67 python2.4 compatibility issue with urlparse 2014-10-13 16:07:06 -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
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
Toshio Kuratomi
b4f84c5d9a Update the core and extras submodules 2014-10-10 12:11:08 -04:00
Toshio Kuratomi
2b9e235ffd Rework distribution fact checking to be a little less heinous and add
support for Mandriva.

Fixes #9282
2014-10-10 10:28:07 -04:00
James Cammarata
d19fe8d95d Fetch vars for host directly when calculating the delegated user
This fixes the case in which the delegated to host may not be in the
specified hosts list, in which cases facts/vars for the host were
not available in the injected hostvars.

This also fixes the inventory variable fetching function, so that an
unknown host raises a proper error as opposed to a NoneType exception.

Fixes #8224
2014-10-10 01:18:18 -05:00
James Cammarata
2a0d18b092 Insert newlines correctly when splitting literal blocks
Fixes #9274
2014-10-09 16:45:08 -05:00
James Cammarata
383a44a462 Updating submodule pointer for core 2014-10-09 12:52:38 -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
Toshio Kuratomi
c75aeca435 Merge removal of complex_args_hack 2014-10-08 15:03:43 -04:00
Toshio Kuratomi
a10d10f647 Workaround more python-2.6 shlex not being able to handle unicode strings 2014-10-08 14:30:36 -04:00
Toshio Kuratomi
a6029264b8 remove complex_args_hack as it was only needed for Baby JSON 2014-10-08 13:26:25 -04:00
Brian Coca
b592d7653d unchained list coercion as it removed the randomization 2014-10-08 11:54:22 -04:00
Chris Church
8fb88be41b Simpler fix for module suffixes than c02e8d8c8. 2014-10-08 11:53:06 -04:00
Brian Coca
7a94d566e5 tried to ensure input is always a list but will now be a noop for non
listable items
2014-10-08 10:54:14 -04: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
f3714c88a6 Revert "atfork import warning should be suppressed when system_warnings = False"
This reverts commit a175168686.
2014-10-06 15:05:52 -05:00
James Cammarata
12d5b75a43 Template play vars after reading them
Fixes #9242
2014-10-06 10:50:55 -05:00
Brian Coca
3534bdf953 added new 'shuffle' filter 2014-10-05 20:53:06 -04:00
James Cammarata
05644686de Fix bug in plugin path caching
Fixes #9263
2014-10-04 21:47:38 -05:00
Bruce Pennypacker
a175168686 atfork import warning should be suppressed when system_warnings = False
Fixes #9247
2014-10-03 15:48:56 -05:00
Michael DeHaan
b02afa2268 Update submodule reference 2014-10-03 15:33:36 -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
Michael DeHaan
402d0c37b8 Submodule update 2014-10-03 12:04:06 -04:00
Michael DeHaan
b4657234d2 Refresh submodule pointers. 2014-10-03 10:46:49 -04:00
Michael DeHaan
4e4308b8e1 Merge branch 'refactor_pass' into devel 2014-10-03 10:35:52 -04:00
Michael DeHaan
ff87ac08a7 An attempt at modularization prior to moving things towards BaseObject and considering Attributes. 2014-10-03 10:34:51 -04:00
Toshio Kuratomi
cef2a8795f Make dynamic inventory return byte str, not unicode 2014-10-02 20:27:06 -04:00
Michael DeHaan
da01eef4db Move v2 out of the package tree so it does not yet appear. 2014-10-02 13:47:25 -04:00
Michael DeHaan
afe1409a6e Have a parallel development and test tree. 2014-10-02 13:40:12 -04:00
Michael DeHaan
7fb55c7a9b Some restructuring. 2014-10-02 13:36:41 -04:00
Michael DeHaan
7ebf246ff1 Some signature related things, prior to starting test scaffolding 2014-10-02 13:29:24 -04:00
Michael DeHaan
b8e4e59d6b Signatures 2014-10-02 13:24:42 -04:00
James Cammarata
daab8e7ad4 Creating initial framework for refactoring core codebase 2014-10-02 12:07:05 -05:00
James Cammarata
d99e4f15c8 Merge pull request #9220 from jlaska/devel
Resolve issue where repo_path contains multiple '.git' strings
2014-10-01 14:23:23 -05:00
James Cammarata
313f26f866 Fix issue with vars precedence from roles
Fixes #9219
2014-09-30 15:50:46 -05: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
James Cammarata
05994cd900 Don't clear paths when adding a new directory path in PluginLoader 2014-09-30 09:43:40 -05:00
James Laska
684352926b Resolve issue where repo_path contains multiple '.git' strings
If the repo_path contained multiple '.git' strings, the _git_repo_info()
call resulted in a traceback.  This change removes the trailing '.git'
and resolves the traceback.
2014-09-30 10:33:42 -04:00
Toshio Kuratomi
cf548baeab Fix missing strip() in a1809a371a 2014-09-29 18:07:55 -04:00
Toshio Kuratomi
a1809a371a Target unnecessary templating warning at lines consisting of a single variable
Fixes #6407
2014-09-29 17:56:44 -04:00
Michael DeHaan
459722899d Update core link 2014-09-29 09:12:50 -04:00
Michael DeHaan
c02e8d8c80 Don't search powershell modules unless using the winrm connection. 2014-09-28 12:17:03 -04:00
Michael DeHaan
3908d50b03 Tolerate no module search path. 2014-09-28 12:10:36 -04:00
Michael DeHaan
1d17881960 Add module search path to --version output. 2014-09-28 11:39:04 -04:00
Michael DeHaan
91c5890247 Add some helpful detection if core modules are not found for those running on the development branch. 2014-09-28 11:31:51 -04:00
Michael DeHaan
21c3784a43 If submodules are not found, don't error out. 2014-09-28 11:25:04 -04:00
Will Thames
952a36920c Cater for uninitialized submodules
Output a useful message if `git submodule update --init --recursive` not
yet performed

```
$ ansible --version
ansible 1.8 (submodule_ansible_version 59ae596484) last updated 2014/09/28 13:20:51 (GMT +1000)
  lib/ansible/modules/core: (detached HEAD 617a52b20d) last updated 2014/09/28 13:15:25 (GMT +1000)
  lib/ansible/modules/extras:  not found - use git submodule update --init lib/ansible/modules/extras
```
2014-09-28 11:25:04 -04:00
Will Thames
d1476aeb01 Updated version info to include submodule information
`ansible --version` etc. now include information about submodules

```
ansible 1.8 (submodule_ansible_version ffee9a8fe0) last updated 2014/09/28 11:03:14 (GMT +1000)
  lib/ansible/modules/core: (ec2_snapshot_remove 3a77c31ecb) last updated 2014/09/27 18:23:31 (GMT +1000)
  lib/ansible/modules/extras: (detached HEAD 110250d344) last updated 2014/09/27 14:33:42 (GMT +1000)
```

Also improved handling of detached HEAD when printing out version
information.
2014-09-28 11:25:04 -04: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
bceb0026a5 Updating the module formatter to deal with the new repo structure. 2014-09-26 17:10:13 -04:00
Michael DeHaan
e5116d2f9b changes for package loading of modules 2014-09-26 11:25:56 -04:00
Michael DeHaan
25cc79e2db Modules is a package. 2014-09-26 10:55:00 -04:00
Michael DeHaan
9249d1db28 Add submodules for new core and extras subdirectories of modules, not yet live. 2014-09-26 10:17:25 -04:00
James Cammarata
6af5455edc Default 'smart' connection to paramiko for OSX platforms
Due to the long-standing bug in sshpass, which can crash OSX.

Fixes #5007
2014-09-25 19:22:35 -05:00
James Cammarata
128c10b311 Don't template 'vars' dictionary during templating
Fixes #9132
2014-09-25 14:46:16 -05:00
James Cammarata
19703617b8 Fix action_plugins for modules not respecting check mode
Fixes #9140
2014-09-25 11:11:52 -05:00
Marc Abramowitz
e0015395de Expose more facts about user on host system
Adds:
  - `user_uid`
  - `user_gid`
  - `user_gecos`
  - `user_dir`
  - `user_shell`
2014-09-24 14:05:31 -07:00
James Cammarata
c4f1785217 Use split_args instead of shlex to split include params
Fixes #8947
2014-09-23 16:12:01 -05:00
James Cammarata
4e9c061b35 Also make sure the dest param is expanded locally before recalculating 2014-09-23 15:36:24 -05:00
James Cammarata
e47f6137e5 Push the expanduser call on the source down to slurp rather than fetch
Also moves the calculation of the destination file name until after
the slurp of the file contents, since the source as returned by slurp
may now be different, so we want to use that expanded path locally.

Fixes #8942
2014-09-23 15:32:07 -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
Jakub Roztocil
0073d2dd92 Remove unreachable code. 2014-09-23 07:13:59 +02:00
Toshio Kuratomi
f16e107b72 Merge pull request #9014 from willthames/paramiko_sudo_no_prompt
Allow _remote_md5 to work with passwordless sudo even if password is supplied
2014-09-22 16:02:00 -04:00
James Cammarata
9d45f3a65e Before decrypting check if vault password is set or error early
Fixes #8926
2014-09-19 15:10:30 -05:00
James Cammarata
da5de725d7 Allow with_first_files to search relative to templates and vars in roles
Fixes #8879
2014-09-18 16:05:30 -05:00
James Cammarata
c3612e08f9 Move delegate_to out of runner module_vars to prevent bleeding across runs
Previously, the delegate_to value was stored in the module_vars of runner,
which could lead to bleeding that value across runs and incorrect hosts
being delegated to. This patch moves the value to a local variable in
the Runner class with some related refactoring of _compute_delegate() in
Runner (since the value is no longer required to be a parameter).

Fixes #8705
2014-09-17 14:24:31 -05:00
James Cammarata
ed3c9c40ca Redoing patch for hostvars fix, since the previous one broke other tests 2014-09-17 11:04:10 -05:00
James Cammarata
3180a37457 Revert "Revert to using just the combined_cache for HostVars"
This reverts commit e9229cfeaa.
2014-09-17 11:04:10 -05:00
James Cammarata
e9229cfeaa Revert to using just the combined_cache for HostVars 2014-09-17 02:32:09 -05:00
James Cammarata
4a9cf3f3f2 Allow hostvars variables to be templated
Fixes #7844
2014-09-16 14:25:55 -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
Will Thames
2303044ffc Applied fix for sudo with no prompt to paramiko
Effectively reproduces @sivel's work from #8900 but for
the paramiko connection. Fixes #8418 when using paramiko

This allows `_remote_md5` to work if a sudo password is
passed in when no sudo password is required.
2014-09-16 10:25:21 +10:00
Matt Martz
de77f33796 Don't throw away useful stdout and stderr. Fixes #8418
When supplying a sudo password to a server that uses passwordless sudo,
we should not throw away useful stdout and stderr. This is particularly
important for modules that perform md5 checks as part of the pre module
execution.
2014-09-16 10:25:21 +10:00
James Cammarata
cdf938f2c2 Ensure remote files are chmod'd properly for su/su_user too
Fixes #8594
2014-09-15 13:15:46 -05:00
James Cammarata
0c4a7492bf Ensure checkmode is honored for templates that haven't changed
Fixes #8998
2014-09-15 11:37:53 -05:00
Michael DeHaan
fb13e2bf2e Merge pull request #8853 from kvar/devel
zypper: handle lists of packages efficiently
2014-09-11 17:30:21 -04:00
James Cammarata
503f7afbd8 Merge branch 'hfinucane-gh-7432' into devel 2014-09-11 12:53:46 -05:00
James Cammarata
61c76245da Don't printout async callbacks when the task is skipped 2014-09-11 12:50:21 -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
d9e0a5ed22 Use correct keyword for this function. 2014-09-11 12:32:51 -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 Cammarata
e54178f904 Catch additional errors in fetch_url
Fixes #8971
2014-09-11 09:47:28 -05:00
James Cammarata
dacb6b8561 Use utils.merge_hash() instead of update for cache merging
Fixes #8968
2014-09-10 16:39:02 -05: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
James Cammarata
8708a00cbd Fix typo in redis cache change from 10afaee1 2014-09-10 09:06:40 -05:00
Michael DeHaan
2064d26085 Add documentation about bin_ansible_callbacks setting. Standardization and cleanup. 2014-09-10 09:38:24 -04:00
Will Thames
d6a725659e Allow github style ssh repo names 2014-09-10 21:55:27 +10:00
Will Thames
537472f42c Make ansible-galaxy work as expected
This change fixes hg galaxy roles
Roles also get installed if roles path is missing, which
the tests currently require (fixes #8950)
2014-09-10 09:16:30 +10:00
James Cammarata
10afaee108 Fixing new caching related issue with host vars
The vars_cache was not being properly merged with the setup_cache
for all hosts, which was previously not noticed when registered
variables were stored in the setup_cache.

Fixes #8944
2014-09-09 15:37:15 -05:00
Serge van Ginderachter
69740b86e8 Allow InventoryScript JSON with childgroups only
and without hosts and vars

Without this patch, the simplified syntax is triggered when a group
is defined like this:

    "platforms": {
        "children": [
            "cloudstack"
        ]
    }

Which results in a group 'platforms' with 1 host 'platforms'.

	modified:   lib/ansible/inventory/script.py
2014-09-09 11:37:54 +02:00
James Cammarata
dc1f233e8d Merge pull request #8923 from nfelger/devel
Fixing issue with symlinked vaults
2014-09-08 22:08:49 -05:00
James Cammarata
c610783f90 Merge pull request #8911 from bbasleeper/devel
Adding a new 'load_callback_plugins' config option, defaults to False
2014-09-08 15:38:27 -05:00
Niko Felger
fa74a5c806 Fixing issue with symlinked vaults 2014-09-08 16:10:18 +02:00
James Cammarata
1711df3b75 Allow complex_args to be None 2014-09-08 08:44:53 -05:00
Bruno BAILLUET
16108e4a99 Adding a new 'load_callback_plugins' config option, defaults to False
This option, when set to True, allows "ansible" command to load callback plugins
2014-09-06 16:41:16 +02: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
James Cammarata
8bafc646cb Disable custom https handler for fetch_url on older pythons
Fixes #8898
2014-09-05 13:48:45 -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
1afc8161a1 New password obfuscation in syslog messages that:
* makes speed acceptable for some datasets
* obfuscates multiple detected passwords
* obfuscates more characters to account for some corner cases when
  trying to detect passwords.

Fixes #8364
2014-09-04 17:57:52 -07:00
Toshio Kuratomi
4f55bcc298 Standardize on bytes internally to _log_invocation 2014-09-04 11:23:32 -07:00
Michael Scherer
53830123fd Make ssh debug easier to read and paste
Currently, ansible -vvvv show the following:

    hostname EXEC ['ssh', '-C', '-vvv', '-o', 'ControlMaster=auto',

This is not good if someone want to cut and paste it to see if something
is wrong with the command line, so join the dictionnary strings with spaces
to have 1 string in the output.
2014-09-03 21:04:14 +02: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
James Cammarata
893f15b30b Merge pull request #8856 from sivel/memcached-factcache-improvements
Memcached factcache improvements
2014-09-02 13:58:56 -05:00
Matt Martz
9bc9145abd Compress all data inserted into memcached to avoid memcached size limits 2014-09-02 13:19:37 -05:00
Matt Martz
2a4079eeb6 Update format fields to work with python2.6 2014-09-02 13:17:47 -05:00
James Cammarata
b827f791e1 Merge pull request #8832 from sivel/rax-validate-regions
rax modules: Perform region validation early
2014-09-02 13:03:31 -05:00
James Cammarata
f44957de5c Merge pull request #8818 from Erethon/devel
Handle exceptions during config file parsing
2014-09-02 11:24:10 -05:00
James Cammarata
35dfbff2e1 Merge pull request #8817 from meatballhat/support-sunos-certs-location
Supporting SSL cert location on SunOS (SmartOS, really)
2014-09-02 11:22:14 -05:00
Matt Martz
55ed4489e3 Perform region validation early to be more explicit about invalid region failures 2014-09-02 09:17:40 -05:00
Kristofor Varhus
acd37c87a9 zypper: handle lists of packages efficiently 2014-09-02 09:38:30 -04:00
Henry Finucane
36632c9529 Ensure ansible_job_id exists even for not-started jobs 2014-09-01 16:31:37 -07:00
Dionysis Grigoropoulos
f948b4f293 Handle exceptions during config file parsing
Handle uncaught exceptions during config file parsing
2014-08-29 17:55:42 +03:00
Dan Buch
290f2759e1 Supporting SSL cert location on SunOS (SmartOS, really) 2014-08-29 10:33:14 -04:00
Trond Hindenes
72760f5999 All changes referenced in PRs #8767 , #8768 , #8769 :
This changes the get-attr function slightly, and lets the module specify whether a param is needed and auto-fails if it is not present. A module can now verify params like so::
 $params = Parse-Args $args;
 $result = New-Object psobject;
 Set-Attr $result "changed" $false;
 $path = Get-Attr -obj $params -name path -failifempty $true -resultobj $result

or

$params = Parse-Args $args;
 $result = New-Object psobject;
 Set-Attr $result "changed" $false;
 $path = Get-Attr -obj $params -name path -failifempty $true -emptyattributefailmessage "Oh man. You forgot the main part!" -resultobj $result

slight tweak in how the powershell module converts to json in order to support nested objects (allows for more complex facts, among others)

This script gathers some extended facts on windows hosts in a json array attribute called "ansible_interfaces". This info is needed for some network-related modules I'm working on. Required the update to powershell.ps1 to return deeply nested json objects.
2014-08-29 10:39:42 +02:00
James Cammarata
dbc980eaf4 Merge branch 'mischapeters-devel' into devel 2014-08-28 20:31:00 -05:00
Chris Church
2ddab7affc Merge pull request #8793 from cchurch/powershell3_compat
Replace Get-FileHash with MD5 code that works on PowerShell 3.
2014-08-28 21:25:06 -04:00
James Cammarata
70ff6d35aa A10 module improvements
* moved common code to an module_util snippet
* rewrote logic to make each module idempotent
* added new capabilities like the write_config option
2014-08-28 20:23:48 -05:00
Michael DeHaan
b7082677de Merge pull request #8790 from sivel/issue/8784
Don't use ternary if statements. Fixes #8784
2014-08-28 10:48:32 -04:00
James Cammarata
7fbdbcdec7 Default fetch_url to use TLSv1 instead of SSLv2/3 2014-08-28 08:45:01 -05:00
James Cammarata
ab495d1916 Set the shell variable on the ssh connection type for accelerated mode
Fixes #8799
2014-08-28 08:22:24 -05:00
James Cammarata
99ba9d6e24 Default fetch_url to use TLSv1 instead of SSLv2/3 2014-08-28 08:22:24 -05:00
Chris Church
0d1197a995 Replace Get-FileHash with MD5 code that works on PowerShell 3. 2014-08-28 01:42:22 -04:00
Brian Coca
88daac4971 ternary filter 2014-08-27 22:27:00 -04:00
Matt Martz
2b307985bc Don't use ternary if statements. Fixes #8784 2014-08-27 19:16:48 -05:00
James Cammarata
a6ad374668 Use split_args directly to check for omitted params 2014-08-27 11:51:03 -05:00
James Cammarata
04da466c7b Fixing up serialize_args utility function 2014-08-27 10:20:07 -05:00
James Cammarata
e99db078b4 Additional fixes for the new omit parameter variable 2014-08-27 10:06:55 -05:00
Victor Lin
fe88ba7c8d Undo changes to filter module 2014-08-27 10:04:47 -05:00
Victor Lin
559c04f324 Implement omit for module args, also add tests for it 2014-08-27 10:04:47 -05:00
Victor Lin
bce6642ab6 Implement default omit correctly 2014-08-27 10:03:07 -05:00
Victor Lin
0b4d7f1574 Implement default omit filter 2014-08-27 10:03:07 -05:00
James Cammarata
ed34cee36f Atomically move known hosts file into place for paramiko connections
Redo of original patch, which adds an additional check to ensure the
known_hosts file isn't trampled when host_key_checking is disabled.

Fixes #8169
2014-08-26 16:02:59 -05:00
James Cammarata
811ff49f78 Updating CHANGELOG for new symbolic mode feature and updating file docs 2014-08-25 23:47:41 -05:00
James Cammarata
c21c66c740 Merge branch 'file_symbolic_mode' of https://github.com/pbitty/ansible into pbitty-file_symbolic_mode 2014-08-25 19:38:44 -05:00
y_nk
affdadda25 handling case of space in path (given would start with single quote) 2014-08-25 21:26:47 +05:30
Chris Church
57dee4545b Make sure cmd is UTF8 encoded before splitting. Fixes regression introduced by 80df2135e9. 2014-08-24 21:06:21 -04:00
Michael DeHaan
a419ffdf41 Make command warnings off by default to minimize surprises. 2014-08-22 16:12:48 -04:00
Michael DeHaan
b44e22aa68 Merge pull request #8722 from cmbaughman/devel
Bugfix: #8720 winrm.py: protocol.send_message() crashes with https
2014-08-22 15:53:09 -04:00
Michael DeHaan
fcb610dec4 Slightly trim down the warnings list based on some things being pretty common
for local usage.
2014-08-22 15:37:07 -04: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
Chris Baughman
07f12539ee Bugfix: #8720 winrm.py: protocol.send_message() crashes with https 2014-08-22 15:09:48 -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
Michael DeHaan
0286c31e85 Assume master branch for downloads if not specified. 2014-08-22 10:01:13 -04:00
Michael DeHaan
0cd40fc372 Remove debug 2014-08-22 09:58:27 -04: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
James Cammarata
3b19b83806 Add GovCloud region to list of regions for AWS
Fixes #8604
2014-08-21 16:12:51 -05:00
Michael DeHaan
bcb44276fe Assume github.com URLs are git protocol if not specified. 2014-08-21 17:15:23 -04:00
Michael DeHaan
68e21aa4b0 Add comments about what these new functions do. 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
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
Will Thames
b550cb9bc3 Need to take URLs into account when running playbooks too
Ensure that if meta/main.yml has dependencies containing URLs
these are correctly resolved at playbook runtime.

Update role_name during run time so that output of e.g. task names
look sensible
2014-08-21 17:15:23 -04:00
James Cammarata
bae73e5793 Merge branch 'alozovskoy-alozovskoy-debug-ascii-patch' into devel 2014-08-21 15:57:43 -05:00
James Cammarata
4fafd3baa8 Add error checking around json.dumps when not forcing ascii mode 2014-08-21 15:52:36 -05:00
James Cammarata
ea5db1818d Merge branch 'role_path_var' of https://github.com/sergevanginderachter/ansible into sergevanginderachter-role_path_var 2014-08-21 14:14:32 -05:00
James Cammarata
24c4277479 Remove tabs added from 677de07 2014-08-21 14:07:18 -05: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
b81e77cfec Tweak error language in dict validation 2014-08-21 13:24:53 -05:00
Serge van Ginderachter
3a228b9d55 InventoryScript: better syntax checking for json stream 2014-08-21 18:06:07 +02:00
Serge van Ginderachter
b8d057296a variable merging: detect if both vars are really dicts when combining/merging dicts 2014-08-21 18:06:02 +02:00
Serge van Ginderachter
7051cdeb57 roles: make role_path (path of current role) available as variable to the task 2014-08-21 11:56:27 +02:00
James Cammarata
8a1fbed5d6 Correct variable blending from vars_files with hostvars in them
Fixes #8638
2014-08-20 15:49:01 -05:00
Serge van Ginderachter
a1f09bd89f Merge variables for hosts instead of updating in get_variables() 2014-08-20 01:54:46 -05:00
James Cammarata
cecfede85f Merge remote-tracking branch 'svg/issue_8621_8664' into svg_issue_8621_8664 2014-08-19 11:37:59 -05: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
James Cammarata
8a5675ca9f Fixing no_log for the playbook level use
Fixes #8647
2014-08-19 10:35:01 -05:00
Serge van Ginderachter
0ab721d51e better logic for all-group variables for implicit localhost 2014-08-19 16:41:51 +02:00
Serge van Ginderachter
3c06833302 group_by: make sure new group has bigger priority than all group 2014-08-19 16:34:30 +02:00
Serge van Ginderachter
a2cfe8770b Inventory: fix logic mistake in loading/retrieving variables for groups 2014-08-19 16:34:26 +02:00
James Cammarata
ca6db40cb4 When serializing inventory, pop from the start of the hosts list
Fixes #8646
2014-08-19 09:04:47 -05:00
James Cammarata
c8494cdc39 Set prompt encoding to a sane value when sys.stdout.encoding is None
Fixes #8644
2014-08-18 22:04:25 -05:00
James Cammarata
379e31883c Fix check mode issues with copy module
Fixes #8639
2014-08-18 16:02:45 -05:00
James Cammarata
542f07128e Correct check for role library/ existence
Fixes #8633
2014-08-18 13:33:23 -05:00
James Cammarata
e3895840d1 Make sure group_vars/all is loaded for ungrouped hosts
Fixes #6563
2014-08-18 12:29:46 -05: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
James Cammarata
8dafacd4e9 Make env param a dict type instead of list
Also modifies param type checking code to remove whitespace from
around params before splitting them into k=v pairs.

Fixes #8199
2014-08-15 11:04:27 -05:00
Michael DeHaan
3035f2dcc8 Merge pull request #8367 from msabramo/make_pip_install_editable_work
Make `pip install -e` work
2014-08-15 07:46:54 -04:00
James Cammarata
54cbe3dcf9 Disallow args: to be specified as a string 2014-08-14 16:05:20 -05:00
James Cammarata
600a4657b4 Catch error in atomic_move when creating temporary file
Fixes #8480
2014-08-14 13:26:24 -05:00
James Cammarata
ee18c557ec Load group_vars for new groups loaded via add_host
Fixes #8605
2014-08-14 13:18:26 -05:00
James Cammarata
b4476c238f Use match() instead of search() for pattern matching
Also related to f48fa3, fix for #8614
2014-08-14 12:26:52 -05:00
James Cammarata
f48fa3759a Fix host pattern matching and enhance error detection
Fixes #8614
2014-08-14 12:13:40 -05:00
James Cammarata
a01d97f12b Fixing variable name bug introduced in ac8950f
Fixes #8617
2014-08-14 10:55:26 -05:00
James Cammarata
bea0845322 Fix vault_password positional args error 2014-08-14 10:28:08 -05:00
Lukas Wunner
f4053fcf3a Only chown on atomic move if invoked as root
Linux and BSD derivatives do not allow unprivileged users to
"give away" files to others for security reasons. (System V
derivatives allow that but they're rare nowadays.)
2014-08-14 16:56:11 +02:00
Cristian Ciupitu
b6261d05b0 Fix typo: & -> and
`and` is the boolean operator for AND in [Python][1].
`&` is the bitwise operator for AND in [Python][2].

[1]: https://docs.python.org/2/reference/expressions.html#boolean-operations
[2]: https://docs.python.org/2/reference/expressions.html#binary-bitwise-operations
2014-08-14 16:52:59 +03: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
fc7859f445 Make sure playbook_dir variable is an absolute path
Fixes #8317
2014-08-12 09:51:44 -05:00
James Cammarata
4940a7ad77 Merge pull request #8458 from Jmainguy/runner_8404
Fixes 8362, returns stderr if No space left on device
2014-08-11 23:16:57 -05:00
James Cammarata
ac8950fd36 Set special vars in play.vars rather than load_vars
Also refactors playbook loading code relating to vars in playbooks
to a sub-function.

Fixes #8534
2014-08-11 19:23:54 -05:00
Jakub Paweł Głazik
99a339fa7b Fix comments and error message 2014-08-11 16:02:10 -04:00
Jakub Paweł Głazik
58feee0f45 ansible-vault view - new command 2014-08-11 16:02:10 -04: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
Michael DeHaan
02b0e102e6 Rename some INI keys for fact caching defaults 2014-08-11 15:16:51 -04:00
James Cammarata
20957a1b85 Remove duplicate compiling of task when: statements
Fixes #8538
2014-08-11 13:23:07 -05:00
James Cammarata
83fa9a8cde Make sure we only use unquote on quoted lines in lineinfile when needed 2014-08-11 11:23:52 -05:00
Michael DeHaan
542aaa6ffe Use JSON instead of pickles for compatibility. 2014-08-11 12:23:05 -04:00
Michael DeHaan
2629cd3fce Fix some copyrights, fix a misc test. 2014-08-11 12:23:05 -04:00
Michael DeHaan
533fb21586 Add copyright header, let me know if corrections are needed. 2014-08-11 12:23:05 -04:00
Michael DeHaan
bdee1ff24e Standardize exception handling 2014-08-11 12:23:05 -04:00
Josh Drake
a620ef414e Implement connection pooling for memcached cache plugin. 2014-08-11 12:23:05 -04:00
Josh Drake
3031247492 Use cPickle in redis fact caching backend. 2014-08-11 12:23:05 -04:00
Josh Drake
917e868f65 Implement fact cache flushing alongside a command-line argument to invoke it. 2014-08-11 12:23:05 -04:00
Josh Drake
aa419044c4 WIP on the re-implementation of fact caching and various backends. 2014-08-11 12:23:05 -04:00
Michael DeHaan
fb5a1403dd Merge 2014-08-11 12:22:55 -04:00
Michael DeHaan
56f9328f93 Merge 2014-08-11 12:22:47 -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
James Cammarata
a650421e39 Catch task parameter splitting errors nicely
Fixes #8481
2014-08-11 10:16:58 -05:00
James Cammarata
9f34ea54f5 Correct parser to ignore escaped quotes when not in quotes already
Related to #8481
2014-08-11 10:16:58 -05:00
Marcus Cobden
c47d1f5265 Pre-load whole string and use seek to alter tags 2014-08-11 09:10:06 +01:00
Marcus Cobden
c8bfd157f8 Switch cStringIO to StringIO for unicode support
The performance difference isn't too bad
2014-08-11 08:48:37 +01:00
Marcus Cobden
84114e5c0b Fix copy/paste error 2014-08-11 08:43:40 +01:00
Marcus Cobden
ef65d3dbf6 Optimise string handling in ansible.utils._clean_data 2014-08-09 23:47:08 +01:00
Michael DeHaan
e01d5f9d84 Revert "Added cross-platform uptime fact" since causing failures on Ubuntu.
This reverts commit 14a9966984.

Conflicts:

	lib/ansible/module_utils/facts.py
2014-08-08 14:58:09 -04:00
Michael DeHaan
ea53576759 Merge pull request #6777 from GuiGui2/devel
Setup module: Additional facts when using ansible with Linux on System z
2014-08-08 14:30:49 -04:00
Michael DeHaan
5d05049ee1 Merge pull request #7670 from dagwieers/patch-3
Added cross-platform uptime fact
2014-08-08 14:23:53 -04:00
Michael DeHaan
c56ce4c913 Merge pull request #8334 from veeti/cfg-vars
Expand variables in configuration files, take two
2014-08-08 14:23:11 -04:00
Michael DeHaan
a48328fa12 Merge pull request #7725 from slapers/network-secondaries-issue
fix incorrect secondary ip handling, fixes #7724
2014-08-08 13:50:52 -04:00
hoettle
4243ce61b3 Correct placement of right parenthesis.
(serial_pct)/100.0 is a typo - the parentheses should be around the entire percentage calculation, which makes much more sense when multiplying by the number of hosts (luckily BODMAS prevailed).
2014-08-08 13:46:57 -04:00
Howard Oettle
cbf0bd6baf playbook: permit the serial attribute to be a pecentage string as well as well as a straight integer 2014-08-08 13:46:57 -04:00
James Cammarata
63bf2f6d9a Preserve all line breaks in literal blocks
Fixes #8512
2014-08-08 12:11:15 -05:00
Michael DeHaan
d0205b2878 Merge pull request #8500 from sivel/rax-de-dupe
rax: Move additional shared code into module utils
2014-08-08 12:33:35 -04:00
Michael DeHaan
03d150de35 Merge pull request #8020 from msabramo/error_when_private_key_file_permissions_incorrect
Error if private_key_file is group/world readable
2014-08-08 12:33:07 -04: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
Michael DeHaan
48a0236ec6 Merge pull request #6619 from sergevanginderachter/ansible_version_var
Introduce an ansible_version dict as runner variable
2014-08-08 11:20:17 -04:00
Michael DeHaan
66eddfd491 Merge branch 'nova-compute-enhancements' of git://github.com/emonty/ansible into devel
Conflicts:
	lib/ansible/module_utils/openstack.py
	library/cloud/nova_compute
2014-08-08 11:05:13 -04:00
Michael DeHaan
b413a7d7f3 Merge pull request #8449 from emonty/feature/openstack-auth-handling
Handle auth arguments across openstack modules consistently
2014-08-08 10:56:21 -04:00
Michael DeHaan
2f7d405fd9 Merge pull request #8510 from sergevanginderachter/inventorydir_yacc
InventoryDir: fixing yet another corner case
2014-08-08 10:34:03 -04:00
Serge van Ginderachter
7c96f1d803 InventoryDir: fixing yet another corner case 2014-08-08 08:54:11 +02:00
James Cammarata
d4cedfc7f1 Fix missing variable initialization for async jid
Fixes #8491
2014-08-07 23:51:28 -05:00
Michael DeHaan
fc40e6be81 Merge pull request #8488 from bekimb/docstring_basic_module
Keep docstring up to date with the code in basic module
2014-08-07 17:48:57 -04:00
James Cammarata
e19ed3424d Make sure default vars are used in template calls for tasks
Fixes #8499
2014-08-07 13:28:09 -05:00
James Cammarata
4a157a72a0 Catch auth errors in winrm and properly raise errors
Fixes #7875
2014-08-07 09:00:24 -05:00
Bekim Berisha
5272e1099d Keep docstring up to date with the code in basic module 2014-08-07 13:40:57 +02:00
Matt Martz
7d0eba19ab Dedupe PTR record related code in rax_dns_record 2014-08-06 16:47:33 -05:00
Matt Martz
88acb48753 Add ANSIBLE_VERSION to module_utils/basic.py and manipulate the pyrax user-agent 2014-08-06 16:28:42 -05:00
Matt Martz
585fd5a138 Move additional rackspace common code into module_utils/rax.py 2014-08-06 16:26:48 -05:00
James Cammarata
ba4693051b Removing leftover import of atomic_move 2014-08-06 15:38:08 -05:00
James Cammarata
efbad90ef8 Revert "Atomically move known hosts file into place when edited by paramiko connections"
This reverts commit bd49a835b4.
2014-08-06 15:31:54 -05:00
James Cammarata
a45c3b84f3 Avoid templating raw lookup strings 2014-08-06 13:25:14 -05:00
James Cammarata
d134b8a83c Version bump for 1.8 2014-08-06 13:17:28 -05:00
Alexander Lozovskoy
5165dfa2df Issue with printing unicode non-english characters #8425 patch 2014-08-06 12:38:14 +04:00
Michael DeHaan
1c6398dd3b Resolve option conflict differently. 2014-08-05 20:45:16 -04:00
Michael DeHaan
b4b115cd13 File common arguments should not be used in all docs pages. 2014-08-05 20:45:16 -04:00
Michael DeHaan
4312391e0a (A) Fix a bug in the doc generator that was clobbering the force parameter for the copy module.
(B) This is a work in progress but the idea is to have text snippets where we can respond to tickets with a bit more helpful info.
Not active just yet.
2014-08-05 20:10:15 -04:00
James Cammarata
dc69510bff Merge branch 'callback_template_delegate' of https://github.com/sergevanginderachter/ansible into sergevanginderachter-callback_template_delegate 2014-08-05 15:15:03 -05:00
James Cammarata
eeec459f8a Merge branch 'sets_v2' of https://github.com/bcoca/ansible into bcoca-sets_v2 2014-08-05 14:58:01 -05:00
Jonathan Mainguy
535ebc4c56 Fixes 8362, returns stderr if No space left on device 2014-08-05 15:18:49 -04:00
Serge van Ginderachter
8f39c114d8 template Runner.module_vars['delegate_to'] to accommodate callbacks 2014-08-05 15:16:43 +02:00
Monty Taylor
4012272fa2 Add common auth handling across openstack modules
Taking a page out of the ec2 config, make sure that all of the
OpenStack modules handle the inbound auth config in the same way.
The one outlier is keystone wrt auth_url.
2014-08-04 20:55:30 -07:00
James Cammarata
5d0bb33ede Make run_command process communication smarter
The run_command module function will now poll stdout/stderr for
data rather than using the builtin command communicate(), which can
hang under certain circumstances.

Fixes #7452
Fixes #7748
Fixes #8163
2014-08-04 15:32:41 -05:00
James Cammarata
74cbeb1292 Default interface type to ipv4 when checking flags for Solaris
Fixes #8330
2014-08-04 13:36:37 -05:00
James Cammarata
bd49a835b4 Atomically move known hosts file into place when edited by paramiko connections
Fixes #8169
2014-08-04 13:08:40 -05:00
Michael DeHaan
7ff63ab754 Revert "Use atomic move function on known host file in paramiko to prevent rare occurance of Control-C"
This reverts commit 642b183fb6.
2014-08-04 13:11:40 -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
Michael DeHaan
642b183fb6 Use atomic move function on known host file in paramiko to prevent rare occurance of Control-C
during file operations.
2014-08-04 10:50:14 -04:00
Michael DeHaan
a7d2e729f8 Add some whitespace to make paramiko_ssh more browseable 2014-08-04 10:38:16 -04:00
Michael DeHaan
24f6f656cc Merge branch 'bug8392' of git://github.com/gnosek/ansible into devel 2014-08-04 10:22:29 -04:00
Monty Taylor
a05804bf8d Update the nova inventory plugin with new ip code
The provisioning module knows more about how nova deals with IP
addresses now. Ensure that the inventory module is similarly as smart
by separating out the logic into the openstack/module_utils.
2014-08-02 22:31:27 -07:00
Monty Taylor
d17a1b5c19 Add common auth handling across openstack modules
Taking a page out of the ec2 config, make sure that all of the
OpenStack modules handle the inbound auth config in the same way.
The one outlier is keystone wrt auth_url.
2014-08-02 17:39:19 -07:00
Luke Sneeringer
a4fce4818e Add support for environment variables in GCE module. 2014-08-01 11:44:58 -05:00
Grzegorz Nosek
7f33580eba Fix exponential regex performance issue
filter_leading_non_json_lines effectively does

re.match(".*\w+=\w+.*", line)

for every line of output. This has abysmal performance in case of large
Base64-encoded data (which ultimately does not match the regex but does
match the .*\w+= part) as returned e.g. by the template module (diffs).

Replacing the match with

re.search("\w=\w", line)

drops the complexity back to linear, and actually usable with large
diffs from the template module (a 150 KB Base64 diff kept Ansible
spinning at 100% cpu for minutes).

Also, check the easy cases (line.startswith) first while we're here.

Closes: #8932
2014-08-01 14:46:00 +02:00
James Cammarata
9c1a89ff4e Merge branch 'patch-1' of https://github.com/debfx/ansible into debfx-patch-1 2014-07-31 11:41:21 -05:00
Marc Abramowitz
44b9f5e752 Make pip install -e work
This allows `pip install -e` and `python setup.py develop` to work
without having to do the stuff in
http://docs.ansible.com/intro_installation.html#running-from-source so
it's a tad nicer for Python programmers who are accustomed to installing
packages as editable/in development mode.

Fixes GH-8355 (https://github.com/ansible/ansible/issues/8355)
2014-07-30 13:35:11 -07:00
James Cammarata
7a5076c8b8 Catching shlex splitting error in fact gathering get_cmdline call
Fixes #8352
2014-07-30 14:47:50 -05: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
189824dd76 Remove whitespace around args
Fixes #8343
2014-07-30 08:51:27 -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
Veeti Paananen
5780f3a8b4 Expand variables in configuration files, take two
e.g. $HOME.
2014-07-29 15:20:59 +03:00
Veeti Paananen
e6bd049892 Don't expand remote_tmp path locally 2014-07-29 15:19:54 +03:00
James Cammarata
a9f0f8e975 Revert "template.py: Handle purposely raised exceptions in lookup()"
This reverts commit 2fda9bc743.
2014-07-28 23:25:37 -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
106f4ccc01 Revert "Expand variables in configuration files" - I feel I've been here before.
Breaks some test runs.

This reverts commit a9eef029b6.
2014-07-28 17:10:42 -04:00
Michael DeHaan
97fa9502aa Merge pull request #8309 from veeti/cfg-vars
Expand variables in configuration files
2014-07-28 15:47:45 -04:00
Michael DeHaan
645ab7baff Merge pull request #7950 from mesk41in/devel
Fix unsupported regexp parameter in assemble
2014-07-28 12:01:12 -04:00
Michael DeHaan
fb60e767a7 Taking alternate approach.
Revert "Fix hostname when get_distribution_version() returns a string."

This reverts commit 08f97c0b9d.
2014-07-28 11:35:33 -04:00
Michael DeHaan
628d828876 Merge pull request #8087 from neersighted/string_version
Fix hostname when get_distribution_version() returns a string.
2014-07-28 11:24:58 -04:00
Michael DeHaan
30e6a659ae Merge pull request #8171 from jbenden/osx-10.10
Support for OS X 10.10 DP3.
2014-07-28 11:08:53 -04:00
Michael DeHaan
20f65f2c79 Merge pull request #8262 from icoloma/patch-1
Bugfix: bulletproof unexpected_error_msg at gce.py
2014-07-28 11:03:54 -04:00
Veeti Paananen
a9eef029b6 Expand variables in configuration files
e.g. $HOME. Fixes #6373.
2014-07-28 17:36:14 +03:00
Nacho Coloma
979824eedc Moved import to the top 2014-07-28 08:36:56 +02:00
James Cammarata
6eac47e519 Use split_args instead of shlex.split for included params
Fixes #8296
2014-07-26 00:30:42 -05:00
James Cammarata
7344baeffa Make sure empty non-quoted tokens are not added to the arg params list 2014-07-25 15:23:10 -05:00
James Cammarata
3714c0742f Split args on single spaces only 2014-07-25 13:13:15 -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
James Cammarata
10a850c70f Merge branch 'new_arg_splitting' into devel 2014-07-24 21:27:25 -05:00
Michael DeHaan
8d42f5cbfa Smush ds removal 2014-07-24 20:38:02 -05:00
James Cammarata
b8a4ba26f0 Refactoring split_args into sub-functions 2014-07-24 20:00:57 -05: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
Michael DeHaan
b5d64fdb36 Some notes/comment upgrades on split_args. 2014-07-24 16:34:06 -04:00
James Cammarata
43154e5101 Using custom splitting function for module param counting 2014-07-24 14:42:35 -05:00
Michael DeHaan
e143d7dab7 Merge pull request #7543 from yangliping/fix_local_facts_file_checking_portability
Fix portability issue when checking local facts file permission.
2014-07-24 09:37:22 -04:00
Michael DeHaan
635bea645c Merge pull request #7992 from dehylton/devel
fix swap translation on 4.x openbsd with 2.5.4 python
2014-07-24 09:34:38 -04:00
James Cammarata
b21875d5a9 Make sure 'item' variable is set when using first_available_file
Fixes #8220
2014-07-24 00:05:26 -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
2cc602beea Fixes for module param counting and additional shell quoting issues 2014-07-23 22:54:59 -05:00
Benno Joy
ac85d8444b fix for unarchive 8257 2014-07-23 14:50:16 +00:00
Nacho Coloma
57428c48a2 Bugfix: bulletproof unexpected_error_msg at gce.py
This method was still failing for me with a "missing http_code" message. After applying this change, the error message is:

```
msg: Unexpected response: {'value': 'PyCrypto library required for Service Account Authentication.'}
```

I wanted to contribute a rock-solid `unexpected_error_msg` implementation.
2014-07-23 16:45:24 +02: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
James Cammarata
00e089e503 Revert "Explicitly set the user option for ssh connections"
This reverts commit 0f91add86f.

Fixes #8216
2014-07-21 10:32:55 -05:00
Joseph Benden
da5e32b316 Needs additional divisor. 2014-07-18 07:55:24 -07:00
Michael DeHaan
0fad9575e9 Refine error message about invalid ops since people forget to indent tasks fairly often. 2014-07-17 10:13:10 -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
Joseph Benden
b55791ef43 Support for OS X 10.10 DP3. 2014-07-16 12:37:11 -07:00
James Cammarata
62e9cf63b7 Merge pull request #8170 from sergevanginderachter/issue_8159
Load existing group_vars file for new group_by group
2014-07-16 14:28:14 -05:00
Serge van Ginderachter
4e9a253bef Load existing group_vars file for new group_by group
if it was not loaded yet, which happens if that group
didn't exist yet in the inventory.

fixes #8159
2014-07-16 21:16:27 +02:00
James Cammarata
42b5294820 Merge branch 'devel' of https://github.com/leverich/ansible into leverich-devel 2014-07-16 14:02:13 -05:00
Felix Geyer
0ebd19e97b Fix regression: Sanitize sudo success_key from stdout
Commit 7e3dd10 caused a regression with sanitizing the sudo success_key from stdout.
There is no newline in front of SUDO-SUCCESS when using sudo.
This change adapts the regex to make the line break optional.

Tested on Ubuntu 14.04.
2014-07-16 18:14:35 +02:00
Ruggero Marchei
909955f2e2 fix get_distribution_version() on amazon linux 2014-07-15 18:04:46 +02: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
e74853300a Merge branch 'task-host-loop-bypass' of https://github.com/sivel/ansible into sivel-task-host-loop-bypass 2014-07-14 14:21:25 -05:00
James Cammarata
cdb9f13559 Merge pull request #7605 from sivel/delegate-callback-hint
Show delegate_to hint in callback output
2014-07-14 11:10:52 -05:00
James Cammarata
4fc8d4b6fe Merge pull request #7649 from sivel/vault-password-script
Allow --vault-password-file to work with a script as well as a flat file
2014-07-14 10:57:16 -05:00
Serge van Ginderachter
e8b45a9ef7 Invalidate host/group variables cache when loading
extra varsiables based on playbook basedir.
2014-07-14 15:21:33 +02:00
Serge van Ginderachter
d39ff55688 Fix logic bug when loading vars for a new playbook basedir. 2014-07-14 15:12:53 +02:00
James Cammarata
db96344966 Re-fixing ability to have empty json files after inventory refactoring 2014-07-11 13:20:00 -05:00
James Cammarata
4e5eb7559e Merge branch 'svg_and_inventory_refactor' into devel 2014-07-10 14:43:07 -05:00
Bjorn Neergaard
08f97c0b9d Fix hostname when get_distribution_version() returns a string.
The distro version is a string ('jessie/sid') on Debian unstable and testing.
Because load_platform_subclass() evaluations every subclass as it loops,
comparing numbers when get_distribution_version() does not return a number will
break.

This patch fixes that by returning a number (`0`) when we have an invalid
version, instead of returning `None` or a string.
2014-07-10 11:27:03 -07:00
Dan Slimmon
307a3e8a9c Fixed regex square-bracket bug.
Regexes were being parsed like ordinary ansible host patterns, so
square-bracket groups were getting interpolated wrongly.
2014-07-10 00:08:12 +00:00
James Cammarata
b8ac094eaa Tweak to only show msg on assert failure if set 2014-07-08 14:05:24 -05:00
James Cammarata
16332b8488 Merge branch 'assert-with-msg' of https://github.com/darkk/ansible into darkk-assert-with-msg 2014-07-08 13:56:08 -05:00
James Cammarata
aa261bdd14 Optimizing groups_for_host() lookup in inventory 2014-07-07 21:08:39 -05:00
James Cammarata
fe892fccb1 Merge remote-tracking branch 'svg/varsplugins_refactor' into svg_and_inventory_refactor 2014-07-07 14:16:37 -05:00
James Cammarata
11a5fc85f4 Merge branch 'inventory_refactoring' into svg_and_inventory_refactor 2014-07-07 13:11:58 -05:00
James Cammarata
bcf83cbc24 Merge branch 'sergevanginderachter-inventorytree' into svg_and_inventory_refactor 2014-07-07 13:11:52 -05:00
Serge van Ginderachter
ff4119adc0 Performance optimization in resolving host patterns
Avoid resolving a pattern that is a plain host. When matching a hostname in the
hosts_cache, just use the host object from there.

When running a task on say 750 hosts, this yields a huge improvement.
2014-07-07 12:50:50 -05:00
Matt Martz
6591dd560d Show delegate_to hint in callbacks 2014-07-07 12:39:08 -05:00
Leonid Evdokimov
d94395f48c assert: add optional msg argument
Sample playbook when it may be useful:
```
- uri: return_content=yes url={{ api_base }}/action/{{ inventory_hostname }}
  register: output
- assert:
    msg: '{{ output.json | to_nice_json }}'
    that:
      - output.json.foo != "bar"
      - output.json.boo == 42
```
2014-07-07 19:05:17 +04:00
James Cammarata
7f8de3a265 Merge pull request #8024 from kcghost/7941
removed port from domain name qualification, fixes #7941
2014-07-04 23:15:17 -05:00
James Cammarata
ff04b2b532 Allow empty yaml vars files
Fixes #7843
2014-07-04 23:10:32 -05:00
Michael DeHaan
51e014d915 Merge pull request #8012 from cchurch/callback_cleanup
Callback plugin cleanup
2014-07-03 19:29:59 -05:00
Michael DeHaan
c2ac8fda1e Data from inventory scripts should be able to use nested Jinja2 expressions. 2014-07-03 16:11:14 -04:00
Henry Finucane
de64bbdc5f Support a whitelisted subset of jinja2 template options 2014-07-02 21:14:26 -07:00
Casey Fitzpatrick
7115cb1f37 removed port from domain name qualification, fixes 7941 2014-07-02 19:54:50 -04:00
Marc Abramowitz
5b783e0bc6 Error if private_key_file is group/world readable
Currently, if you have this, ansible fails with a generic error and
suggests running again with `-vvvv`. This isn't bad but pinpointing the
specific problem immediately is even more user-friendly.

```
$ ls -l devops.pem
-rw-r--r--+ 1 marca  staff  1679 Jul  2 11:25 devops.pem

$ ansible -m ping --private-key=devops.pem mt3-pyweb01
mt3-pyweb01 | FAILED => private_key_file (devops.pem) is group-readable or world-readable and thus insecure - you will probably get an SSH failure
```
2014-07-02 13:44:53 -07:00
James Cammarata
81f35323e9 Revert "Fix get_distribution() for platforms that may have spaces"
This reverts commit 2493020d9f.
2014-07-02 09:44:44 -05:00
Chris Church
955dadf743 Remove runner_on_error callback that is never used. 2014-07-01 17:02:10 -04:00
Chris Church
4e98e3785a Reset play attribute on callback plugins when a play fails. 2014-07-01 17:02:10 -04:00
Chris Church
30fae95efe Change variable from pattern to name to correctly indicate what is being passed to the callback. 2014-07-01 17:02:09 -04:00
James Cammarata
8ed6350e65 When parsing json from untrusted sources, remove templating tags 2014-07-01 14:14:14 -05:00
James Cammarata
eeb597360e Further safe_eval fixes 2014-07-01 14:14:14 -05:00
dewey hylton
379e1a49cb fix swap translation on 4.x openbsd with 2.5.4 python 2014-06-30 17:23:55 -04:00
Michael Scherer
f0a7139290 Fix exec_command prototype for the plugin 2014-06-28 13:06:40 +02:00
mesk41in
488aec3936 Fix unsupported regexp parameter in assemble 2014-06-27 13:54:59 +04:00
James Cammarata
539426f612 Performance tuning inventory functions for large inventories 2014-06-26 23:15:39 -05:00
James Cammarata
35368e531b Additional fixes for safe_eval 2014-06-25 21:26:32 -05:00
James Cammarata
5429b85b9f Change safe_eval to a strict white list 2014-06-25 14:00:21 -05:00
James Cammarata
d8a7b49b59 Merge branch 'inventorytree' of https://github.com/sergevanginderachter/ansible into sergevanginderachter-inventorytree 2014-06-24 15:21:08 -05:00
Matt Martz
19f5ce2c9c Allow --vault-password-file to work with a script as well as a flat file 2014-06-24 15:02:24 -05:00
James Cammarata
1adb6dfa05 Remove redundant 'self.user or' added by 0f91add 2014-06-24 10:45:38 -05:00
Thomas Mangin
0f91add86f Explicitly set the user option for ssh connections
Fixes #7170
2014-06-23 15:57:49 -05:00
Paul Sokolovsky
f8bf9cdeec Handle TemplateNotFound to render more helpful error message.
At the point the exception is handled, it is likely due to error loading
a sub-template included from main template. Besides file not found, it
can be caused also by include path failing Jinja2 checks. Now, when
rendering the exception from Jinja, it will include exception name. This
will give basic context or *what* the error is.

Fixes #7103
Fixes #7105
2014-06-23 15:02:58 -05:00
James Cammarata
5d65c1c4a4 Merge branch 'Mbosco-patch-1' into devel 2014-06-23 13:00:51 -05:00
James Cammarata
6bd0621037 Merge branch 'devel' of https://github.com/ansible/ansible into devel 2014-06-23 12:59:12 -05:00
James Cammarata
1702c2fd50 Merge branch 'patch-1' of https://github.com/Mbosco/ansible into Mbosco-patch-1 2014-06-23 12:57:13 -05:00
James Cammarata
9564818e1e Merge branch 'fix_lineinfile_newlines' into devel 2014-06-23 12:38:12 -05:00
James Cammarata
59c5d6292b Merge pull request #7902 from jirutka/filter-relpath
Add os relpath filter
2014-06-23 12:33:30 -05:00
James Cammarata
ce41b02300 Merge pull request #7887 from s0x/funtoo-gathering-facts
Check for empty os-release file, fixes #7885
2014-06-23 12:28:32 -05:00
Jakub Jirutka
726a61eb43 Add os relpath filter 2014-06-23 16:10:07 +02:00
Chris Church
6aaad5dc9b Fix missing arg for _remote_chmod method. 2014-06-23 06:09:08 -04:00
Ivo Senner
f4fd9d366b Check for empty os-release file, fixes #7885 2014-06-22 04:08:59 +02:00
Chris Hoffman
cf997beb07 Shell expand DEFAULT_ROLES_PATH fixes #4897 2014-06-20 19:23:46 -04:00
James Cammarata
94963290b9 Merge pull request #6981 from aliles/fix-localhost-executable-with-flags
Fix localhost tasks with complex executables
2014-06-20 12:51:54 -05:00
James Cammarata
3c3c710a58 Merge branch 'module_safe_eval' into fix_lineinfile_newlines 2014-06-20 00:16:52 -05:00
James Cammarata
d8bb116c1a Merge branch 'devel' of https://github.com/tgolly/ansible into tgolly-devel 2014-06-19 22:41:58 -05:00
Michael DeHaan
5156794738 Merge pull request #7861 from cchurch/devel
Windows Remote Support
2014-06-19 22:10:41 -05:00
Chris Church
615f70e3f4 Fix missing space in script action plugin. 2014-06-19 21:54:21 -05:00
Chris Church
dd3f7c2dab Fix trailing slash on returned temp path. 2014-06-19 16:20:18 -05:00
Chris Church
8a121fd6ae Squeeze a few more bytes out of put_file script. 2014-06-19 16:20:17 -05:00
Chris Church
4e738e6fa9 Optimize buffer size for put_file. 2014-06-19 15:37:42 -05:00
Matt Martz
09dd535296 Make helper functions more robust against undefined powershell objects 2014-06-19 14:26:36 -05:00
Chris Church
43a7a5a990 Collapse extra whitespace in encoded powershell scripts. 2014-06-19 14:25:50 -05:00
Matt Martz
df8866b8bd Add examples for how to use powershell common functions 2014-06-19 14:25:50 -05:00
Matt Martz
e4e610565c Add convenience function (Get-Attr) for getting an attribute/member from a powershell psobject 2014-06-19 14:25:50 -05:00
Matt Martz
90c98ada7c Add ConvertTo-Bool filter function in powershell common code 2014-06-19 14:25:50 -05:00
Chris Church
61c236be9e Fix for creating temp dir with older powershell versions. 2014-06-19 14:25:28 -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
a8ca579761 Fix host parameter to vvvvv. 2014-06-19 14:25:27 -05:00
Matt Martz
97f4f56286 Add Exit-Json and Fail-Json powershell helper functions 2014-06-19 14:24:15 -05:00
Chris Church
74c43c94cf Allow specifying remote powershell version via environment variable. 2014-06-19 14:24:14 -05:00
Chris Church
8f762a7d15 Update logging based on verbosity, add vvvvv support to show details of put/fetch file. 2014-06-19 14:24:14 -05:00
Chris Church
21ba529fbe Fixes/notes related to slashes in remote paths. 2014-06-19 14:24:14 -05:00
Chris Church
7e8cc65829 Refactor common args used for building PowerShell commands. 2014-06-19 14:24:13 -05:00
Matt Martz
e7e95721b9 powershell modules will have a .ps1 extension 2014-06-19 14:24:13 -05:00
Matt Martz
a25c441300 Add shared functions to module_utils/powershell.ps1 and refactor powershell modules to utilize the common powershell code 2014-06-19 14:24:13 -05:00
Michael DeHaan
bafa63b424 Revise documentation on powershell module replacer code. 2014-06-19 14:24:13 -05:00
Chris Church
f7af29680b Add default license boilerplate, refactor common powershell code, fixes for raw/script modules. 2014-06-19 14:24:13 -05:00
Michael DeHaan
35a7c93c76 Added comment about implementation line. 2014-06-19 14:24:13 -05:00
Michael DeHaan
3ac86e57f4 FIXME comment cleanup 2014-06-19 14:24:13 -05:00
Michael DeHaan
80499346d1 Remove stray FIXME 2014-06-19 14:24:13 -05:00
Chris Church
5dcaa30476 Add shell_plugins to abstract shell-specific functions out of runner, add winrm connection plugin, add initial Windows modules. 2014-06-19 14:24:12 -05:00
James Cammarata
360d8b0fc2 Don't try to scan SSH signatures for non-ssh urls
Fixes #7812
2014-06-18 14:22:20 -05:00
James Cammarata
2493020d9f Fix get_distribution() for platforms that may have spaces
The new CentOS 7 beta lists the distribution as "CentOS Linux", which
breaks the distribution detection and class loading. This patch fixes
that by taking just the first entry in the string when a space is
detected.
2014-06-18 13:10:39 -05:00
James Cammarata
3529b1cb33 Merge branch '7763' of https://github.com/rmarchei/ansible into rmarchei-7763 2014-06-18 12:16:01 -05:00
Michael DeHaan
627ff30a6f Add module replacer capability for powershell files. 2014-06-17 12:30:34 -05:00
Ruggero Marchei
e3f5af377f move get_distribution_version() to basic.py 2014-06-17 10:22:14 +02:00
James Cammarata
cb13b30362 Use file documentation fragement for the copy module 2014-06-16 15:36:15 -05:00
James Cammarata
9b17e8a555 Merge pull request #7771 from jkramarz/issue-5761
Added missing fallback to hw_sector_size
2014-06-16 15:15:41 -05:00
James Cammarata
6d9cc64e0f Add role_names to valid keys entry for plays
Prevents a "not a legal parameter" error for play ds structures that
may be passed into the Play() constructor, which really is mainly a
concern during tests.
2014-06-16 10:00:43 -05:00
Matt Bray
578e881142 fix for urls like ssh://git@github.com/ansible/ansible.git 2014-06-16 11:58:59 +01:00
Jakub Kramarz
df3188cef0 Added missing fallback from physical_block_size to hw_sector_size in sectorsize fact discovery for kernels older than May 2009.
References #5761
2014-06-14 19:42:41 +02:00
James Cammarata
3fb3e7e6dc Properly parse urls for ssh-keyscan use
Previously, the get_fqdn() function in known_hosts.py only worked
with urls that started with git@, and ignored any urls that started
with a normal schema type (ie. http:// or ssh://). This patch corrects
that by using urlparse to parse the hostname portion out of urls that
have a proper schema.

Fixes #7474
2014-06-12 16:16:42 -05:00
James Cammarata
395192ffbc Merge pull request #7740 from jkramarz/issue-5761
changed sector size fact source
2014-06-12 08:56:03 -05:00
James Cammarata
b4d130d086 Add a new password pattern to the run_command filter 2014-06-12 07:42:25 -05:00
Jakub Kramarz
4e4c9235e8 changed sector size fact source from hw_sector_size to physical_block_size, fixes issue 5761 2014-06-12 12:14:40 +02:00
Stefan Lapers
78f4842982 fix incorrect secondary ip handling, fixes #7724 2014-06-11 09:32:35 +02:00
Eri Bastos
a65fd06338 Added quotes around key path - Issue 7713 2014-06-10 16:39:47 -03:00
James Cammarata
e5ef0eca03 Merge pull request #6507 from brdo/patch-1
Set keepalive to 5 seconds in paramiko_ssh.py
2014-06-09 23:44:06 -05:00
smoothify
e3530dcbc2 Add environmentfilter to random filter, to ensure the result doesn't get cached. Mirrors default jinja filter. 2014-06-09 18:52:39 +01:00
Dag Wieers
fd6f0cb4b4 Update facts.py 2014-06-05 15:09:43 +02:00
Dag Wieers
14a9966984 Added cross-platform uptime fact
Having an uptime fact allows you to check after a reboot whether the system was effectively rebooted.

```yaml
  - name: Safeguard - Was system properly rebooted ?
    action: fail msg="System was not properly rebooted"
    when: ansible_uptime > 900
```

This patch has been tested on Linux, Solaris and HP-UX.
2014-06-05 11:58:00 +02:00
James Cammarata
ad97c618cf Add support for relative paths in the file lookup plugin for roles
Fixes #7628
2014-06-04 15:20:59 -05:00
James Cammarata
82a784931e Fix error passing play vars to an included playbook with empty vars
Fixes #7658
2014-06-04 13:22:50 -05:00
James Cammarata
d9df607972 Fix order of merging variables for the combined cache
Fixes #7598
2014-06-04 10:50:41 -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
0fa5100a2c Merge branch 'fix-7596' of https://github.com/kilburn/ansible into kilburn-fix-7596 2014-06-03 10:26:25 -05:00
James Cammarata
849b0f87ce Fix error when using os.getlogin() without a tty 2014-06-03 09:36:19 -05:00
Brian Coca
ce8c8ab146 now unique actually works, all operations also now use it to return
unique lists.
2014-06-01 16:32:48 -04:00
Michael DeHaan
959af67fe3 Merge pull request #7608 from jjneely/lookup-function
template.py: Handle purposely raised exceptions in lookup()
2014-05-30 22:24:53 -04:00
James Cammarata
b94bde9711 Merge pull request #7609 from jimi-c/issue_7553_su_copy
Support checking for su user to atomic_move
2014-05-30 15:46:34 -05:00
Jack Neely
2fda9bc743 template.py: Handle purposely raised exceptions in lookup()
If a lookup plugin is run by the lookup() template method it should pass
along any AnsibleError (or child exception classes) rather than just eat
them.  These exceptions are purposely raised by the plugin.
2014-05-30 16:41:20 -04:00
Marc Pujol
d0f82e94e8 Ensure there are no duplicates in the merged/intersected lists 2014-05-30 15:47:18 +02:00
Marc Pujol
f892cc798c Merge and intersect lists without using sets.
Using sets for these operations is dangerous because sets cannot contain
certain object types (such as lists) and their iteration order is
undefined.

Fixes #7596
2014-05-30 09:07:57 +02:00
James Cammarata
188ab7b952 Check groupnames for None as well as an empty string in add_host
Fixes #7585
2014-05-29 11:01:11 -05:00
James Cammarata
feafc4cd8a Merge branch 'fix_mutable_inventory_vars' of https://github.com/banterchat/ansible into banterchat-fix_mutable_inventory_vars 2014-05-27 22:09:25 -05:00
Isao Jonas
72524e1f3b dont mutate inventory vars 2014-05-27 19:07:58 -05:00
James Cammarata
061911c9c2 Merge pull request #7558 from dermute/pkg_mgr
added solaris fact detection for ansible_pkg_mgr
2014-05-27 16:23:31 -05:00
James Cammarata
e99df21647 Support checking for su user to atomic_move
Fixes #7553
2014-05-27 16:04:02 -05:00
James Cammarata
fa86eef9f9 Make sure value in regex_replace is a string
Fixes #7551
2014-05-27 14:30:12 -05:00
James Cammarata
ca734fde8b Merge pull request #7544 from rik2803/patch-2
Differentiate machinfo output key/val separator
2014-05-27 13:53:12 -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
Alexander Winkler
4980e76a3a added solaris fact detection for ansible_pkg_mgr 2014-05-27 06:40:47 +00:00
Brian Coca
8f58ae3305 changed exception handling for hashable test 2014-05-26 08:52:57 -04:00
rik2803
cfcbc954f5 Differentiate machinfo output key/val separator
get_hw_facts for HP-UX: machinfo in HP-UX B.11.23 uses '=' as separator between key and value, while B.11.31 uses ':'.
2014-05-26 07:56:46 +02:00
Yang Liping
aedf134fc4 Fix portability issue when checking local facts file permission. 2014-05-26 10:55:32 +08:00
James Cammarata
92f16b3d6f Merge pull request #7539 from jimi-c/issue_7503_freebsd_su_fixes
Fixes for su on freebsd
2014-05-25 15:09:58 -05:00
Brian Coca
0dce5dae26 set theory v2, now can handle non hashable items like dicts 2014-05-25 13:20:55 -04:00
James Cammarata
e0c4c51c1f Merge pull request #7517 from amenonsen/double-error
Don't double (or triple) up common error messages
2014-05-23 14:06:12 -05:00
James Cammarata
d77a6965b3 Merge module_vars into inject during template instead of updating
This way we won't overwrite values that are stored in the inject
with module_vars that should be lower precedence.

Fixes #7510
2014-05-23 13:36:45 -05:00
Abhijit Menon-Sen
f6792b724a Don't double (or triple) up common error messages
process_common_errors() was called thrice, each time appending to the
existing error message, and leading to confusing repetition in the
message that was finally displayed.

Fixes #7498
2014-05-23 21:05:42 +05:30
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
Nick Irvine
6b70ee23ab Clean non-printable chars from stdout instead of dropping the whole thing 2014-05-21 19:24:28 -07:00
James Cammarata
32628eef85 Merge pull request #7481 from jimi-c/issue_7396_env_lookup
Don't use listify_ function, when all we want to do is template variable...
2014-05-21 15:02:35 -05:00
WAKAYAMA shirou
56880b76bb fix UnicodeEncode error when using pause module with unicode prompt. 2014-05-22 00:21:14 +09:00
WAKAYAMA shirou
346bb611c7 fix UnicodeEncodeError when prompt is unicode. 2014-05-21 23:43:19 +09:00
James Cammarata
e36a8d466e Don't re-query inventory when trimming failed/dark hosts
Since the filter list contains hosts, passing that back to list_hosts()
in the inventoy causes issues when the hostname is an IPv6 address
(with :'s interpreted as group unions). Since we already have the list
of hosts, we should not need to pass that back through inventory a
second time.

Fixes #7446
2014-05-20 14:58:37 -05:00
James Cammarata
365bfd732e Don't use listify_ function, when all we want to do is template variables
This was causing a bug in the env module, due to the fact that we now
pass variables for the module through the templating engine combined
with the fact that we split-up the hostvars and setup variables. As a
result, if a variable in the env lookup had the same name as the variable
in Ansible, it would try and template itself over and over again until
the recursion limit would be hit, at which time an empty string was
returned.

Fixes #7396
2014-05-20 13:39:23 -05:00
James Cammarata
0ac74aaf59 Also set the environment variables when resetting the locale to C 2014-05-19 23:22:46 -05:00
James Cammarata
1f0be3753d Merge pull request #7412 from bellkev/fix_skip_dir_inventory_extensions
Fix skip dir inventory extensions
2014-05-19 23:14:22 -05:00
James Cammarata
d44ed533b3 Default use_proxy to True for fetch_url()
Also added some error handling to the fetch_url() call in the
apt_repository module, so that failures to look up the PPA info
are properly handled.

Fixes #7322
2014-05-19 23:04:13 -05:00
James Cammarata
08406c0ee2 Adding the capability to proxy the ssl cert check
The ssl cert check will now respect the http and https proxy
environment settings. The url may also have the username/password
embedded, in which case basic auth will be used to connect to the
proxy server.

Fixes #7413
2014-05-19 16:00:32 -05:00
Matt Martz
0e953c2863 Add run_once task key
This caused the task to act like  bypass host loop plugin and
execute only on a single host. Can be used with delegate_to
2014-05-19 12:33:47 -05:00
James Cammarata
285d9878ae Reset locale to 'C' if the specified one is invalid
Fixes #7448
2014-05-19 10:26:06 -05:00
Kevin Bell
92bd755b47 Fixed extension filtering in InventoryDirectory 2014-05-14 23:43:14 -07:00
James Cammarata
df877f2e79 Check module_path permissions when creating ssh_wrapper for git
If the module directory is not writable/executable to the current user
(most likely because of a sudo to a non-root user), the ssh_wrapper
will be created in the default location for mkstemp() calls. To facilitate
the deletion of these new files, a new mechanism for cleaning up files
created by the module was also added.

Fixes #7375
2014-05-14 21:22:22 -05:00
Michael DeHaan
3b8a35d65e Merge pull request #7406 from specnazzz/fix-python24
Fix known_hosts.py to work on older versions of python
2014-05-14 18:31:27 -04:00
James Cammarata
79731ce491 Evaluate changed_when only if task is not skipped
Fixes #7405
2014-05-14 16:04:37 -05:00
Michal Mach
60451c20ab Fix known_hosts.py to work on older versions of python 2014-05-14 22:36:32 +02:00
James Cammarata
7faecd54b0 Merge pull request #7388 from jimi-c/issue_7384_vars_files_include
Pass vars_files on to included playbooks too
2014-05-14 14:52:33 -05:00
James Cammarata
a9311a5dcb Merge branch 'file_new_dirs_perms' of https://github.com/bcoca/ansible into bcoca-file_new_dirs_perms 2014-05-14 13:53:08 -05:00
James Cammarata
56515a38d5 Only chown on atomic move if the uid/gid don't match the src/tmp file
This is a corner case for remote file systems that don't support
chown() and where the source and destination for the atomic_move
are on that remote file system.

Fixes #7372
2014-05-14 09:59:12 -05:00
James Cammarata
525e7339ed Merge branch 'pass-basedir-to-runner-on-setup' of https://github.com/ByteInternet/ansible into ByteInternet-pass-basedir-to-runner-on-setup 2014-05-14 09:46:47 -05:00
James Cammarata
85bd6810bb Pass vars_files on to included playbooks too
Fixes #7384
2014-05-14 08:37:47 -05:00
Allard Hoeve
c5833f9869 Add missing basedir to Runner in _do_setup_step 2014-05-14 15:22:02 +02:00
James Cammarata
360ffc4dfd Properly merge role conditionals in with pre-existing conditionals
Fixes #7387
2014-05-14 01:45:35 -05:00
James Cammarata
187619c7fe Use utils.combine_vars on vars_files data
Fixes #7345
2014-05-13 11:24:41 -05:00
James Cammarata
809b931640 Merge pull request #7382 from jimi-c/issue_7366_synchronize_inventory_dir
Do not base synchronize source on the inventory directory
2014-05-13 11:05:19 -05:00
Marco Re
712f4a631c Update ssh.py
Convert to string to fix runtime error due to string concat in self.common_args += ["-o", "User="+self.user] when ansible_ssh_user is numeric
2014-05-13 11:29:19 +02:00
Chris Church
d725636469 Correctly initialize combined_cache for hosts if setup is skipped
Fixes #7364
2014-05-12 13:48:11 -05:00
James Cammarata
38c2c60849 Do not base synchronize source on the inventory directory
Fixes #7366
2014-05-12 12:02:38 -05:00
James Cammarata
fd27afdc0d Adding ansible_shell_type and basic environment construction on it
Previously we assumed the shell on the target systems were 'sh'-
compliant when formatting environment variables preceding command
strings. This patch corrects that by basing the target shell type
on the DEFAULT_EXECUTABLE setting, which can be overridden on a
per-host basis using the inventory variable 'ansible_shell_type'.

Fixes #7352
2014-05-09 16:29:56 -05:00
James Cammarata
9b9b4d50fe Merge pull request #7058 from jkleckner/fix-vars_prompt-when-default-False
Fix #7057 missing False default for vars_prompt
2014-05-09 00:29:31 -05:00
James Cammarata
51ef28b0d2 Merge branch 'warn_wrong_sudo_password' of https://github.com/tyll/ansible into tyll-warn_wrong_sudo_password 2014-05-08 14:16:58 -05:00
James Cammarata
2e2e5d5321 Use the existing module_vars during the templating of module_vars
Since some of the vars contained in there may be used in the templating
of other variables. This also reverts e83a494 which originally fixed
issue #6979 but broke some other variable related things.

Fixes #6979
Fixes #7321
Fixes #7332
2014-05-08 13:09:36 -05:00
James Cammarata
77a47dbb2d Merge pull request #7304 from jimi-c/issue_7296_synchronize_relative_path
Make sure dwim'd relative path ends in a "/" if the original does
2014-05-07 12:58:04 -05:00
James Cammarata
393124e462 Add pyc/pyo to ignore list for inventory directories
Fixes #7308
2014-05-07 09:59:13 -05:00
Brian Coca
8a84b22d76 bumped to 1.7 2014-05-06 23:43:07 -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
4d118d1c72 Make sure dwim'd relative path ends in a "/" if the original does
Fixes #7296
2014-05-06 13:54:41 -05:00
James Cammarata
56d070afa8 Version bump for 1.7 2014-05-05 16:37:46 -05:00
James Cammarata
fd03cc04e6 Merge branch 'devel' of https://github.com/denisphillips/ansible into denisphillips-devel 2014-05-05 09:22:01 -05:00
Veeti Paananen
d6f4d9b76d Fix error handling on missing dest with unarchive
fixes #7107
2014-05-04 18:22:00 +03:00
Denis Phillips
cd0134d290 Used module_args passed to function instead of from runner 2014-05-04 08:49:12 -04: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
deb532c367 Remove OrderedDict references from runner
Fixes #7256
2014-05-02 12:52:36 -05:00
James Cammarata
54b1f820fb Modify the way we set the localization environment
Previously, we set the LANG (and LC_CTYPE) environment variables
directly in the module code and applied them with os.environ().
Instead, we are now pre-pending those variables to the environment
string used to execute the command which allows the user to
override the localization values by setting the environment values
directly (even on a per-task basis):

  - subversion: repo=file:///path/to/repos/svn_über dest=/tmp/svntest
    environment:
      LANG: "C"
      LC_CTYPE: "en_US.UTF-8"

So if a user wishes to default their LANG back to C, they can still
avoid unicode issues by doing the above.

Fixes #7060
2014-05-01 10:34:53 -05:00
James Cammarata
40a7a306f5 Merge pull request #7236 from jcassee/robust-ssl-cert-concat
Make concatenating certs robust in urls.py
2014-04-30 15:48:13 -05:00
James Cammarata
8e45fa9b63 Moving display-related functions to new module in utils 2014-04-30 15:33:46 -05:00
Joost Cassee
978e6d2cd6 Make concatenating certs robust in urls.py
Add a newline after each certificate file explicitly to avoid problems
with files that do not end with a newline themselves.
2014-04-30 21:46:37 +02:00
James Cammarata
6069ff6e9e Adding a new system_warnings config option to supress warnings 2014-04-30 14:44:10 -05:00
James Cammarata
30e4759055 Merge pull request #7208 from jf/copy-module
Fix "no_log=True" option for copy module (fixes #7193)
2014-04-29 16:11:23 -05:00
James Cammarata
be4e6d359f Merge branch 'delegate_to_honor_ssh_private_key_file' of https://github.com/renard/ansible into renard-delegate_to_honor_ssh_private_key_file 2014-04-29 15:05:09 -05:00
James Cammarata
4cadcccc48 Catch pycrypto warning about gmp and show a nice warning on stderr 2014-04-29 14:28:14 -05:00
Jeffrey 'jf' Lim
0bf1a27393 Fix "no_log=True" option for copy module (fixes #7193) 2014-04-30 02:24:16 +08:00
Jiri Barton
9da06274a8 Set proper file permisions when a file is created with atomic_move
Fixes #7196
2014-04-29 08:41:22 -05:00
Michael DeHaan
9a6998aa17 While this code is unused, this remote module copy of this function should not be carried around in the source code. 2014-04-29 08:12:11 -04:00
Logos01
424ee36e05 Enable facts module on older SuSE systems
Modified logic of distribution_release for SuSE to retain the last discovered key/value pair's value in /etc/SuSE-release that contains a '=' character.
2014-04-28 14:37:23 -07:00
James Cammarata
1576e8d611 Adding missing options to the file documentation fragment 2014-04-28 15:31:24 -05:00
Brian Coca
c5d5481ebb added doc noting the change in behaviour 2014-04-27 09:37:44 -04:00
Cédric RICARD
b8b0865ec0 Missing 'base64' import 2014-04-25 00:11:27 +02:00
Michael DeHaan
ad04b455d3 add missing license header 2014-04-24 10:31:04 -04:00
James Cammarata
117952cf6c Fixing a bug in the new fetch_url username/password logic 2014-04-24 00:44:39 -05:00
James Cammarata
b9d8b3b911 Merge pull request #7132 from jimi-c/issue_6601_hide_vault_yaml
Hide YAML content on syntax errors when a vault password is specified
2014-04-24 00:28:12 -05:00
James Cammarata
89fa9b7305 Add parameters to get_url for the url username/password
Fixes #6928
2014-04-24 00:26:50 -05:00
James Cammarata
e9d8f0639f Merge pull request #7143 from sivel/ansible-sudo-from-root-fix
Allow sudo to another user from root with the ansible command
2014-04-23 21:11:39 -05:00
James Cammarata
460794d697 Merge pull request #7140 from jimi-c/issue_6962_traceback_callbacks_unicode
Fix handling of non-JSON lines in responses
2014-04-23 19:53:42 -05:00
Matt Martz
eb8759176f Allow sudo to another user from root 2014-04-23 16:14:48 -05:00
James Cammarata
5e598c5337 Fix handling of non-JSON lines in responses
Garbage lines with ' = ' in them were causing parsing errors,
where key=val lines should not have spaces around the equals.

Fixes #6962
2014-04-23 15:17:31 -05:00
James Cammarata
38b49476f8 Merge branch 'raw-script-su-support' of https://github.com/sivel/ansible into sivel-raw-script-su-support 2014-04-23 10:02:13 -05:00
James Cammarata
93b5769d94 Hide YAML content on syntax errors when a vault password is specified
Fixes #6601
2014-04-23 09:23:07 -05:00
Michael Scherer
0f0f5ff1ce Give more information when a task is empty
I made a typo in a playbook and was great by:

    ERROR: expecting dict; got: None

The issue was a single - on the last line of a playbook.
With the name of the file, I was able to see right away where the
error was.
2014-04-23 13:13:46 +02:00
James Cammarata
e83a494e41 Make sure VARS_CACHE for hosts are updated with the play vars too
Fixes #6979
2014-04-22 14:42:43 -05:00
James Cammarata
a6068b09ac Fix collision in random filter name by merging functionality
Merges the functionality of the original jinja2 random filter with
the one we provide.

Fixes #7113
2014-04-22 14:21:00 -05:00
James Cammarata
c115c34a1f Set the default LANG to en_US.UTF-8 and also set LC_CTYPE
Fixes #6737
2014-04-22 00:48:32 -05:00
Brian Coca
c3e559b914 should now work with versions older than 8.4 2014-04-21 21:00:58 -04:00
faust64
78b9a11ccf Update facts.py
Fixes #7093 --devel
2014-04-21 19:44:47 +02:00
James Cammarata
68c30548e0 Properly catch and decode unicode strings in module _log_invocation()
Fixes #7084
2014-04-21 11:33:23 -05:00
James Cammarata
4f673b9497 Merge pull request #7083 from mscherer/better_message_multiple_action
Improve error message when multiple action are given
2014-04-21 10:53:55 -05:00
James Cammarata
39c6141b4a Merge pull request #7082 from bcoca/freebsd_mtu_fix
fixed issue with FreeBSD network facts
2014-04-21 10:53:22 -05:00
James Cammarata
086b877719 Merge pull request #7079 from mscherer/fix_error_whitespace_in_config
Clean a bit more the ssh_args configuration
2014-04-21 10:43:31 -05:00
James Cammarata
54f86099e4 Merge pull request #7078 from mscherer/fix_error_message_controlpersist
Enhance error message about missing ControlPersist
2014-04-21 10:41:58 -05:00
Michael Scherer
1e34e95ba0 Improve error message when multiple action are given
This can be illustrated using this playbook:

    - command: id
      delegate_to: "{{ remote_server }}"
      user: "{{ remote_user }}"

The error is to use 'user' instead of 'remote_user', but the error message
do not really mention it, so it can be a bit hard to spot.
2014-04-20 20:32:33 +02:00
Brian Coca
e5f297697a ifconfig changed on FreeBSD, tested this on 8,9 and 10 latest stable
versions and it now works
2014-04-19 22:03:30 -04:00
Brian Coca
bc23926f42 fixed ETIME issue on FreeBSD 8 through 10, which broke all fact
gathering
2014-04-19 21:42:56 -04:00
Michael Scherer
c87afc1109 Clean a bit more the ssh_args configuration
If someone add ssh_args = " " to his .ansible.cfg, it will result into
strange failure later :

    <server.example.org> ESTABLISH CONNECTION FOR USER: misc
    <server.example.org> REMOTE_MODULE ping
    <server.example.org> EXEC ['ssh', '-C', '-tt', '-q', ' ', '-o', 'KbdInteractiveAuthentication=no',
    '-o', 'PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey', '-o', 'PasswordAuthentication=no',
    '-o', 'ConnectTimeout=10', 'server.example.org', "/bin/sh -c 'mkdir -p /tmp/ansible-tmp-1397947711.21-5932460998838
    && chmod a+rx /tmp/ansible-tmp-1397947711.21-5932460998838 && echo /tmp/ansible-tmp-1397947711.21-5932460998838'"]
    server.example.org | FAILED => SSH encountered an unknown error during the connection. We recommend you re-run the
    command using -vvvv, which will enable SSH debugging output to help diagnose the issue

The root cause is the empty string between -q and -o, who kinda break mkdir.
2014-04-20 00:47:00 +02:00
Michael Scherer
3a09c99811 Enhance error message about missing ControlPersist
ansible_ssh_args is good for playbook, but in the ~/.ansible.cfg
file, it should be ssh_args in a specific section.
2014-04-20 00:35:10 +02:00
James Cammarata
ae29e43f93 Merge branch 'issue_7009_nfs_selinux' into devel 2014-04-18 22:21:03 -05:00
James Cammarata
a32dd34359 Make sure HostVars object is instantiated before assigning it
Fixes #7006
2014-04-18 16:23:01 -05:00
Jim Kleckner
46ec238613 Fix #7057 missing False default for vars_prompt
The test for default should be "is not None" since a boolean value of
False is a valid value.

See discussion at:
  https://groups.google.com/forum/#!topic/ansible-project/oc1_zE-FnyI
2014-04-18 12:04:11 -07:00
James Cammarata
75e0b7a5cf Make sure umask is set restrictively before creating any vault files 2014-04-18 13:38:59 -05:00
James Cammarata
3715482d7c Determine selinux context for NFS mount points correctly
Fixes #7009
2014-04-18 09:39:58 -05:00
Sébastien Gross
22d6572270 Honor ansible_private_key_file for delegated hosts
If a delegated host is not found in the inventory specified
private_key_file for primary host was not used.

This allows running playbooks without having to define any inventory at
all and to use the same ssh private key for both primary host and
delegated one.
2014-04-18 01:48:02 +02:00
Wim
6ed4ca97a8 hint to install python-ssl on redhat systems 2014-04-18 00:07:07 +02:00
smoothify
48bf7a000d Try to pass in item to on_skippped callback. 2014-04-16 15:40:07 +01:00
James Cammarata
d240d073eb Changing SSL cert detection method to allow for auto-negotiation of SSL protocols
Fixes #6904
2014-04-15 13:45:21 -05:00
James Cammarata
23c5f4524d Make sure args in run_command are encoded for shlex.split calls on py2.6 2014-04-15 13:04:41 -04:00
James Cammarata
d494a163f9 Merge pull request #6900 from jimi-c/issue_6891_cifs_mount_hang
Add a timeout decorator for timing out functions that may hang
2014-04-15 11:21:29 -05:00
James Cammarata
ba1a6c2e11 Removing .orig file merged in accidentally 2014-04-15 10:58:53 -05:00
James Tanner
aad128bac7 Use combined cache for templating module vars
Fixes #6901
2014-04-15 10:56:48 -05:00
James Cammarata
40b958e348 Don't turn complex args back into a k=v string for the synchronize module
Fixes #6951
2014-04-14 16:35:16 -05:00
James Cammarata
2cc4ac2e75 Catch traceback caused by permissions errors during a local md5 sum
Fixes #6948
2014-04-14 12:41:21 -05:00
Aaron Iles
a5507275cb Fix localhost tasks with complex executables
Enable the use of executable commands that use command line options with
the localhost command runner. These commands require parsing out the
base executable from the command string to pass to subprocess.
2014-04-14 22:15:39 +10:00
jctanner
bfb25f4f89 Merge pull request #6917 from bcoca/random_filter_clean
simple random filter
2014-04-10 15:15:05 -04:00
jctanner
af99abc81c Merge pull request #6913 from willthames/aws_module_doc_fragments
Use common module document fragments for AWS modules
2014-04-10 14:58:14 -04:00
James Tanner
4eb626825b Refactor play._update_vars_files_for_host to make common functions and easier debugging
Fixes #4883
2014-04-10 13:43:59 -04:00
Brian Coca
80cd217eb7 simple random filter 2014-04-09 09:03:38 -04:00
willthames
509561f658 Moved AWS modules over to common module fragments
Created common module doc fragment, and applied to all
modules that use ec2_connect or connect_to_aws as
they definitely share the common doc fragments
2014-04-09 21:19:12 +10:00
James Cammarata
5ce6c86595 Merge branch 'sudo_pass_typo' of https://github.com/tyll/ansible into tyll-sudo_pass_typo 2014-04-08 14:52:42 -05:00
James Cammarata
eebc72ab9b Add a timeout decorator for timing out functions that may hang
Fixes #6891
2014-04-08 13:21:42 -05:00
James Tanner
2d33cd1b5d Fixes #6894 add missing file and remove debug line 2014-04-08 13:22:23 -04:00
James Tanner
68cd7258b6 Fixes #6894 create docs fragment for files 2014-04-08 13:20:15 -04:00
Serge van Ginderachter
d240e2b9fb Introduce an ansible_version dict as runner variable
Given the version:
    "1.6 (ansible_version_var 14499e8bf3) last updated 2014/03/21 17:07:50 (GMT +200)"

  We get the special variable:
    "ansible_version": {
        "full": "1.6",
        "major": 1,
        "minor": 6,
        "revision": 0,
        "string": "1.6 (ansible_version_var 14499e8bf3) last updated 2014/03/21 17:07:50 (GMT +200)"
       }

	modified:   lib/ansible/playbook/__init__.py
	modified:   lib/ansible/runner/__init__.py
	modified:   lib/ansible/utils/__init__.py
2014-04-08 17:14:42 +02:00
James Cammarata
9ca8c3262c Switch module safe_eval to ast.literal_eval 2014-04-08 09:05:07 -05:00
James Tanner
318e752b6f Fixes #6845 evaluate changed_when only if task is not skipped 2014-04-07 10:51:04 -04:00
Michael DeHaan
ccdd91f9c2 Merge pull request #6861 from ericlake/devel
add distribution_major_version to fact gathering
2014-04-05 15:12:40 -04:00
James Tanner
5a65dc3b6a Fixes #6820 fix erroneous missing vault password error when using the template module 2014-04-04 13:06:35 -04:00
Eric Lake
7f9736198a add distribution_major_version to fact gathering 2014-04-04 11:41:20 -05:00
Serge van Ginderachter
e36e2d38fe InventoryDir: another fix for the host.groups list
In some cases, where a host is mentioned in multiple groups, and those
groups are referenced in multiple ini files, a group could still contain
multiple instances of a group in its host,groups list, where only one of them
is the right group, that exists in the inventory.
2014-04-04 09:27:44 +02: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
Michael DeHaan
2c7275e8a9 Merge pull request #6835 from sivel/version-compare-filter
Add version_compare filter
2014-04-03 17:07:05 -04:00
Michael DeHaan
0a574af270 Merge pull request #5555 from sivel/expose-playbook-to-callback
Expose the playbook to callback plugins
2014-04-03 17:01:28 -04:00
Michael DeHaan
1fa19e29e8 Use common file argument system previously implemented by @sivel for rax modules on the file modules as well (copy/file/template).
Application to other cloud providers would make very good sense.
2014-04-03 16:52:39 -04:00
Matt Martz
7b5f89ec7c Use PluginLoader for module docs fragments 2014-04-03 16:52:39 -04:00
Matt Martz
bb6f7a267a Add support for shared module documentation fragments 2014-04-03 16:52:39 -04:00
James Cammarata
ee0a0b492b Allow isprintable() util function to work with unicode
Fixes #6842
2014-04-03 15:29:51 -05:00
James Tanner
cdc0819939 Fixes #6088 turn off sudo and su if the connection is local the sudo user matches the current user 2014-04-03 12:02:51 -04:00
jctanner
2a9fcdd87c Merge pull request #6711 from j2sol/raw-unreachable
Treat 255 errors from raw as dark host
2014-04-03 11:16:54 -04:00
jctanner
f6db60cbce Merge pull request #6787 from tyll/pull_ssh_prompt
ssh: propagate prompt to _communicate()
2014-04-03 09:55:17 -04:00
Matt Martz
5770428e91 Add version_compare filter 2014-04-02 20:21:30 -05:00
James Cammarata
317c2f4bc0 Fixes to variable issues introduced by recent changes
Fixes #6801
Fixes #6832
2014-04-02 19:49:38 -05:00
Harlan Lieberman-Berg
876b8085aa Add directory_mode to common file parameters to prevent errors. 2014-04-02 17:41:39 -04:00
Michael DeHaan
904f331210 Merge pull request #6788 from tyll/pull_ssh_verbose_comments
ssh connection plugin: Make comments more verbose
2014-04-02 17:24:16 -04:00
James Cammarata
a6a4680e5c Fix variable naming issue in _load_tasks()
Fixes #6800
2014-04-02 16:13:22 -05:00
James Cammarata
6f34a6336f Differentiate decryption failures from empty data files in ansible-vault
Fixes #6822
2014-04-02 15:52:08 -05:00
BoscoMW
39fcbd1f10 Update ssh.py 2014-04-02 15:57:54 +03:00
BoscoMW
165406cf35 Catch permissions errors related to opening a known_hosts file
Catch permissions errors related to opening a known_hosts file
2014-04-02 13:42:07 +03:00
James Cammarata
e2d86e4f43 Splitting SETUP_CACHE into two caches, one for host vars and one for setup facts 2014-04-01 16:23:33 -05:00
James Cammarata
a4df906fc9 Fixes to safe_eval 2014-04-01 16:23:22 -05:00
Tim G
c307a73e28 Check for errors from adb, may not work on all systems. 2014-04-01 22:36:19 +10:00
Tim G
285d4f3fa6 If memory not available in syslog.log, catch error, attempt to find it with adb 2014-04-01 21:55:29 +10:00
Till Maas
e6cb32f284 ssh connection plugin: Make comments more verbose
Explain _communicate() more.
2014-04-01 09:46:51 +02:00
Till Maas
1da69309e5 ssh connection plugin: Report missing sudo password
If no password is provided, sudo hangs at the prompt. Identify this and
report that the password is missing as an error.
2014-04-01 09:36:59 +02:00
Till Maas
2cae7472ad ssh: propagate prompt to _communicate()
_communicate() uses the prompt variable to detect wrong passwords early,
therefore it needs to be passed to it from exec_command().
2014-04-01 09:24:44 +02:00
James Cammarata
612a1a64f0 Apply extra vars after all other vars have been merged in a play
Fixes #6677
2014-03-31 15:31:10 -05:00
James Cammarata
b9c044b8c9 Making the exception caught during os.dup of stdin explicit
Related to f23bb34
2014-03-31 13:50:23 -05:00
James Cammarata
f23bb344aa Catch errors when duping stdin
Fixes #6657
2014-03-31 13:38:12 -05:00
James Cammarata
4f140be711 Merge branch 'devel' of https://github.com/Synforge/ansible into Synforge-devel 2014-03-31 13:04:56 -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 Tanner
2492c2714a Fixes #5307 set relative paths to the files dir for roles and the inventory dir for non-role tasks 2014-03-31 12:25:40 -04:00
Till Maas
b07113f358 ssh: Properly check for wrong su password 2014-03-31 15:51:12 +02:00
GuiGui2
b9613665dd Setup module: Additional facts when using ansible with Linux on System z
- Improved parsing of /proc/cpuinfo to take the specifics of Linux on
System z. ansible_processor and ansible_processor_cores are now
completed.
- Also improved virtualization facts in the same environment, parsing
the output of /usr/bin/lscpu to populate virtualization_type and
virtualization_role more precisely. If lscpu is not available, then
stick to the previous behavior.
2014-03-31 15:30:12 +02:00
James Cammarata
b698f7a44b Add option to create host_key directory if it doesn't exist
Fixes #6731
2014-03-30 01:34:33 -05:00
Matt Martz
7e3dd1066c Allow raw and script to support su 2014-03-28 16:46:31 -05:00
Michael DeHaan
a6b25e8657 Allow type=list module arguments to accept integers and floats. 2014-03-28 11:19:49 -04:00
Michael DeHaan
9921f804f9 Merge pull request #6643 from herbygillot/fact-full-hostname
Add a fact providing the full hostname, without the domain portion
2014-03-27 17:09:34 -04:00
Cristian Ciupitu
96ff1444f0 Micro-optimization: replace s.find(x)==0 with s.startswith(x)
timeit shows a speedup of ~1.4x on Python 2.7.5 x86_64.
It also makes the code a bit shorter.
2014-03-27 20:35:20 +02:00
Cristian Ciupitu
1eaf85b89f Micro-optimization: replace s.find(x)!=-1 with x in s
timeit shows a speedup of ~3x on Python 2.7.5 x86_64.
It also makes the code a bit shorter.
2014-03-27 20:35:20 +02:00
Paul Oyston
1942a69ed2 Added template call to _executor_internal to allow the passing of arbitrary data to modules. 2014-03-27 17:06:20 +00:00
Jesse Keating
3315ba0b99 Treat 255 errors from raw as dark host
Any other module is able to detect a dark host, but raw was treating 255
as a return code from the module execution, rather from the connection
attempt. This change allows 255 to be treated as a connection failure
when using the raw module.
2014-03-26 16:40:50 -07: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 Tanner
88462729aa Addresses #6708 fill in missing keywords for ssh.py _communicate 2014-03-26 15:55:54 -04:00
jctanner
7dc3dc5279 Merge pull request #6708 from sivel/put-file-control-master
Share p.communicate alternative logic between exec_command and put_file
2014-03-26 15:02:14 -04:00
James Cammarata
e09313120c Make async jid's unique per host
The jid will now also contain the PID of the async_wrapper process,
and can each unique jid from each host is tracked rather than just
relying on one global jid per task.

Fixes #5582
2014-03-26 13:48:47 -05:00
James Tanner
38de8cc87e Addresses #6705 Only set the role_uuid inside the role vars 2014-03-26 14:43:07 -04:00
Matt Martz
b8cb23d309 Share p.communicate alternative logic between exec_command and put_file 2014-03-26 13:41:33 -05:00
James Tanner
8991e403e8 Fixes #6705 Give each role a unique uuid and apply tags only to tasks matching the uuid 2014-03-26 13:29:41 -04:00
James Cammarata
9ede6f7f49 Convert gather_facts to a boolean value if it is not None
Fixes #5618
2014-03-26 12:04:06 -05:00
James Tanner
2a976ac313 Fixes #5059 Ignore lookup failures when templating a task name 2014-03-26 11:28:43 -04:00
Serge van Ginderachter
b0ff1ea425 performance optimisation in hash merge logic
rewrite deepcopy in util.merge_hash and just iterate
on an inventory with 500 groups and 800 hosts this brings back the
inventory initialisation from 13s to 3s (with hash_behaviour=merge)
2014-03-26 11:37:31 +01:00
Serge van Ginderachter
d4634983f0 Move group/host_vars parsing into core inventory
modified:   lib/ansible/inventory/__init__.py
	deleted:    lib/ansible/inventory/vars_plugins/group_vars.py
	modified:   lib/ansible/utils/__init__.py
2014-03-26 11:37:26 +01:00
James Cammarata
7a3fa63db5 Fix for unicode environment variable handling
Fixes #5395
2014-03-25 20:45:04 -05:00
Serge van Ginderachter
f8ea93c732 Move inventory.set_playbook_basedir from ansible-playbook to playbook constructor 2014-03-25 22:12:01 +01:00
Serge van Ginderachter
cc28fd891b Introduce noop vars plugin.
In preparation to move the group_vars plugin code into core.

	new file:   lib/ansible/inventory/vars_plugins/noop.py
2014-03-25 22:12:01 +01:00
Serge van Ginderachter
f6a55a3552 Refactor vars_plugins (host/group_vars)
Split out parsing of vars files to per host and per group
parsing, instead of reparsing all groups for each host. This enhances
performance.

Extend vars_plugins' API with two new methods:
* get host variables: only parses host_vars
* get group variables: only parses group_vars for specific group
The initial run method is still used for backward compatibility.

Parse all vars_plugins at inventory initialisation, instead of
per host when touched first by runner. Here we can also loop through
all groups once easily, then parse them.
This also centralizes all parsing in the inventory constructor.

	modified:   bin/ansible
	modified:   bin/ansible-playbook
	modified:   lib/ansible/inventory/__init__.py
	modified:   lib/ansible/inventory/vars_plugins/group_vars.py
2014-03-25 22:12:01 +01:00
James Tanner
3194fbd365 Fixes #6655 catch unicode encoding errors before sending to syslog 2014-03-25 16:07:12 -04:00
jctanner
7b8d1c0ffd Merge pull request #6580 from ramondelafuente/fix-vault-editor-call
Changed call to EDITOR to allow for parameters
2014-03-25 15:48:59 -04:00
Ramon de la Fuente
c79c001bfb Changed call to EDITOR to allow for parameters
The EDITOR environment variable is used to create and edit files in the vault.
But if the EDITOR variable contains parameters, subprocess.call() breaks.

This fixes the EDITOR environment variable to be safely split into a list.
It adds a dependency on shlex.
2014-03-25 20:29:03 +01:00
James Cammarata
c9bf7eb9bb Don't run {failed|changed}_when checks until async_status is done
Fixes #5117
2014-03-25 14:18:47 -05:00
James Cammarata
4ea12c1b86 Make sure stat of dest is available in atomic_move
Fixes #6682
2014-03-25 14:03:21 -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
Michael DeHaan
3eecc039b9 Merge pull request #6656 from Jmainguy/setup
Added ansible_date_time.weekday as a fact. This returns Monday,Tuesday,W...
2014-03-25 13:32:57 -04:00
James Cammarata
8c7828d469 Tweaking error message resulting from undefined template variables
Fixes #5114
2014-03-25 11:56:55 -05:00
James Cammarata
846933dd53 Make inventory parsing error detection smarter
If something is executable but doesn't look like it should be, or if
something is NOT executable and DOES looks like it should, show a
more apropos error with a hint on correcting the problem

Fixes #5113
2014-03-25 11:41:00 -05:00
Michael DeHaan
a062912a1f Merge pull request #6658 from pilou-/fix_fix
'changed' key is not defined when task fails
2014-03-25 11:49:18 -04:00
Michael DeHaan
9be732d8f2 Merge pull request #6679 from renard/fix-simplejson-module
Fix TypeError when using old simplejson lib.
2014-03-25 11:28:10 -04:00
Herby Gillot
94297950a0 Name platform.node() fact as "nodename" 2014-03-25 11:20:19 -04:00
James Tanner
ebd1f70c5d Typo in setting task_errors variable 2014-03-25 10:35:05 -04:00
Sébastien Gross
ef6b437d0d Fix TypeError when using old simplejson lib.
On some very old simplejson does not support the 'encoding' and give
following exception:

   TypeError: __init__() got an unexpected keyword argument 'encoding'

This fix runs json.dump with no encoding key (such as before #a023cb) on
TypeError exception only.
2014-03-25 14:50:29 +01: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
Serge van Ginderachter
188375171e Inventory: raise error when adding a group that already exists.
The parsers check if a group already exists.
2014-03-25 12:45:00 +01:00
Serge van Ginderachter
be58808fe4 inventory script parser: do not add all the groups to *all* group 2014-03-25 12:45:00 +01:00
Serge van Ginderachter
0ceefbbf29 inventory ini parser: do not add all the groups to *all* group
but only those with lowest depth, so we keep a proper tree structure
2014-03-25 12:45:00 +01:00
Serge van Ginderachter
cc8efb4aab inventory groups: make sure group.depth is updated on all grandchildren 2014-03-25 12:45:00 +01:00
Serge van Ginderachter
1c86909875 inventory group: add groups to parent_groups only once 2014-03-25 12:45:00 +01:00
Serge van Ginderachter
36f55d3549 inventory directory parser: add host to group only once 2014-03-25 12:45:00 +01:00
Serge van Ginderachter
8b215149d4 inventory directory parser: add groups to parent_groups non-recursively 2014-03-25 12:45:00 +01:00
Serge van Ginderachter
262ba0460a inventory directory parser: add hosts to group non-recursively 2014-03-25 12:45:00 +01:00
James Tanner
605156c904 Fixes premature handler execution after adding force-handlers 2014-03-25 00:20:11 -04:00
James Cammarata
bc93732b1d Catch permissions errors related to opening a known_hosts file in modules
Fixes #6644
2014-03-24 16:32:31 -05:00
James Cammarata
dc658eaa1c Check to make sure the host is in the inventory vars cache before clearing it
Fixes #6660
2014-03-24 15:59:43 -05:00
James Cammarata
db345391e3 Fixing ownership when atomic_move is creating a file while sudo'ing
Fixes #6647
2014-03-24 15:10:43 -05:00
Pierre-Louis Bonicoli
c76501b8a3 'changed' key is not defined when task fails
fix KeyError introduced by fix of #6591.
2014-03-24 19:31:52 +01:00
Jonathan Mainguy
b17b5ad85b Added ansible_date_time.weekday as a fact. This returns Monday,Tuesday,Wednesday,Thursday,Friday,Saturday, or Sunday depending on the remote servers time. Useful for backups the way I use it 2014-03-24 13:43:00 -04:00
James Cammarata
bb723bedee Merge branch 'atomic_move_restore_owner_group_rebase' of https://github.com/tyll/ansible into tyll-atomic_move_restore_owner_group_rebase 2014-03-24 09:34:51 -05:00
James Tanner
9169a11088 Fixes #4777 add --force-handlers option to run handlers even if tasks fail 2014-03-24 10:28:48 -04:00
Herby Gillot
c0886a5f3a Add a fact providing the full hostname, without the domain portion
truncated.
2014-03-23 21:59:47 -04:00
Michael DeHaan
fba2f1f9a9 Merge pull request #6639 from fvieira/devel
Add missing sha1 import on known_hosts.py
2014-03-23 16:23:55 -04:00
Michael DeHaan
a24d3f78d9 Merge pull request #6634 from pilou-/fix
Remove print statements
2014-03-23 16:12:04 -04:00
James Cammarata
31628d86a1 Adding in a configurable option for the accelerate daemon timeout
This was apparently an oversite, as it has never been configurable
despite having a module parameter for the timeout.
2014-03-23 14:45:49 -05:00
James Cammarata
3ea5d573aa Acclerate improvements
* Added capability to support multiple keys, so clients from different
  machines can connect to a single daemon instance
* Any activity on the daemon will cause the timeout to extend, so that the
  daemon must be idle for the full number of minutes before it will auto-
  shutdown
* Various other small fixes to remove some redundancy

Fixes #5171
2014-03-23 14:45:49 -05:00
Francisco José Marques Vieira
e9d7476c28 Add missing sha1 import on known_hosts.py 2014-03-23 17:19:23 +00:00
Pierre-Louis Bonicoli
d3a470db0c Remove print statements
"print item" raises an exception when type of item is
jinja2.runtime.StrictUndefined
2014-03-23 03:58:44 +01:00
James Tanner
5b3b9ba267 Addresses #4407 Caculate failed percentage based on serial and number of hosts in play 2014-03-21 13:31:47 -04:00
Michael DeHaan
d0cbb51170 Merge pull request #6615 from 8191/devel
Addresses #6591 Hide diff for lineinfile if file did not change.
2014-03-21 10:46:29 -04:00
Manuel Faux
b8158f5f6a Addresses #6591 Hide diff for lineinfile if file did not change. 2014-03-21 08:40:38 +01:00
Joshua Conner
1c504eff68 etcd lookup: use $ANSIBLE_ETCD_URL if it exists in the env 2014-03-20 15:16:28 -07:00
James Tanner
14499e8bf3 Fixes #4325 allow async and poll parameters to be templated vars 2014-03-20 16:09:58 -04:00
James Tanner
ea5186ca63 Fixes #6590 add set_remote_user parameter to synchronize
This allows usage of custom ssh configs for remote hosts where
the inventory user does not match the configured user.
2014-03-20 13:56:07 -04:00
James Tanner
95c79ad483 Fixes #4239 merge injects with new vars loaded from files 2014-03-20 13:12:33 -04:00
James Tanner
d327e3d11a Fixes #5622 included tasks in roles now inherit tags from the role 2014-03-20 11:56:13 -04:00
Till Maas
898a38b074 module_utils/atomic_move(): Use tempfile module
Fix a potential race condition by using the tempfile module.
2014-03-20 12:34:19 +01:00
Till Maas
8f778a83df module_utils/atomic_move(): Restore owner/group
Manually restore owner and group if both src and dest are on a separate
file system.
2014-03-20 12:34:19 +01:00
Michael DeHaan
e639b5382b Change default gathering policy, add to docs. 2014-03-19 18:03:03 -04:00
Brian Coca
18adf07fc6 changed setting values and updated docs 2014-03-19 18:03:03 -04:00
Brian Coca
4dfa40f18e added gathering control to ansible, defaults to 'smart' 2014-03-19 18:03:03 -04: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
James Tanner
b8f627d1d5 Prevent rewriting the encrypted file if decryption fails 2014-03-19 16:31:03 -04:00
James Tanner
e71857fbdf Addresses #6579 Only strip vault passwords if given 2014-03-19 16:08:35 -04:00
James Tanner
8c2e1e2baa Addresses #6579 Disallow vault passwords with newline characters by stripping them in utils 2014-03-19 15:56:14 -04:00
James Cammarata
a9000e7f3a Making the error messages for bad key/dir permissions more understandable
Fixes #6254
2014-03-19 14:09:03 -05:00
Matt Martz
2aaecc5afa Fix logic in process_common_errors for unbalanced quotes 2014-03-19 13:49:31 -05:00
James Cammarata
4880cfb5ea Merge pull request #6568 from sivel/ssl-cert-validation-osx
Make SSL verification on Mac OS X work out of the box
2014-03-19 13:45:45 -05:00
James Tanner
67517e96d3 Fixes #6567 put the git wrapper script in the module temp dir 2014-03-19 10:30:10 -04:00
Matt Martz
1d3d73a0b6 Only write the DUMMY_CA_CERT on OS X 2014-03-19 09:01:13 -05:00
Matt Martz
3b5aa8bd30 Provide a dummy ca to allow OS X to do it's OpenSSL keychain magic 2014-03-18 17:16:44 -05:00
James Cammarata
eb7717aa02 Make sure all tags are in a list before merging for role deps
Fixes #6557
2014-03-18 12:32:22 -05:00
James Cammarata
c9fcbf7bdd Change print message to vvv for missing known hosts in ssh.py 2014-03-18 12:26:10 -05:00
James Tanner
49807877fa Fixes #6550 Use shell for pipe lookup subprocess.popen calls 2014-03-18 12:21:26 -04:00
James Cammarata
3f5440f7df Make modules set a valid working directory
Fixes #6546
2014-03-18 10:37:52 -05:00
James Cammarata
84908a57fc Don't filter role deps on tags
Also, fixed a bug where the tags were being merged into the wrong
data structure (passed_vars) in _build_role_dependencies()

Fixes #6439
Fixes #5709
2014-03-17 23:03:16 -05:00
Michael DeHaan
9da26da335 Merge branch 'ini_vars' of git://github.com/dmage/ansible into devel 2014-03-17 17:37:57 -04:00
Michael DeHaan
13f69dad05 Merge pull request #6527 from patrickheeney/hosts-bug
Fix for hostkey directory
2014-03-17 17:35:27 -04:00
Michael DeHaan
94e3350b38 Catch a unquoted line error. Fixes #6532 2014-03-17 17:15:42 -04:00
jctanner
b8d5ba42f5 Merge pull request #6523 from sergevanginderachter/vault-in-subdirs
Pass through vault_password when parsing host/group vars as directories.
2014-03-17 17:06:41 -04:00
James Cammarata
c4f1c3c6b0 Merge branch 'bcoca-file_fixes_clean' into devel 2014-03-17 16:02:33 -05:00
James Tanner
ad70e9bcd6 Fixes #6227 skip non-unicode strings and catch decode errors silently in template_from_string 2014-03-17 16:54:25 -04:00
James Tanner
20262b6c15 Remove unused variable in _executor_internal 2014-03-17 15:53:48 -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 Cammarata
7edee91aba Fixing a bug in role tag handling where only the first tag was used
Fixes #6517
2014-03-17 11:28:54 -05:00
James Tanner
ebb6b8442b Catch unicode unescape failures in copy action plugin 2014-03-17 12:14:29 -04:00
patrickheeney
a9aab23f11 Fix for hostkey directory 2014-03-17 09:00:08 -07:00
James Tanner
b14c658532 Fix concatenation for with_file 2014-03-17 10:38:22 -04:00
Serge van Ginderachter
280498a7e5 Pass through vault_password when parsing host/group vars as directories.
Fixes a bug where vault_password parameter was not passed through in
_load_vars_from_folder()

modified:   lib/ansible/inventory/vars_plugins/group_vars.py
2014-03-17 10:51:04 +01:00
Greg Dallavalle
77229553a3 fetch_url: Avoid credential stripping for FTP-scheme URLs 2014-03-16 20:41:03 -05:00
Michael DeHaan
fe696e4720 Merge commit. 2014-03-16 17:08:26 -04:00
Michael DeHaan
b41541c62a Merge conflict. 2014-03-16 16:48:03 -04:00
Michael DeHaan
fd0ff6f174 Merge pull request #5711 from sivel/plugin-realpath
Use realpath for plugin directories instead of abspath
2014-03-16 15:42:47 -05:00
Michael DeHaan
6144c5e1e2 Merge pull request #5714 from eggsby/patch-2
Allow templates in ansible_sudo_pass inventory var
2014-03-16 15:42:12 -05:00
Michael DeHaan
b0dbc61d63 Move facts to 'module_utils' so they can be referenced by other modules. Note unlike other module_utils/ dirs this keeps the original
license -- so usage of facts code in modules will be limited to GPLv3 modules.
2014-03-16 16:12:02 -04:00
Michael DeHaan
b8f1e4f765 Merge pull request #6134 from veeti/include_with_items_path
Show the offending file name with the include + with_items error
2014-03-16 15:10:31 -05:00
Michael DeHaan
4a06954a13 Merge pull request #6390 from sergevanginderachter/group-varsdirs-svn
group_vars plugin: do not parse hidden files in subfolders
2014-03-16 14:44:17 -05:00
Michael DeHaan
9cdbc53741 Merge pull request #6420 from bcoca/role_names
added new role_names variable that exposes current roles list
2014-03-16 14:42:40 -05:00
Michael DeHaan
26efc7ace8 Revert "Populate module_setup from the setup module rather than special code elsewhere"
This reverts commit 58eec2e4c2.
2014-03-16 14:11:43 -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
a9896afc66 Merge pull request #6418 from bcoca/template_itnore_errors
templates ignore_errors
2014-03-16 12:44:51 -05:00
Michael DeHaan
d5856bd475 Merge pull request #6391 from sergevanginderachter/hashmerge_inventoryscripts
Allow hash_behaviour=merge to be respected in core inventory
2014-03-16 12:42:35 -05:00
Dag Wieers
58eec2e4c2 Populate module_setup from the setup module rather than special code elsewhere
This small change allows for individual setup actions to populate the SETUP_CACHE and not cause a subsequent facts-gathering when not needed. This follows the standard of other facts modules as laid out in #1206 and implemented in fedfd18774. It allows to test of the setup module has already been run even when gather_facts was explicitely disabled.
2014-03-16 13:37:07 -04:00
Michael DeHaan
3d44f7cd51 Merge pull request #6217 from ashokrajar/patch-1
pause plugin doesn't flush raw_input prompt
2014-03-16 12:32:58 -05:00
Cristian Ciupitu
0749112286 Micro-optimization: replace s.find(x)!=-1 with x in s
timeit shows a speedup of ~3x on Python 2.7.5 x86_64.
It also makes the code a bit shorter.
2014-03-16 13:10:28 -04:00
Cristian Ciupitu
a7da5d8702 Micro-optimization of inventory.expand_hosts.detect_range 2014-03-16 13:10:28 -04:00
brdo
3963a64a4f Set keepalive to 5 seconds in paramiko_ssh.py
This update resolves https://github.com/ansible/ansible/issues/6476.
2014-03-15 11:18:47 -07: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
a0cb974575 Be sure to return to the old directory if cwd is set in run_command 2014-03-13 16:24:29 -05:00
James Tanner
a348f67238 Reset the current directory after running subprocess.Popen 2014-03-13 17:15:23 -04:00
James Cammarata
677008bef7 Rejoin args list into a string for run_command when using an unsafe shell
This allows the use of an args list with leading environment variables,
which otherwise would fail due to the way Popen works.
2014-03-13 14:31:32 -05:00
James Cammarata
5233d4bc31 Fix typo in run_command when sending data that is not binary 2014-03-13 14:28:51 -05:00
James Cammarata
b1a37dcc08 Revert "Rejoin args list into a string for run_command when using an unsafe shell"
This reverts commit 4273cb2d8e.
2014-03-13 14:04:51 -05:00
James Cammarata
4273cb2d8e Rejoin args list into a string for run_command when using an unsafe shell
This allows the use of an args list with leading environment variables,
which otherwise would fail due to the way Popen works.
2014-03-13 13:51:59 -05:00
Michael DeHaan
d1753046e0 Revert "Correctly catch template errors without returning invalid data"
This reverts commit 3cd7d47b7e.
2014-03-13 07:46:19 -04:00
James Cammarata
303e085f8b Only use cwd in run_command kwargs if the directory exists 2014-03-12 15:59:55 -05:00
James Cammarata
60a7f57300 Make sure the cwd exists in run_command before trying to use it 2014-03-12 14:33:31 -05:00
Dan Koch
bbf320fd22 Work around for cwd stat problems with run_command and sudo
This fixes issue #6443
2014-03-12 14:59:50 -04:00
James Cammarata
2c7d58abe0 Compile ca certs into a temp file to reduce number of attempts
For those who may have a large number of certs found, this can reduce
the number of ssl connections attempted.
2014-03-12 13:45:16 -05:00
Michael DeHaan
d37f0c6d12 Use same implementation as ssh.py for "is in host file" checks in module code, prevents git module from adding keys more than once. 2014-03-12 14:11:45 -04:00
Michael DeHaan
6d841d120e Don't process shell commands as arrays. 2014-03-12 11:57:28 -04:00
James Cammarata
86d2ee4b97 Don't append tags from roles to the plays tags list
Fixes #6393
2014-03-12 10:41:18 -05:00
James Cammarata
a9017af2bb Adding validate_certs to all modules that use fetch_url 2014-03-12 10:19:54 -05:00
Michael DeHaan
cfabc2e28a module.run_command is intended to bypass the shell here, so can't do ">>" 2014-03-12 10:57:49 -04:00
James Cammarata
7f38cff989 Remove unused code from get_ca_certs() function 2014-03-12 09:33:19 -05:00
James Cammarata
804e4166c8 Rewriting ssl validation to try multiple certs found in paths
Previously, the function checked only for a single CA root cert, however
some distributions may have multiple certs in a directory. This will now
try any .crt or .pem file contained within several common paths for
each platform.

Fixes #6412
2014-03-12 09:21:19 -05:00
Michael DeHaan
0b0ca95731 Expand environment variables and tildes passed to commands generically across the board. 2014-03-12 10:11:09 -04:00
James Tanner
0e38f5dfdc Check for hash availability during vault operations 2014-03-12 09:38:29 -04:00
Brian Coca
906e59d8a8 added new role_names variable that exposes current roles list 2014-03-11 22:13:29 -04:00
Brian Coca
7778aca966 templates ignore_errors 2014-03-11 21:30:58 -04:00
James Cammarata
6c25e78299 Merge branch 'devel' of https://github.com/dparalen/ansible into dparalen-devel 2014-03-11 15:34:15 -05:00
James Tanner
e4e64a9699 Rename lxc to libvirt_lxc 2014-03-11 16:16:24 -04:00
James Cammarata
bca6adc812 Merge pull request #4064 from mscherer/lxc
Add a plugin that permit to use ansible for lxc system, using libvirt
2014-03-11 15:12:51 -05:00
James Cammarata
430cce9df3 Merge branch 'ec2_security_token' of https://github.com/willthames/ansible into willthames-ec2_security_token 2014-03-11 10:45:38 -05:00
Serge van Ginderachter
6b1cb22fc3 Allow hash_behaviour=merge to be respected in core inventory
(For now, this means, enable it also for inventory scripts)
2014-03-11 12:49:54 +01:00
Serge van Ginderachter
29c60bdaff group_vars plugin: do not parse hidden files in subfolders, e.g. avoid .svn/ 2014-03-11 12:20:58 +01:00
James Tanner
6740a1f342 Wrap crypto.hash imports with try/except 2014-03-10 19:44:08 -04:00
Michael DeHaan
411bcb7161 Merge remote branch 'real/devel' into devel 2014-03-10 19:11:21 -04:00
Michael DeHaan
2fa6110961 Update the message about pycrypto to include that python-devel must be installed. 2014-03-10 17:23:37 -04:00
James Tanner
0d6f6ad282 Implement new default cipher class AES256 2014-03-10 16:15:44 -05:00
Michael DeHaan
20f0157152 Merge pull request #6378 from franckcuny/headers-gce-utils
Add BSD license to module_utils/gce.py
2014-03-10 16:14:51 -05:00
James Tanner
ba0fec4f42 Force command action to not be executed by the shell unless specifically enabled 2014-03-10 16:13:30 -05:00
James Cammarata
9730157525 Validate SSL certs accessed through urllib*
* Adds another module utility file which generalizes the
  access of urls via the urllib* libraries.
* Adds a new spec generator for common arguments.
* Makes the user-agent string configurable.

Fixes #6211
2014-03-10 16:06:52 -05:00
James Cammarata
6577ff5f85 Add tags from handlers to tag availability calculation 2014-03-10 16:06:13 -05:00
Richard Isaacson
4993cb57f4 Merge pull request #6283 from magicrobotmonkey/upstream
fix missing stdin in _parallel_runner

Tested with GIST https://gist.github.com/risaacson/7290d30a612e0c70ea1b.
Passes "make tests"
Passes non_destructive tests.
2014-03-10 14:38:56 -05:00
Franck Cuny
82f99bfa3d Add BSD license to module_utils/gce.py 2014-03-10 12:02:45 -07:00
Matt Martz
4b400ca5e9 Only used stripped data for testing if the file is json, but used unstripped when actually parsing. Fixes #6348 2014-03-10 13:43:34 -05:00
Seth Woodworth
1d5db30067 Updates loop warning, removes unnecessary c 2014-03-09 00:19:28 -05:00
James Cammarata
04a6dc6d12 Check for skipped tags in passed role variables before adding to them
Fixes #6330
2014-03-08 18:55:42 -06:00
Michael DeHaan
d2cb35f898 Merge pull request #6320 from angstwad/instance-redo
Use isinstance() rather than a check using type()
2014-03-07 20:41:33 -06:00
James Cammarata
4753804ab4 Merge pull request #6332 from jimi-c/issue_6329_space_in_var
Correctly catch template errors without returning invalid data
2014-03-07 17:38:47 -05:00
James Cammarata
e3b887f770 Fix range issue in inventory and add additional error checking
Fixes #6331
2014-03-07 16:34:04 -06:00
James Cammarata
3cd7d47b7e Correctly catch template errors without returning invalid data
Fixes #6329
2014-03-07 14:36:54 -06:00
James Cammarata
f80d02d841 Properly wrap logical elements together for su/sudo detection 2014-03-07 00:07:10 -06:00
James Cammarata
b6056044b7 Partial revert of 73c883c due to issues with handlers in roles
Fixes #6322
2014-03-06 21:13:40 -06:00
Michael DeHaan
e486dbab04 Use the loaded variable since we have it assigned, not just for error detection. 2014-03-06 22:15:21 -05:00
Michael DeHaan
3f07ec3d73 Fixup JSON error reporting in previous commits. 2014-03-06 22:07:35 -05:00
Michael DeHaan
a4d01b0891 Also search .json filenames 2014-03-06 21:47:49 -05:00
Michael DeHaan
79799f6819 Allow any file that can be in YAML to also be in JSON. This is primarily done to support non-visual editors better. 2014-03-06 21:42:51 -05:00
James Cammarata
a0f939581d Merge branch 'aresch-devel' into devel 2014-03-06 16:47:06 -06:00
Paul Durivage
3cce3650e5 Use isinstance() rather than a check using type() 2014-03-06 16:16:25 -06: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 Cammarata
9b79591f23 Merge branch 'devel' of https://github.com/aresch/ansible into aresch-devel 2014-03-06 15:17:55 -06:00
James Cammarata
2a0028e687 Sanitize run_command argument output
Fixes #6316
2014-03-06 13:34:22 -06:00
Andrew Resch
4d80019ac8 Fix logic checking for both sudo and su, and their respective users 2014-03-06 10:24:16 -08: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
James Cammarata
9f2999df79 Un-escape newlines in delimiters for assemble module 2014-03-06 09:44:56 -06:00
Brian Coca
79809b67dc fixed another line with same issues
Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
2014-03-06 08:43:24 -05:00
Brian Coca
d3d5680d8f tags lists are properly uniqued and joined now, also avoids type issues when passed as list/set or strings
Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
2014-03-06 08:28:36 -05:00
Will Thames
b9a7352e0a Work to allow security tokens and profiles to work with Ansible
Allow security tokens and profiles to be used as arguments
to the 'common' ec2 modules

Mostly refactoring to provide two new methods,
`get_aws_connection_info`, which results in a dict that can be
passed through to the boto `connect_to_region` calls, and
`connect_to_aws` that can pass that dict through to the
`connect_to_region` method of the appropriate module.

Tidied up some variable names

Works around boto/boto#2100

profiles don't work with boto < 2.24, but this detects for that
and fails with an appropriate message. It is designed to work
if profile is not passed but boto < 2.24 is installed.

Modifications to allow empty aws auth variables to be passed
(this is useful if wanting to have the keys as an optional
parameter in ec2 calls - if set, use this value, if not set,
use boto config or env variables)

Reworked validate_certs improvements to work with refactoring

Added documentation for profile and security_token to affected modules
2014-03-06 16:28:30 +10:00
James Cammarata
0e98496e12 Merge pull request #6299 from jimi-c/issue_4656_role_deps_across_plays
Keep track of role dependencies across plays
2014-03-05 19:46:46 -06:00
Michael DeHaan
94a7fb60fe Allow escaped comments in inventory files. 2014-03-05 20:10:25 -05:00
aresch
23a0468a4b Fix respecting remote_tmp when sudo is used 2014-03-05 16:25:42 -08:00
James Tanner
4e8ed92130 Fixes #6077 decode escaped newline characters in content for the copy module 2014-03-05 18:49:54 -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
James Cammarata
73c883c122 Keep track of role dependencies across plays
Also fixes a bug in which tags specified on top-level roles were
not being passed down to dependent roles.

Fixes #4656
2014-03-05 14:37:37 -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
38abd5e20e Break this out into a reusable function and document regex shortcomings. 2014-03-05 10:50:58 -06:00
Luca Berruti
7cf363910a fixes #6244 2014-03-05 09:18:01 +01:00
jctanner
40ee030790 Merge pull request #6265 from franckcuny/gce-fixes
Add credential parameters to the GCE modules.
2014-03-05 00:11:52 -05:00
Franck Cuny
6294264dc4 Add credential parameters to the GCE modules.
In order to simplify the workflow with the GCE modules, it's now
possible to add the parameters and project name as arguments to the
various GCE modules.

The inventory plugin also returns the IP of the host in
`ansible_ssh_host` so that you don't have to specify IPs into the
inventory file.

Some update to the documentation are also added.

Closes #5583.
2014-03-04 19:27:49 -08: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
Aaron Bassett
5c589af191 fix missing stdin in _parallel_runner 2014-03-04 16:00:26 -05:00
Richard Isaacson
92aacb198c Merge pull request #6156 from iiordanov/devel
Add support for checking host against global known host files.

The effect of this is that before this fix if files are spread across the known_hosts file but not in the ~/known_hosts file the hosts will execute sequentially. This PR augments the functionality so that all of the knowns hosts will execute in parallel.
2014-03-03 23:51:51 -06:00
Richard Isaacson
e79d859dfb Merge pull request #6213 from sergevanginderachter/fix-delegate-templating
Fixes templating of ansible_ssh_host for delegates.

Tested that this works. Confirmed.
2014-03-03 23:10:09 -06:00
Michael DeHaan
435104065e Merge pull request #6248 from hkariti/fix_list_copy
Fix incorrect use of copy() on list, causing a traceback
2014-03-03 17:11:30 -05: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
James Tanner
623cd9ac50 Revert "Merge pull request #6250 from dagwieers/gather_facts-once"
This reverts commit b769b4181a, reversing
changes made to 1e01fb856d.
2014-03-03 10:20:42 -05:00
Dag Wieers
0da06eff5c Fix regression causing setup to run for every play
This patch makes sure setup only runs once, unless it is enforced on a play.
2014-03-03 16:15:19 +01:00
Hagai
0e4b38ed5a Fix incorrect use of copy on list 2014-03-03 14:47:57 +02:00
Tefnet
c652802d29 missing import in assert module
Fixed missing ansible.errors import in assert module
2014-03-02 00:59:17 +01:00
Michael DeHaan
16d3be03af Remove a few extra legacy variable feature references. 2014-02-28 18:51:15 -05: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
9d01d88a57 Bump versions on the devel branch (devel branch version is 1.6) 2014-02-28 18:27:16 -05:00
Michael DeHaan
5443ddec75 Trim references to fireball as we want folks using accelerate or pipelining options. Fireball is pretty well deprecated at this point, but will still be part of the release. 2014-02-28 13:50:39 -05:00
James Cammarata
79645535c0 Handle empty results from failed connections in _remote_md5()
Fixes #5800
2014-02-28 12:50:03 -06:00
Gilles Cornu
04f6367172 Fully clean 'ssh_old' and 'paramiko_alt' options
These transports have been removed in 33857855ad
2014-02-28 18:28:04 +01:00
Ashok Raja R
cb3c6417dd pause plugin doesn't flush raw_input prompt
##### Issue Type:

Bugfix Pull Request

##### Ansible Version:

ansible 1.4.3

##### Environment:

N/A

##### Summary:

We are using a wrapper python script to run ansible-playbook. We use subprocess to execute and print the stdout as and when its written. Problem is when we use pause it doesn't display the prompt string as raw_input does not flush stdout before reading from stdin.

It looks like a dirty fix to add "\n" to the prompt string but i don't see any other way to over come this. If anyone else have a better fix please do propose/suggest.

##### Steps To Reproduce:

```yaml
#File: test_play.yml
- name: Test
  hosts: $nodes
  gather_facts: false

  tasks:
    - name: Waiting for User
      local_action: pause prompt="Do you want to continue (yes/no)? "
```

```python
#!/usr/bin/env python
#File: test.py
import shlex, subprocess

def run_process(process):
    process = process.encode("utf-8")
    command = shlex.split(process)
    p = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
    for line in iter(p.stdout.readline, b''):
        print line,

cmd = "/usr/bin/python -u /usr/bin/ansible-playbook -i hosts.txt test_play.yml -e 'nodes=local'"
run_process(cmd)
```

```
shell $ python test.py
```

##### Expected Results:
```
PLAY [Test] *******************************************************************

TASK: [Waiting for User] ******************************************************
[localhost]
Do you want to continue (yes/no)? :
```

##### Actual Results:
```
PLAY [Test] *******************************************************************

TASK: [Waiting for User] ******************************************************
[localhost]
```
2014-02-28 11:28:38 +05:30
James Cammarata
df9de6ea71 Expand the source path in the action plugin when not using a remote source
Fixes #6209
2014-02-27 12:50:35 -06:00
Serge van Ginderachter
9833263417 Fixes templating of ansible_ssh_host for delegates 2014-02-27 18:06:34 +01:00
James Cammarata
c11e2100e0 Save the original transport in runner after detecting the smart transport
Fixes #6192
2014-02-27 10:30:50 -06:00
Michael DeHaan
cd7d7eb1bc Merge pull request #6202 from muffl0n/unarchive_destdir
unarchive: output dest in error-message
2014-02-27 10:36:10 -05:00
muffl0n
17946b23d5 output dest in error-message 2014-02-27 13:29:26 +01:00
Richard C Isaacson
9c8bbe2904 column must always be less than len(probline)
Fixes related to GH-5773.
2014-02-26 16:28:34 -06:00
James Cammarata
14ba10393b Minor tweak to region config in boto configuration file 2014-02-26 15:40:33 -06:00
James Cammarata
88acb48e61 Merge branch 'ec2_boto_config_region' of https://github.com/willthames/ansible into willthames-ec2_boto_config_region 2014-02-26 15:32:05 -06:00
James Cammarata
2a383786dd And remove the expanduser calls from the action_plugin 2014-02-26 15:29:00 -06:00
Richard C Isaacson
585766201d When looking for double colon len(line) is longer then 1.
Addresses GH-5116.

It comes up that when parsing json that if you are missing the last double quote on the last variable and the next line is just '}' we will get an out of range error. In this instance we will also then make sure that the line is long enough to have two colons.
2014-02-26 14:25:56 -06:00
James Cammarata
b758ed9417 Merge pull request #6150 from hkariti/fix_join_bug
Fix incorrect use of .join on list causing a traceback
2014-02-26 12:50:07 -06:00
James Cammarata
96f1c3ce2e Move where the expanduser call is made, to avoid issues with None 2014-02-26 12:33:17 -06:00
James Cammarata
e659d55d62 Merge branch 'devel' of https://github.com/muffl0n/ansible into muffl0n-devel 2014-02-26 12:28:26 -06:00
James Cammarata
5ff20c1ae7 Merge branch 'scottanderson42-ec2-params' into devel 2014-02-26 11:38:36 -06:00
James Tanner
baed7a0ed9 Fixes #6187 Add unit tests for VaultLib 2014-02-26 12:10:09 -05:00
Michael DeHaan
33857855ad removing some unusued files. Paramiko alt was an experiment to attempt pipeline for paramiko, ssh_old is the non-pipelining-supported earlier
version of the OpenSSH transport, which is configurable now and unified.
2014-02-26 11:26:52 -05:00
James Tanner
35def422a3 Addresses #6188 Add --vault-password-file to bin/ansible and bin/ansible-playbook 2014-02-26 11:01:03 -05:00
James Cammarata
8a7c68dc18 Merge branch 'ec2-params' of https://github.com/scottanderson42/ansible into scottanderson42-ec2-params
Conflicts:
	lib/ansible/module_utils/ec2.py
	library/cloud/ec2
2014-02-26 09:37:26 -06:00
Richard C Isaacson
af616fe15e Rename flatten funciton.
flatten(x) is used a lot in the various lookup plugins where in each it is slightly different. This is to make this name slightly more unique.
2014-02-25 14:59:06 -06:00
Kent R. Spillner
1fcc9ff666 lookup_plugins: loop over hashes
Create a lookup plugin named dict that can be used to loop over hashes.
It converts a dict into a list of key-value pairs, with attributes named
"key" and "value."  Also adds a brief explanation and simple example to
the docs.

Signed-off-by: Kent R. Spillner <kspillner@acm.org>
2014-02-25 11:20:15 -06:00
James Tanner
876035c0b1 Fixes #6161 Get the delegate host info properly from the hostvars object 2014-02-25 11:18:06 -05:00
James Tanner
9209581565 Fixes #6155 Inject checkmode into synchronize module args 2014-02-25 08:58:58 -05:00
James Cammarata
a18f811b2d Merge branch 'jimi-c-issue_4620' into devel 2014-02-24 21:38:55 -06: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 Tanner
0f95a905d9 Fixes #5965 Ensure the inject for each item in a loop is un-altered 2014-02-24 20:54:26 -05:00
Iordan Iordanov
a1854bb762 Add support for checking host against global known host files. 2014-02-24 16:05:03 -05:00
James Cammarata
3b2d409906 Fixing several bugs in assemble and updating tests
Bugfixes:
* the remote_src param was not being converted to a boolean correctly,
  resulting in it never being used by the module as the default behavior
  was remote_src=True (issue #5581)
* the remote_src param was not listed in the generic file params, leading
  to a failure when the above bug regarding remote_src was fixed
* the delimiter should always end with a newline to ensure that the file
  fragments do not run together on one line

Fixes #5581
2014-02-24 14:27:23 -06:00
jctanner
8a253bf576 Merge pull request #6151 from jctanner/vault_rewrite
Vault rewrite, pass 1
2014-02-24 14:54:01 -05:00
jctanner
93c746db9c Merge pull request #5651 from nikut/sshfix
allow ansible_ssh_private_key_file to be templated (thanks to benno)
2014-02-24 14:26:48 -05:00
James Tanner
9c9f15acb7 Fix decryption error 2014-02-24 13:20:27 -05:00
James Tanner
52a8efefba Vault rewrite, pass 1 2014-02-24 13:09:36 -05:00
Hagai
ae9c0d87a9 Fix incorrect use of .join on list 2014-02-24 19:48:55 +02:00
Richard C Isaacson
8be8dbc9ed Formatting cleanup. 2014-02-24 11:11:47 -06:00
Richard C Isaacson
aaf0a182e1 Merge remote-tracking branch 'jeromew/ansible_script_creates' into issues_4986 2014-02-24 10:16:39 -06:00
Veeti Paananen
dd6f2e6bfa Show the offending file name with the include + with_items error 2014-02-23 20:51:57 +02:00
Michael DeHaan
9686695170 Assume empty files are unencrypted. 2014-02-21 21:06:04 -05:00
James Tanner
4af1d6098b Fixes #5939 Allow for delegate hosts that are not in inventory 2014-02-21 15:54:09 -05:00
James Cammarata
fa1ab231c9 Fixing bug in which playbook vars were not merged properly
This occurred when a hash would be passed in via extra args and the
hash variable behavior was set to 'merge', which resulted in the
variable from extra args replacing the playbook variable.
2014-02-20 15:25:52 -05:00
Michael DeHaan
bc65956798 Add tests that leverage most of our custom filters. A few more to add. 2014-02-20 15:24:03 -05:00
James Cammarata
f5505425f9 Adding 'expanduser' filter to the core filters list
Example usage: {{ my_path | expanduser }} # my_path: "~/path/to/file"
2014-02-20 13:48:07 -05:00
James Cammarata
ef2df8157a Fixup result dictionary when copy module calls file module 2014-02-19 18:05:59 -05:00
muffl0n
b0f00cc097 already call expanduser in action_plugin 2014-02-19 21:41:57 +01:00
muffl0n
5f0e882d01 call expanduser for src and dest 2014-02-19 21:30:53 +01:00
root
0df166e7c0 Copy tests WIP, fix bug in assert module upgrades where the wrong value was being checked. 2014-02-19 14:36:54 -05:00
James Cammarata
54117ab28f Modified assert module to take tests as an array 2014-02-19 14:05:03 -05:00
James Tanner
bee089d5e1 Remove entropy comment 2014-02-19 13:36:20 -05:00
James Tanner
86b9f84fb9 Change entropy message for vault 2014-02-19 13:31:01 -05:00
Richard Isaacson
dc403eb21e Merge pull request #6058 from jctanner/vault_squashed_2
Ansible vault: a framework for encrypting any playbook or var file.
2014-02-19 11:39:55 -05:00
James Tanner
3a965a1392 Remove intermediate string on decrypt 2014-02-19 11:35:00 -05:00
James Tanner
286ca505bd Remove breakpoint 2014-02-19 11:08:02 -05:00
James Tanner
84467a8f12 Change retype to confirm 2014-02-19 11:06:53 -05:00
James Tanner
aa46ab1d86 Fix function name 2014-02-19 11:05:08 -05:00
James Tanner
3fc87e011b Fix all other calls to yaml 2014-02-19 11:01:21 -05:00
James Cammarata
b6222abee6 Fix unicode decode error in syslog for modules
Fixes #6056
2014-02-19 09:42:01 -05:00
James Tanner
427b8dc78d Ansible vault: a framework for encrypting any playbook or var file. 2014-02-18 15:35:12 -05:00
Richard C Isaacson
1ac19cb981 Copy action_plugin: encode content when dict.
When content is processed and found to be valid JSON it is decoded into a dict. To write it out to a file we need to encode it back into a string.

Addresses GH-5914.
2014-02-18 13:23:44 -06:00
James Cammarata
f29ce80d12 Default port to 22 for paramiko when it is unset 2014-02-18 09:53:24 -06:00
James Cammarata
92cbfff904 Merge branch 'sshdefault' of https://github.com/craigtracey/ansible into craigtracey-sshdefault 2014-02-18 09:44:19 -06:00
jeromew
7a14cb61c4 Add creates= and removes= to the script: action 2014-02-18 12:52:09 +00:00
Niku Toivola
6cc9b16f06 allow templating of ansible_ssh_private_key_file also in the synchronize module 2014-02-18 11:32:33 +02:00
Niku Toivola
2faaff78ee removed comment 2014-02-18 11:32:06 +02:00
Niku Toivola
68a3e8163e allow ansible_ssh_private_key_file to be templated (thanks to benno) 2014-02-18 11:32:05 +02: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
0cfaabf9cb Make sure unicode params don't break logging in modules 2014-02-17 13:37:48 -06:00
James Cammarata
788ac51185 Sanitize sudo success_key from stdout for raw/script modules
Fixes #5533
Closes #5605
Closes #5606
Closes #5607
2014-02-17 12:47:47 -06:00
Richard C Isaacson
80ddd1ca75 Config resoution order correction and documentation. 2014-02-14 14:34:58 -06:00
James Cammarata
4012f4bb95 Merge branch 'allow-equals-in-ini-vars' of https://github.com/worklez/ansible into worklez-allow-equals-in-ini-vars 2014-02-14 10:39:14 -06:00
James Cammarata
faa645c834 Merge pull request #6001 from jimi-c/issue_4087_sanitize_output
Filter out messages that match the pattern username:password@host
2014-02-14 09:54:05 -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
Chris Hoffman
affed67ebd Small fix for ec2 validate_certs option 2014-02-13 16:30:31 -05:00
James Cammarata
b8646991db Filter out messages that match the pattern username:password@host
This filtering is done in both the module invocation logging and in
the regular verbose() logging output.

Fixes #4087
2014-02-13 14:23:49 -06:00
James Cammarata
056d54ebd3 Adding 'validate_certs' option to EC2 modules
When disabled, the boto connection will be instantiated without validating
the SSL certificate from the target endpoint. This allows the modules to connect
to Eucalyptus instances running with self-signed certs without errors.

Fixes #3978
2014-02-13 12:32:49 -06:00
Brian Coca
31b5728618 directory detection should now work on BSDs, added AIX alternate path 2014-02-13 08:23:56 -05:00
James Cammarata
254f87e7dd Fix log handling of unicode output to syslog in modules 2014-02-12 11:27:52 -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
Richard C Isaacson
e6c9705058 Merge remote-tracking branch 'pib/unarchive_remote' into pull_5136 2014-02-11 22:55:34 -06:00
James Cammarata
a023cbce14 When using jsonify in modules, try several unicode encoding for dumps()
Fixes #4821
2014-02-11 14:19:40 -06:00
James Tanner
9ce46e5f41 Refactor the synchronize action plugin and add unit tests 2014-02-10 23:39:17 -05:00
James Cammarata
3f90020d62 Open LOG_LOCK file with FD_CLOEXEC to prevent file descriptor leakage
Fixes #5399
2014-02-10 15:51:52 -06:00
James Cammarata
bbda98a3ee Merge branch 'issue_4812' into devel 2014-02-10 13:35:53 -06:00
James Cammarata
bb79b16d59 Specify mode in the makedirs call for fireball/accelerate keys 2014-02-10 13:27:43 -06:00
James Cammarata
65cb79a5c1 Merge branch 'devel' of https://github.com/xyrix/ansible into xyrix-devel 2014-02-10 13:18:59 -06:00
Scott Anderson
baf508a379 Change standard AWS access and secret key parameter names to aws_access_key and aws_secret_key. Fixes an authentication problem with the rds module and standardizes the naming convention on something more encompassing than ec2_*_key. 2014-02-08 18:35:26 -05:00
Richard C Isaacson
786e3d2fd2 Refining the fix made in #5885.
It turns out that some of the assumptions in #5885 were slightly off. The previous fix relied on a call to the module to creat a tmp_path. This is insufficent as there are few cases that we need to have the tmp directory before we make the module call. If we don't have a tmp_path before we do a recursive call or when we find a file that does not match the remote md5 hash we need to create a tmp directory. Also we are not more percise when we will need to clean up the remote tmp_path.
2014-02-08 02:25:42 -06:00
Michael DeHaan
1609dfbca4 Revert "Revert "Revert "Add the fork manager code (related to previous patch)."""
This reverts commit 60d3611b70.
2014-02-07 20:38:24 -05:00
Michael DeHaan
633d685bb7 Revert "Revert "Revert "This patch makes Ansible reuse fork allocation between seperate instantations of the runner API, therefore the overhead of recreating forks"""
This reverts commit 73ca1a173c.
2014-02-07 20:38:20 -05:00
Michael DeHaan
ad8c275887 Revert "While the previous work on the foon class can't be quite recycled, it's still a nice abstraction."
This reverts commit caab52aee2.
2014-02-07 20:38:18 -05:00
Michael DeHaan
caab52aee2 While the previous work on the foon class can't be quite recycled, it's still a nice abstraction. 2014-02-07 19:32:19 -05:00
Michael DeHaan
73ca1a173c Revert "Revert "This patch makes Ansible reuse fork allocation between seperate instantations of the runner API, therefore the overhead of recreating forks""
This reverts commit 6685b4989e.
2014-02-07 18:14:27 -05:00
Michael DeHaan
60d3611b70 Revert "Revert "Add the fork manager code (related to previous patch).""
This reverts commit c53538dc77.
2014-02-07 18:14:13 -05:00
Michael DeHaan
6685b4989e Revert "This patch makes Ansible reuse fork allocation between seperate instantations of the runner API, therefore the overhead of recreating forks"
This reverts commit 85d66b9a0c.
2014-02-07 18:10:38 -05:00
Michael DeHaan
c53538dc77 Revert "Add the fork manager code (related to previous patch)."
This reverts commit adb1719fe8.
2014-02-07 18:10:29 -05:00
Michael DeHaan
adb1719fe8 Add the fork manager code (related to previous patch). 2014-02-07 16:53:35 -05:00
Michael DeHaan
85d66b9a0c This patch makes Ansible reuse fork allocation between seperate instantations of the runner API, therefore the overhead of recreating forks
between tasks in a playbook is avoided.  The fork pool will be regenerated when a second play comes along and needs more hosts.
2014-02-07 16:53:35 -05:00
Richard Isaacson
2d88246c9d Merge pull request #5885 from risaacson/issue5739_4
Addresses #5739 and cleans up copy.py
2014-02-07 13:49:06 -06:00
James Tanner
b3ab7e7885 Check mutually_exclusive parameters before applying defaults 2014-02-07 13:42:08 -05:00
Will Thames
d5c309e20d Pick up default EC2 region from boto.config
This doesn't account for boto configs where e.g. RDS has one
default region and EC2 another - all will default to `ec2_region_name`.

However, this is just handy to allow an easy site wide default
region if existing configuration already relies on it.

Modules can be improved to mention this in the documentation and
turn off required=True where needed. But it works with `ec2`
and `ec2_vol` without change.
2014-02-07 22:30:16 +10:00
jctanner
0bc0315171 Merge pull request #5880 from willthames/ec2_modules_refactor
Create a common EC2 connection argument spec for EC2 modules
2014-02-06 11:08:09 -05:00
xyrix
20d97416e5 fixed thinkoes 2014-02-06 13:02:11 +00:00
xyrix
0af40374ed fixed file perms checking 2014-02-06 12:48:34 +00:00
xyrix
1de45bf687 made accelerate keys directory configurable, and permissions for the file and dir configurable, and gave them a safe default 2014-02-06 08:53:43 +00:00
James Cammarata
a72dc2ec34 Use finalize method in jinja2 to convert None values to empty strings
Fixes #4812
2014-02-06 00:43:31 -06:00
Will Thames
7600c664fe Create a common EC2 connection argument spec for EC2 modules
Refactor the currently well-factored ec2 modules (i.e. those that already use ec2_connect) to
have a common argument spec. The idea is that new modules can use this spec without duplication
of code, and that new functionality can be added to the ec2 connection code (e.g. security
token argument)
2014-02-06 15:27:41 +10:00
jctanner
28933de84d Merge pull request #5771 from bcoca/play_hosts2
added new play_hosts var
2014-02-05 23:52:20 -05:00
James Cammarata
959a156195 Properly count newlines appearing at the end of templates after rendering
Fixes #4633
2014-02-05 15:14:19 -06:00
James Cammarata
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
Richard C Isaacson
ac0a5c8ad5 Dug into the remaining FIXME and replaced with comments to document the expected behavior. 2014-02-05 11:39:22 -06:00
Luca Berruti
75b7a1d9c7 Fix slow ssh
We break the read while loop after waiting "the end of the process" and
the pipes are empty, otherwise we do another select that waits all the
timeout.
2014-02-05 09:45:03 +01:00
jctanner
a0f91f2aaa Merge pull request #5576 from xyrix/symlink-bug-fix
fixed bug causing symlinks to fail in the host_vars, group_vars etc dire...
2014-02-04 11:39:54 -08:00
jctanner
253fe7be50 Merge pull request #5662 from RSpiertz/update_playbook_error
PlayBook: better error message
2014-02-04 11:16:44 -08:00
Richard C Isaacson
a3261500dd Addresses #5739 and cleans up copy.py
The copy action_plugin is not easy to read. Part of this commit is taking that file, restructuring it, and adding comments. No functionality changed in how it interacts with the world.

The fix for #5739 ends up being the assumption that there is a cleanup 'rm -rf' that happens at the end of the copy loop. This was not the fact before and we made a bunch of tmp directories that we hoped would end up being cleaned up. Now we just use the tmp directory that the runner provides and cleanup inline if it is a single file to be coppied or after the loop if it is a recursive copy.

As a part of this we did end up having to change runner to provide a flag so that we could short the inline tmp directory removal. This flag defaults to True so it will not change the behavior of other modules that are being called.
2014-02-04 12:44:10 -06:00
James Tanner
5fafc61008 Fixes 5870 Template delegate hostname earlier in the process 2014-02-04 13:31:22 -05:00
James Tanner
d355d3c698 Fixes #5818 Default to all known connection information for the delegate host 2014-02-03 16:59:30 -05:00
Timur Batyrshin
658c15930e reword "except Error as e:" into "except Error, e:" to be compatible with Python 2.5 (#5852) 2014-02-03 13:00:40 -06:00
James Cammarata
2d0e9cd75d Revert "Fix for issue 5739. The copy module does not delete directories it will only unlinks symlinks."
This reverts commit b20dc4f578.
2014-02-03 12:54:52 -06:00
James Cammarata
ae9843fccd Fix issue with handler notifications being sent out incorrectly
This is a partial revert of e8ad36c, which introduced the bug.

Fixes #5848
2014-02-03 10:10:45 -06:00
James Cammarata
9ff99acaff Merge branch 'issue5739_3' of https://github.com/risaacson/ansible into risaacson-issue5739_3 2014-02-03 09:52:50 -06:00
Brian Coca
ff024b65b2 now with_items also accepts sets
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2014-02-01 17:55:38 -05:00
Richard C Isaacson
b20dc4f578 Fix for issue 5739. The copy module does not delete directories it will only unlinks symlinks. 2014-01-31 17:19:44 -06:00
James Cammarata
75e3b59bbd Adding no_log: capability for tasks
Fixes #4088
2014-01-31 16:58:46 -06:00
James Tanner
e6aeb191d5 Revert "Merge branch 'slow_ssh' of git://github.com/lberruti/ansible into lberruti-slow_ssh"
This reverts commit fe091ec00d, reversing
changes made to aed2194b1d.
2014-01-30 16:02:05 -05:00
James Cammarata
9574f89471 Detect remote_user change in accelerate daemon and allow a restart
Fixes #5812
2014-01-30 14:40:41 -06:00
jctanner
6c25ea1b91 Merge pull request #5527 from sergevanginderachter/basedirdwim
path_dwim: fix when basedir not set
2014-01-30 10:54:19 -08:00
James Cammarata
f955d9db6a Handle implicit localhost when using '-i host,' syntax
Fixes #5820
2014-01-30 12:46:02 -06:00
jctanner
360f06b41d Merge pull request #5806 from sivel/rax-mod-utils-improvements
Rax mod utils improvements
2014-01-29 16:17:06 -08:00
James Cammarata
5cc354696d Build variable dictionary on included plays without using dict()
Using dict(k=v) means the key was always named 'k', as the variable
is not interpreted there.

Fixes #5801
2014-01-29 12:31:12 -06:00
Michael DeHaan
d07a3b5e9b AnsibleWorks -> Ansible 2014-01-28 20:29:42 -05:00
Heikki Hokkanen
b6875b3b87 Fix .ssh/known_hosts path expansion.
In particular, do not rely on the $USER environment variable always existing.
tmux for example seems to clear it, causing lots of invalid messages:
"previous known host file not found"

This broke in commit 80fd22dc, but instead of reverting that commit, we now
fall back to expanding just ~ when $USER is not set.
2014-01-28 15:11:44 -06:00
Matt Martz
ac666e63e0 Support providing a tenant_name also 2014-01-28 13:58:41 -06:00
Matt Martz
aa709012ba Make sure to also include the region when using keyring_auth 2014-01-28 13:58:41 -06:00
Matt Martz
021b926235 Only specify to USE_KEYRING as the api_key/password when we actually got a keyring_username from ~/.pyrax.cfg 2014-01-28 13:58:41 -06:00
Matt Martz
1ac7dffd55 Support using ~/.pyrax.cfg and multi environments 2014-01-28 13:58:41 -06:00
Matt Martz
139e905e98 identity_type is set dynamically above 2014-01-28 13:58:41 -06:00
Matt Martz
bc473c5be3 Support additional attributes that would allow the rax modules to work with other OpenStack clouds 2014-01-28 13:58:41 -06:00
Matt Martz
d7597414b8 Support keyring for the api_key 2014-01-28 13:58:40 -06:00
James Tanner
fe091ec00d Merge branch 'slow_ssh' of git://github.com/lberruti/ansible into lberruti-slow_ssh 2014-01-28 13:06:07 -05:00
Adam Heath
aed2194b1d self.su_user is done earlier in the code path, and is auto-vivified from
su_user_var.  My last PR was only half merged, and when the bug fix for
the su/su_pass typo was merged, the removed line in this commit was
mistakenly reintroduced.
2014-01-28 11:04:24 -06:00
James Tanner
3ec043ec17 Fixes #5750 Fail on missing ~/.ssh and ignore accept_hostkey if stricthoskeychecking is off 2014-01-28 11:49:35 -05:00
James Cammarata
88e2595a90 Fixing bug relating to su without an su_pass 2014-01-27 16:27:02 -06:00
Adam Heath
fac7c6d3fe Allow su_user to be templated, same as sudo_user. 2014-01-27 16:27:02 -06:00
James Cammarata
3fddd78ec5 Fixing traceback caused by incorrect argument passing to json.dumps
Fixes #5756
2014-01-27 11:28:07 -06:00
Brian Coca
59d5892fa3 added new play_hosts var
this variable has the 'current host list' to be executed over in the
play. Useful when using --limit to not iterate over hosts not included
in play in templates or with_items.

Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2014-01-25 18:43:15 -05:00
jctanner
b2d594d24e Merge pull request #5724 from angstwad/su-tasks-fix
Fix bug where playbook tasks do not escalate privs with 'su'
2014-01-23 14:05:14 -08:00
jctanner
19e8742005 Merge pull request #5713 from angstwad/su-fix
Disallow su and sudo params in same play/task
2014-01-23 13:55:43 -08:00
Craig Tracey
8c6b3baf6f Make default ANSIBLE_REMOTE_PORT None
The ansible remote port should be None, not 22. Having a default value
of 22 means that '-o Port 22' will be appended to the ssh connection
all of the time. This is incorrect as when one would like to use
something like an ssh configuration file (-F) that sets the port to
something other than 22.

Part of this change requires that we check that, in get_config, the
value is not None before trying to cast it into an integer or float.
2014-01-23 12:49:07 -05:00
Paul Durivage
e875089eba Fix bug where self.su was being set by the sudo param in play tasks 2014-01-22 11:04:19 -06:00
Paul Durivage
01d1bd61e7 Disallow su and sudo params in same play/task 2014-01-22 10:55:45 -06:00
James Cammarata
ff8eb5f454 Merge pull request #5722 from jeromew/pipelining_default
Bug in constants.py, ANSIBLE_SSH_PIPELINING should be coerced to boolean
2014-01-22 07:34:02 -08:00
jeromew
ef69d23715 Bug: chmod should be called only if the tmp dir was created in the first place 2014-01-22 14:04:39 +00:00
jeromew
3f23483022 Bug in constants.py, ANSIBLE_SSH_PIPELINING should be coerced to boolean 2014-01-22 13:54:28 +00:00
Thomas Omans
9343db69b4 Fixing whitespace 2014-01-21 12:44:36 -08:00
Thomas Omans
ce0b5d16b3 Allow templates in ansible_sudo_pass inventory var
Template ansible_sudo_pass the same way we template ansible_ssh_pass.
2014-01-21 12:37:04 -08:00
Matt Martz
5ba6739603 Use realpath for plugin directories instead of abspath 2014-01-21 12:41:58 -06:00
James Tanner
61d283e2ad Fix merge conflicts from #5519 2014-01-21 13:35:06 -05:00
jctanner
da136dbe7c Merge pull request #5694 from angstwad/add-su-support-revert
Add su support
2014-01-21 09:57:00 -08:00
Rob Smith
761fe8cc04 Fix an issue where git-pull fails with AttributeError
As part of 94f3b9bfab the code was changed to support dynamically adding localhost to the inventory. This change introduced an crash when run via ansible-pull

```
Starting ansible-pull at 2014-01-20 23:09:57
Traceback (most recent call last):
  File "/tmp/ansible/bin/ansible", line 157, in <module>
    (runner, results) = cli.run(options, args)
  File "/tmp/ansible/bin/ansible", line 82, in run
    hosts = inventory_manager.list_hosts(pattern)
  File "/tmp/ansible/lib/ansible/inventory/__init__.py", line 372, in list_hosts
    result = [ h.name for h in self.get_hosts(pattern) ]
  File "/tmp/ansible/lib/ansible/inventory/__init__.py", line 136, in get_hosts
    subset = self._get_hosts(self._subset)
  File "/tmp/ansible/lib/ansible/inventory/__init__.py", line 177, in _get_hosts
    that = self.__get_hosts(p)
  File "/tmp/ansible/lib/ansible/inventory/__init__.py", line 198, in __get_hosts
    hpat = self._hosts_in_unenumerated_pattern(name)
  File "/tmp/ansible/lib/ansible/inventory/__init__.py", line 275, in _hosts_in_unenumerated_pattern
    ungrouped.add_host(new_host)
AttributeError: 'NoneType' object has no attribute 'add_host'
```

The root cause is there is no group for the host to be added to. I fixed this case by creating the ungrouped group when it doesn't exist and then adding the host to the newly added group. This fixes the regression for me.
2014-01-20 20:10:47 -08:00
Rob Smith
953dc6b345 When not finding a host in ~/.ssh/known_hosts, the return value is 0 if the host just is not found. We then never check the system host file in /etc. This fixes the code to check /etc on any failure, not just a bad return code. 2014-01-20 18:56:39 -08:00
Paul Durivage
f72f5a20df Revert "Revert "Merge pull request #5325 from angstwad/add-su-support""
This reverts commit c17d0e0357.

Conflicts:
	lib/ansible/runner/connection_plugins/paramiko_ssh.py
2014-01-20 19:19:03 -06:00
Paul Durivage
4c84ba74b0 Resolve su bug in paramiko libs 2014-01-20 19:16:37 -06:00
Jesse Keating
6013f0738e Store the list of hosts to run on in runner object
This reduces the number of times inventory.list_hosts is called, which
can be costly. When coming from a playbook that data is already known.
2014-01-20 16:22:28 -08:00
Jesse Keating
e8ad36c8d4 Store hosts for a play as a play attribute
Operate on that play attribute to make things faster for larger
inventories. Instead of making a round trip through inventory.list_hosts
and working through some lengthy list comprehensions over and over
again, calculate the potenital hosts for a play once, then reduce from
it the unavailable hosts when necessary.

Also moves how the %fail is done. The host count is a play level count
of available hosts, which then is compared after each task to the
current number of available hosts for the play. This used to get a new
count every task which was also time expensive.
2014-01-20 16:22:28 -08:00
James Tanner
94f3b9bfab Fixes #3129 Do not require localhost to be in inventory 2014-01-20 18:26:14 -05:00
James Tanner
c17d0e0357 Revert "Merge pull request #5325 from angstwad/add-su-support"
This reverts commit 6f4bfa2cff, reversing
changes made to c91ba3a7c7.
2014-01-20 16:10:11 -05:00
Paul Durivage
8cf071f697 Hostvars support for su 2014-01-20 12:01:28 -06:00
Paul Durivage
dec9131735 Ensure playbook support for su params 2014-01-20 11:46:56 -06:00
Paul Durivage
d21281ff43 Resolve rebase conflicts 2014-01-20 11:46:05 -06:00
Paul Durivage
ab6ee1a282 Enable su support in paramkio; disable su support in fireball, local, accelerate, chroot, jail, funcd connection plugins 2014-01-20 11:25:10 -06:00
Paul Durivage
4088243deb Proposing fix for Issue #4324; adding support for su in connection plugins ssh, ssh_alt
Fixes for ssh_alt support, adding in references to in_data where appropriate
2014-01-20 11:25:10 -06:00
Michael Scherer
5c5c8fd7ce Make synchronize module work better with local transport, fix #5668 2014-01-17 17:32:36 +01:00
Rutger Spiertz
dec6345fe6 PlayBook: better error message
When a PlayBook has missing arguments the error message now shows which ones are missing.
2014-01-17 10:30:57 +01:00
James Tanner
559e89036b Fixes #5631 Return a unique list of hosts when joining groups 2014-01-16 14:24:11 -05:00
James Cammarata
02ce5af6df Added ANSIBLE_SSH_PIPELINING option to enable/disable pipelining support
Pipelining will be disabled by default, since it requires users remove
the 'requiretty' option from the servers sudoers configuration.
2014-01-16 12:41:33 -06:00
James Cammarata
233aae5861 Reverting paramiko_ssh/alt changes from yesterday 2014-01-16 09:45:28 -06:00
Matt Martz
d46037d64c Do not log the rax api_key argument in module invocation 2014-01-15 16:38:03 -06:00
James Cammarata
36e6709771 Don't use pipelining when ANSIBLE_KEEP_REMOTE_FILES is enabled 2014-01-15 16:03:18 -06:00
James Cammarata
df13b19fe1 Moving {ssh,paramiko}_alt connection types to be the defaults
The previous implementations will be kept for now as _old
2014-01-15 16:03:18 -06:00
James Cammarata
c27db84e41 Adding paramiko_alt - pipelining support for paramiko connections 2014-01-15 16:03:17 -06:00
jctanner
91c5c9da08 Merge pull request #5465 from deonbredenhann/false_mandatory_variable
Treat a False mandatory variable as defined.
2014-01-14 14:15:52 -08: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
jctanner
a6bc63512e Merge pull request #5308 from zecrazytux/fix/hash_merge_dynamic_inventory
Let merge hash_bahaviour work with dynamic inventory
2014-01-14 07:58:25 -08:00
jctanner
671b0454c6 Merge pull request #4987 from jpmens/lookup-csvfile
New lookup plugin csvreader
2014-01-14 07:17:52 -08:00
willthames
31f5ecea60 Allow float as an argument type in AnsibleModule 2014-01-13 14:15:23 +10:00
Rob Smith
c15cffabdd This fixes bugs added as a part of 8665b0638a
1. if accept_hostkey is false, no matter if the host key is known or not, it will fail.

2. We don't check for the host key in /etc/ssh/ssh_known_hosts

This fixes both of those issues.
2014-01-12 02:12:44 -08:00
James Tanner
3719f3f496 Do not fetch or add keys for http based git urls 2014-01-11 15:15:23 -05:00
James Tanner
eeee1e1c5a Set accept_hostkey to False by default in the git module and fail
early if the key is unknown
2014-01-11 11:02:01 -05:00
James Tanner
8665b0638a Add an "accept_hostkey" parameter to the git module to help automatically
accept hostkeys for git repos and prevent task hangs when the key is unknown
2014-01-11 10:36:45 -05:00
James Tanner
09e0d052ca Ensure sys.stdout has an istty method 2014-01-10 17:42:43 -05:00
James Tanner
d7c8cf6ca7 Fixes #4958 Truncate printed stdout if it contains non-printable characters 2014-01-10 15:08:45 -05:00
jay
e1f5b801cf fixed bug causing symlinks to fail in the host_vars, group_vars etc directories 2014-01-10 16:32:41 +00:00
James Tanner
78ec7c736f Fixes #3973 Second Revision of live ansible-pull output 2014-01-10 11:18:02 -05:00
Luca Berruti
ae543eecab Simplified p.poll handling 2014-01-10 11:34:21 +01:00
James Tanner
c408bcea31 Update sshpass hostkey error message 2014-01-08 17:25:50 -05:00
James Tanner
0b64408f5a Fixes #5531 Give the user a better error message when sshpass does not know the remote hostkey 2014-01-08 16:50:40 -05:00
Matt Martz
f99500d65c Expose the playbook to callback plugins 2014-01-08 14:40:37 -06:00
jeromew
69febcefde remove useless create/delete remote tmp dir roundtrip in copy module 2014-01-08 15:22:12 +00:00
Serge van Ginderachter
836fb4143c path_dwim: fix when basedir not set 2014-01-08 02:21:10 +01:00
jeromew
c9b01febb3 Make sure 'tmp' is in the remote tmp dirname to ensure correct cleanup 2014-01-07 20:56:12 +00:00
jctanner
21b4212ff5 Merge pull request #5517 from lichesser/fix_set_depreciation_warning
Fixes #5513. set is built-in since 2.4 and deprecated since 2.6
2014-01-07 15:48:27 -05:00
jctanner
83dec044ab Merge pull request #5504 from smoothify/synchronize-sudo
Synchronize Module: Improved sudo override behaviour.
2014-01-06 14:52:59 -08:00
jctanner
9a69b1b0ec Merge pull request #5311 from willthames/ec2_refactor
ec2 modules: Move more responsibility to common EC2 module
2014-01-06 14:09:38 -08:00
James Tanner
d6b78e9dd6 Fixes #5238 Improve error messaging about unquoted variable references in playbooks 2014-01-06 16:47:19 -05:00
James Tanner
ab51bd23a2 Fixes #5196 return a unique list of hostnames for a single host pattern 2014-01-06 14:19:20 -05:00
smoothify
93a55e8dff Don't override sudo if transport is set to local.
https://github.com/ansible/ansible/pull/5251
2014-01-04 23:32:25 +00:00
Michael DeHaan
c039e276a2 Fact gathering on a second play against the same hosts should not be implicitly off since this is an undocumented beheavior and potentially
rather unwanted when a play could change a fact.

gather_facts: True/False can still be explicitly used per play.

Reverts 564a212b3c
2014-01-04 14:03:58 -05:00
Michael DeHaan
87258f6d42 Resolve merge commit 2014-01-04 14:03:42 -05:00
Michael DeHaan
1c632af2c9 Merge pull request #5468 from jeromew/ansible_ssh_alt
fix issue #5372 on ssh_alt: accept -K option for a user with NOPASSWD
2014-01-04 10:55:58 -08:00
Michael DeHaan
a3d90e8a87 Merge pull request #5498 from j2sol/exit_setup_early
Return early from setup step when possible
2014-01-04 10:47:35 -08:00
Michael DeHaan
227e8e31c9 Merge branch 'use_comps' of git://github.com/j2sol/ansible into devel 2014-01-04 13:36:40 -05:00
Michael DeHaan
10350d1639 Update various copyrights. Not complete, but sufficient. 2014-01-04 13:32:04 -05:00
Jesse Keating
23720ff19d Use list comprehensions for efficiency
For loops can be inefficient, particularly when doing a dot command with
them. https://wiki.python.org/moin/PythonSpeed/PerformanceTips#Loops and
https://wiki.python.org/moin/PythonSpeed/PerformanceTips#Avoiding_dots...

This patch makes use of list comprehensions to be as efficient as
possible while still retaining order. Efficiency was lost a bit when
switching away from sets() but this gains some of it back.
2014-01-03 18:07:00 -08:00
Jesse Keating
35328ed503 Return early from setup step when possible
The _list_available_hosts call can be lengthy, and in the case where
gather_facts is disabled the call is pointless. So re-arrange the logic
to return early from _do_setup_step when gather_facts is false.
2014-01-03 16:39:13 -08:00
Michael DeHaan
c41a23a35a Complete removal/refactoring of conditional deprecations. 2014-01-03 19:23:19 -05: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
Michael DeHaan
28b9fd4e30 We have had only_if, when_foo, etc, deprecated for a while and said they would be removed in 1.5. Now they are, with friendly error messages still.
Users of these features should use "when:" as documented at docs.ansible.com.

Similarly, include + with_items has been removed.  The solution is to loop
inside the task files, see with_nested / with_together, etc.
2014-01-03 13:47:54 -05:00
James Tanner
21fdb2bbc7 Fixes #5200 Handle template contents with unicode strings better 2014-01-03 11:18:20 -05:00
James Tanner
fc473b3246 Fixes #5146 Handle missing stdin when running under celery with rabbitmq or redis 2014-01-03 09:46:16 -05:00
Michael DeHaan
de2ffc1276 Don't need to document these guys. 2014-01-02 17:55:59 -05:00
James Tanner
cb2214d6f8 Fixes #4935 Synchronize module: set destination to an fqdn if connection is not local, and abide by ansible_remote_user 2014-01-02 14:58:12 -05:00
jctanner
99560e3902 Merge pull request #5047 from sergevanginderachter/synch_template_ansiblesshhost
synchronize: allow ansible_ssh_host to be templated
2014-01-02 09:05:14 -08:00
jeromew
b2cd4a62de fix issue #5372 on ssh_alt: accept -K option even for a user with NOPASSWD 2013-12-31 14:29:46 -05:00
Deon Bredenhann
c85aac8b17 Treat a False mandatory variable as defined. 2013-12-31 13:41:40 +02:00
Deon Bredenhann
4f1f13b100 Remove trailing space 2013-12-31 13:40:21 +02:00
Levi Gross
dc6a26123b
Fixed syntax error and removed unused imports 2013-12-25 11:04:47 -05:00
Michael DeHaan
643690ffec Remove depedency of lookup plugin on setting in ansible.cfg 2013-12-21 08:49:08 -05:00
Michael DeHaan
5b3c796641 Update constants.py
Lookup plugins for optional web services do not warrant advertising in ansible.cfg.
2013-12-21 08:46:11 -05:00
Stephen Fromm
833e1f6e2a Make sure action plugin copy cleans up tmp dir
The copy action plugin creates its own tmp dir for each file that it
copies to the target machine.  However, it does not clean up the
original tmp path it was given when run() is called.  This cleans up the
tmp path before it begins looping on source files.
2013-12-20 14:58:34 -08:00
dparalen
6bf5d664dc allow per-host sudo operation 2013-12-20 15:49:25 +01:00
James Tanner
993e0f057e Allow for no role dependencies in role metadata 2013-12-19 14:19:14 -05:00
James Tanner
1ef9930b80 Addresses #5341 Expand home directories when searching for roles in ansible-playbook 2013-12-18 23:31:03 -05:00
James Tanner
5d022182fe Fixes #5341 Use constants.py to set the roles directory 2013-12-18 22:40:58 -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
jctanner
ea8cd62b19 Merge pull request #5259 from mvo5/bugfix/improve-error-on-invalid-vars-file
improve error on invalid vars file (if its a list instead of a dict)
2013-12-17 11:12:53 -08:00
jeromew
e4a3f49fa2 ssh_alt - only trigger 'fatal' when returncode == 255 (interpreted as 'could no connect') 2013-12-17 11:42:00 -05:00
willthames
12005a1cd0 Move more responsibility to common EC2 module
Moved `AWS_REGIONS` into `ec2` module
Created `ec2_connect` method in `ec2` module
Updated modules able to use `ec2_connect` and `AWS_REGIONS`
2013-12-17 14:07:24 +10:00
jctanner
cd3144af5d Merge pull request #5178 from cavassin/devel
Prevents UnicodeEncodeError
2013-12-16 13:23:16 -08:00
James Tanner
f3a4705a9c Revert "Merge pull request #4874 from leth/editable_install"
This reverts commit 15b89b45e1, reversing
changes made to 3d836a1ab7.
2013-12-16 15:57:03 -05:00
jctanner
15b89b45e1 Merge pull request #4874 from leth/editable_install
Fix setup.py to work with 'pip install -e .'
2013-12-16 11:22:45 -08:00
Sébastien Bocahu
c8d5846ab9 Let merge hash_bahaviour work with dynamic inventory 2013-12-16 19:55:20 +01:00
jctanner
3d836a1ab7 Merge pull request #5247 from jeromew/ansible_ssh_alt
ssh_alt.py / decrease # of ssh roundtrips
2013-12-16 07:08:35 -08:00
jeromew
5c965a75f0 ssh_alt.py / decrease # of ssh roundtrips 2013-12-13 14:23:40 -05:00
jctanner
1679d83637 Merge pull request #5131 from janeznemanic/devel
Fix for issue #4730 - stacktrace when deferenencing a non-existent group
2013-12-13 11:00:41 -08:00
jctanner
301a1189dd Merge pull request #5122 from willthames/openlog_str
Make first argument to syslog.openlog be a string
2013-12-13 08:51:48 -08:00
Ferenc Grecu
56642f9b04 Remove unused parameter from _get_config 2013-12-12 18:48:02 +02:00
Michael Vogt
bef5ee2c3b improve error on invalid vars file (if its a list instead of a dict) 2013-12-12 09:56:30 +01:00
Jesse Keating
8cef210aea Make sure ssh pipes are empty before moving on
Resolves issue #5082

Code as it was would hit a scenario where one of the FDs was not ready for
reading the first time through -- but p.poll() would show the process as
complete. This would cause ansible to continue on, while leaving some content
left in a pipe.

The other scenario -- the one that causes the unclosed quote, is if we go
through select.select() and we do get stdout in the ready for reading -- we
read from it (9000 bytes), but that's not all that is there. Again we'd get to
the p.poll() check and it would be indeed not none, but we would have left some
of stdout on the FD and thus the json blob would be malformed.

Tested with and without full ssh debugging.
Tested with and without ControlPersist
Tested with and without ControlPersist sockets already created
2013-12-11 21:32:37 -08:00
Michael DeHaan
929f8a5c93 Had to revert commits due to async. 2013-12-10 19:24:08 -05:00
Michael DeHaan
74e4ccb59b Revert "ssh_alt.py / decrease # of ssh roundtrips"
This reverts commit 7f8863f96d.
2013-12-10 19:23:52 -05:00
jeromew
7f8863f96d ssh_alt.py / decrease # of ssh roundtrips 2013-12-10 06:00:21 -05:00
jeromew
db182ba498 copy ssh.py to ssh_alt.py 2013-12-09 14:11:29 -05:00
Paulo Bittencourt
fc3597af5d files/file: add support for symbolic permission modes 2013-12-09 04:32:36 +00:00
Steve Smith
5b81f88c8f Cast the retrieved retries var to an int before incrementing as it may be in string form.
For example, the following method of calculating the value will result in a type error:

    appstatus_waitfor: 4  # Minutes
    appstatus_delay: 5 # seconds
    appstatus_retries: "{{ mins * 60 / delay }}"
2013-12-07 10:35:14 +01:00
Wanderlei Antonio Cavassin
6ba93817a9 Avoid UnicodeDecodeError exception when passing module args 2013-12-06 12:59:43 -02:00
James Tanner
bf78d8cf73 Addresses #5090 setup module was using path.is_file instead of path.isfile 2013-12-05 11:36:54 -05:00
cavassin
10f5af82f9 Prevent UnicodeEncodeError
Prevents UnicodeEncodeError: 'ascii' codec can't encode character, while printing shell commands output
2013-12-05 13:17:57 -02:00
jctanner
7aa35d64c2 Merge pull request #5091 from EspadaV8/5089_assemble_fix
#5089 hack-fix assemble module
2013-12-04 10:13:16 -08:00
Paul Bonser
58acd8cce1 If there is no tmp_src, don't modify the args 2013-12-03 18:59:50 -06:00
Paul Bonser
4afcd50487 properly convert arg into boolean 2013-12-03 18:46:37 -06:00
Michael DeHaan
801ca96a8b Merge pull request #5152 from sivel/too-many-ps
The word skipped only has 2 p's not 3
2013-12-03 16:21:11 -08:00
Matt Martz
5f0f3566a6 Skipped only has 2 p's not 3 2013-12-03 15:42:34 -06:00
Matt Martz
8873c3675b Ensure we are looking for the right import to determine if the module_style is new. Fixes #5148 2013-12-03 15:36:33 -06:00
jctanner
2670529671 Merge pull request #5090 from dragon3/hostname_support_amazon_linux
hostname module: add support for Amazon Linux
2013-12-03 12:34:55 -08:00
James Tanner
d227614529 Fixes #5109 synchronize module ssh port
Added a parameter for dest_port and also check ansible_ssh_port inventory variable.
2013-12-03 14:48:20 -05:00
Paul Bonser
5626efba7e Optionally unarchive a file already on the remote machine 2013-12-02 19:51:10 -06:00
jctanner
93159cb9cd Merge pull request #4996 from sivel/rax-module-utils
Implement ansible.module_utils.rax
2013-12-02 11:55:59 -08:00
Janez Nemanic
8752ae6909 Fix for issue #4730 - stacktrace when deferenencing a non-existent group 2013-12-02 18:25:43 +01:00
Will Thames
76aca4d547 Make first argument to syslog.openlog be a string
syslog.openlog expects its first argument to be a string.
Without this change running under ipython fails.
2013-12-02 19:11:27 +10:00
James Cammarata
9101c2af98 Fix traceback in template error detection code
Fixes #5081
2013-11-29 08:47:54 -06:00
Andrew Smith
eed32ea70c dest_contents isn’t always defined, so don’t pass it around
I think this is also a bit of a hack since it should probably be set
before being used, I’m just not sure what it should be set to.
2013-11-28 10:59:51 +10:00
Andrew Smith
e2d03173d2 The file module doesn’t have it’s module_args reset
I believe that this should be reset in the same way that the copy module
does
2013-11-28 10:58:14 +10:00
Andrew Smith
7b01c83159 Passing in complex_args throws ‘unsupported parameter for module’ errors
When using assemble only params (e.g. remote_src) the copy (and I’m
guessing file) modules throw an error that the param isn’t supported.
Simply removing the complex_args param fixes it for me, but I’m not sure
that’s the correct thing to do
2013-11-28 10:55:35 +10:00
Andrew Smith
da44a7f0cb I think that resultant is meant to be the contents of the combined file
It is used for the transfer and as a diff param but isn’t actually
defined anywhere before it’s used. This seemed like the least bad place
to set it.
2013-11-28 10:53:00 +10:00
Andrew Smith
4503413baa ReturnData is used throughout but not actually imported 2013-11-28 10:51:04 +10:00
dragon3
d39e6fda92 hostname module: add support for Amazon Linux 2013-11-28 09:31:25 +09:00
Andrew Smith
7d007cac16 Correct the invocation of ‘_assemble_from_fragments’ 2013-11-28 09:44:14 +10:00
jctanner
920bc6e75b Merge pull request #5086 from j2sol/fix-accelerate_inventory
Avoid a traceback when using accelerate
2013-11-27 14:46:12 -08:00
James Tanner
b6879ca2bd Fixes #5030 compare connection user and sudo user and disable sudo if identical 2013-11-27 17:01:53 -05:00
Jesse Keating
5522d489e3 Avoid a traceback when using accelerate
This bit of code is attempting to access accelerate_inventory_host,
which may not have been set/created. This will cause a traceback.
Instead use getattr with a fallback to False.
2013-11-27 13:58:11 -08:00
James Tanner
12ed39ef7b Fixes #5056 Append new hosts to the groups cache 2013-11-27 13:04:31 -05:00
James Cammarata
1f80aa768a Fix bug in error detection code, where a zero-length string was causing a traceback
Fixes #5064
2013-11-27 11:57:15 -06:00
Brian Coca
65885feeeb fixed typo for assemble function 2013-11-26 08:30:28 -05:00
James Tanner
b8146e3bc7 Fixes #4979 Check for the correct context when inside the inventory_hostnames plugin 2013-11-25 10:57:10 -05:00
James Tanner
903c4cae7b Fixes #5031 Template the delay value and cast to float for loops 2013-11-25 10:13:55 -05:00
Serge van Ginderachter
2f9470ec1d synchronize: allow ansible_ssh_host to be templated
This is already enabled in the runner also.
2013-11-25 15:33:04 +01:00
Antonio Zanardo
8dbd91b5ad fix typo in deprecation warning 2013-11-23 19:15:51 -02:00
James Tanner
bca2634d54 Fix missing eval for string search in ssh controlpersist 2013-11-22 12:22:53 -05:00
James Tanner
a16fe923ed Addresses #5011 check for proper string in smartos ssh error output 2013-11-22 12:13:24 -05:00
jctanner
5c84d7e445 Merge pull request #5002 from ovcharenko/devel
Allow to specify ansible_ssh_private_key_file location related to user home directory
2013-11-22 06:39:07 -08:00
James Tanner
512ebdb971 Revert "Merge pull request #5001 from ovcharenko/devel"
This reverts commit d6c3103a00, reversing
changes made to b11f96eaa4.
2013-11-22 00:09:37 -05:00
Aleksey Ovcharenko
9af44b1b42 Update to 4 space indent 2013-11-22 04:20:14 +02:00
Aleksey Ovcharenko
30678e04ac Make tests happy 2013-11-22 04:06:10 +02:00
Aleksey Ovcharenko
2222f6df58 Allow to specify ansible_ssh_private_key_file location related to user home directory 2013-11-22 01:47:03 +02:00
Matt Martz
3f2cbb7583 Add ansible.module_utils.rax 2013-11-21 15:46:25 -06:00
James Tanner
9b991b9154 Version bump for 1.5 2013-11-21 16:33:23 -05:00
Jan-Piet Mens
252a51be91 New lookup plugin csvreader 2013-11-21 09:39:52 +01:00