Commit graph

3300 commits

Author SHA1 Message Date
Toshio Kuratomi
a6029264b8 remove complex_args_hack as it was only needed for Baby JSON 2014-10-08 13:26:25 -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
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
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
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