Commit Graph

670 Commits (005b17afec1ab588bb0662f2b2a43771224279df)

Author SHA1 Message Date
Toshio Kuratomi 958fb29b78 Merge pull request #12881 from Scypho/devel
fix for issue #11885 - allowing json in lookup template calls
2015-11-12 15:39:35 -08:00
James Cammarata 13750f68ee Reduce spinning while waiting on queues 2015-11-12 14:41:09 -05:00
Daniel Menet 0918416b83 substitute tilde and env vars before storing C.CACHE_PLUGIN_CONNECTION as instance attribute 2015-11-12 16:52:02 +01:00
Toshio Kuratomi 62979efa14 Finish up plugin porting to global display
Also remove display = display which does nothing
2015-11-11 10:44:23 -08:00
Toshio Kuratomi 2bd695ed42 Port cache plugins to global display 2015-11-11 10:44:22 -08:00
Toshio Kuratomi b05d0b8c9c Port lookup plugins to global display. 2015-11-11 10:44:22 -08:00
Toshio Kuratomi 4c7128da17 Port action plugins to global display 2015-11-11 10:44:22 -08:00
Toshio Kuratomi aa4f213cb5 Move connection plugins to using global display 2015-11-11 10:44:22 -08:00
Brian Coca 99f45f2e19 pass task args without filtering, copy module needs to explcitly support
remote_src or it will remove the src file
2015-11-12 09:40:43 -08:00
James Cammarata 0fc187893d Catch import warnings in a common location for both get() and all()
Potential solution for #12979
2015-11-10 11:25:07 -05:00
James Cammarata 9f0c2cfda5 Merge pull request #13114 from mgedmin/fix-plugin-loader
Check sys.modules before loading modules
2015-11-10 11:04:35 -05:00
Marius Gedminas 54eae4a793 Check sys.modules before loading modules
Code for a plugin is usually loaded by a PluginLoader(), and henceforth
available from self._module_cache, which prevents duplicate loading.
However there are situations (e.g. where one action plugin imports code
from another one) where the plugin module might be already imported (and
resident in sys.modules), but not present in the PluginLoader's
_module_cache, which causes imp.load_source() to effectively reload the
module, overwriting global class declarations and causing subtle latent
bugs.

Fixes #13110.
Fixes #12979.
2015-11-10 17:57:43 +02:00
James Cammarata a99f2fd52f Save delegated vars in result for use in callback methods
Fixes #13014
2015-11-10 10:14:30 -05:00
Toshio Kuratomi db5d3f03a9 Fix first_found not finding files in roles (only templates) 2015-11-09 13:47:17 -08:00
Joern Heissler 647b92a79b Use ansible_host in synchronize module
Fixes #13073
2015-11-08 13:15:16 +01:00
Brian Coca 9a25e16140 set corrected force default 2015-11-06 19:06:58 -05:00
Rene Moser 768f2fe6d4 template: fix regression bug in template in case force=false
Fixes regression bug, previously reported in #12844 fixed with
4b20884719 re-introduced with
c64ac90560
2015-11-06 11:24:39 +01:00
James Cammarata f10022dbd2 Fix use of add_tqm_variables 2015-11-05 16:30:03 -05:00
James Cammarata efbc6054a4 Add variable compression option 2015-11-05 16:22:37 -05:00
James Cammarata 63c47fb271 Fixing up performance 2015-11-05 16:22:37 -05:00
Brian Coca c64ac90560 fixed check mode change response in template
fixes #13049
2015-11-05 15:55:19 -05:00
Brian Coca e2c56efca6 Merge pull request #12867 from bcoca/callback_whitelist_tweak
make callbacks declare needing whitelisting
2015-11-05 12:58:05 -05:00
nitzmahone 113c4350e3 Force SSL transport for pywinrm updates, get host+group vars
I PR'd a change to pywinrm to allow server certs to be ignored; but it's only on the SSL transport (which we were previously ignoring). For this to work more generally, we're also now pulling the named ansible_winrm_* args from the merged set of host/group vars, not just host_vars.
2015-11-04 09:31:43 -08:00
Toshio Kuratomi 658ea053ea Cleanup timer callback plugin's overwriting of modules it imported 2015-11-03 09:53:18 -08:00
Brian Coca 467c29e3db show task path on 2 vs 2015-11-01 17:43:11 -05:00
Brian Coca 7368030651 removed action plugin as service facts and separate modules don't work yet and this forces gathering facts 2015-10-30 17:56:05 -04:00
Brian Coca 57d3245d0d remove commented out prints 2015-10-30 14:02:41 -04:00
Brian Coca 7ba4f5ee12 removed no_log redundant code 2015-10-30 14:01:47 -04:00
Brian Coca b97887ba41 simplified invocation removal, added no_log awareness 2015-10-30 10:17:19 -04:00
James Cammarata 56e5e72aaa Make handlers obey run_once (or BYPASS_HOST_LOOP)
Fixes #12972
2015-10-30 09:44:35 -04:00
Brian Coca b8bc15fe02 switched to backticks to allow for non bourne shells to work 2015-10-29 12:45:53 -04:00
James Cammarata 5d92b00d9c Cleanup some include logic
* Properly mark hosts with failures in includes as failed
* Don't send callbacks until we're sure we're done, and also fix how
  we increment stats so failures don't show up as ok's
* Fix a bug in the include file logic where a failed include could lead
  to an infinite loop in the task iteration logic

Fixes #12933
2015-10-28 14:02:24 -04:00
James Cammarata 299054852a Allow tags to be specified in included file params
Fixes #12940
2015-10-28 10:14:20 -04:00
James Cammarata cace91df56 Allow hostvars cache to be invalidated so hostvars contain all hosts after add_host
Fixes #12925
2015-10-27 14:12:17 -04:00
James Cammarata 2825c188bd Merge pull request #12901 from bcoca/sanitize_results
sanatize results
2015-10-27 08:42:34 -04:00
Jason O'Donnell 9dfa3719be Fixing typo 2015-10-26 17:13:49 -04:00
Jason O'Donnell ac9b35cc2b Found another typo 2015-10-26 17:04:28 -04:00
Jason O'Donnell 80433c2a2d Fxing typo 2015-10-26 17:01:30 -04:00
Brian Coca 5b33b0ddfd Merge pull request #12896 from bcoca/ssh_current_user_config
don't set user to current user
2015-10-26 13:26:43 -04:00
Brian Coca 8ce864db6f sanatize results 2015-10-24 15:23:12 -04:00
Toshio Kuratomi 92dd563a75 Fix invocation from bad merge and note where it would need to go to keep
it out of registered vars as well.
2015-10-24 07:29:42 -07:00
Brian Coca f78c82b9ee don't set user to current user
also remove condition to bypass setting user if user matches current user
this enables forcing user when set to the same user as current user and ignoring .ssh/config
while keeping .ssh/config with current user if nothing is specified.
2015-10-23 23:15:45 -04:00
Brian Coca 25e3fe04a8 finalized changed to use abridtged_result instead of result
removed no longer defined no_log
2015-10-23 23:10:57 -04:00
Toshio Kuratomi ca32d5bacc Potential fix for #12816 2015-10-23 13:38:44 -07:00
Toshio Kuratomi 3812ec8d1d Implement invocation hiding for all callbacks if the verbosity is low 2015-10-23 11:11:34 -07:00
Brian Coca 275764d4a5 avoid showing invokation when no_log is set or verbosity is low 2015-10-23 14:06:20 -04:00
Toshio Kuratomi 99c6f77e59 Fix callback 2015-10-23 09:15:22 -07:00
Jens Peter Schroer ecae636160 allowing json in lookup template calls 2015-10-23 14:21:46 +02:00
Toshio Kuratomi ce2b18174e Merge pull request #12878 from ansible/invocation-fix
Invocation fix
2015-10-22 16:17:40 -07:00
Toshio Kuratomi 2e87c1f74e Two fixes to action plugins
* Fix the task_vars parameter to not default to a mutable type (dict)
* Implement invocation in the base class's run() method have each action
  module call the run() method's implemention in the base class.
* Return values from the action plugins' run() method takes the return
  value from the base class run() method into account so that invocation
  makes its way to the output.

Fixes #12869
2015-10-22 16:07:26 -07:00
Brian Coca 5017a96948 Revert "make callbacks declare needing whitelisting"
another premature merge
This reverts commit df8ff85787.
2015-10-22 16:34:51 -04:00
James Cammarata 86de1429e5 Cleaning up FIXMEs 2015-10-22 16:03:50 -04:00
Brian Coca df8ff85787 make callbacks declare needing whitelisting
this will allow for custom or v1 callbacks locally loaded to automatically be triggered as they were in 1.x
2015-10-22 12:30:23 -04:00
Toshio Kuratomi 75cff7129c Fix for invocation not being added to output.
We want invocation to be omitted when we are running async, not when we
aren't running async.
2015-10-22 09:03:35 -07:00
Toshio Kuratomi 6b6d03290a Restore the automatic addition of invocation to the output
Revert "Remove auto-added invocation return value as it is not used by v2 and could leak sensitive data."

This reverts commit 6ce6b20268.

Remove the note that invocation was removed as we've now restored it.

Revert "keyword not in ubuntu 14.04"

This reverts commit 5c01622457.

Revert "remove invocation keyword check"

This reverts commit 5177cb3f74.
2015-10-22 08:53:37 -07:00
Brian Coca c267c23020 make callbacks declare needing whitelisting
this will allow for custom or v1 callbacks locally loaded to automatically be triggered as they were in 1.x
2015-10-22 08:27:32 -04:00
Brian Coca 09899b7c43 Merge pull request #12783 from larsks/bug/12782
correct value of remote_user for local connections
2015-10-22 08:10:07 -04:00
James Cammarata 0e447e3f41 Merge branch 'devel' of https://github.com/mathieumd/ansible into mathieumd-devel 2015-10-21 13:59:51 -04:00
James Cammarata 4b20884719 Return correct changed flag when using check mode with template and force=no
Fixes #12844
2015-10-21 13:51:39 -04:00
Toshio Kuratomi c845181dc1 In v2, exec_command should return bytes and the caller will take responsibility for converting to unicode 2015-10-21 07:59:46 -07:00
Toshio Kuratomi f34b55ac2b Add python3-compat boilerplate to all .py files in lib/ansible 2015-10-19 18:36:19 -07:00
James Cammarata e5b6d802bf Removing some cruft related to _local_action value on Task, which was removed
Fixes #12819
2015-10-19 16:52:27 -04:00
Toshio Kuratomi 923fc9fb15 Cleanup pyflakes warning (real error) 2015-10-19 12:01:01 -07:00
Toshio Kuratomi 7aa9f6754a Cleanup more pyflakes warnings (2 real problems) 2015-10-19 12:01:01 -07:00
James Cammarata 1fa975d81a Simplify group_by by removing BYPASS_HOST_LOOP from the action
Fixes #12825
2015-10-19 14:57:07 -04:00
Toshio Kuratomi 0888d78b84 Cleanup some pyflakes warning (1 real error) 2015-10-19 11:42:46 -07:00
Toshio Kuratomi c6d44738ad Clean up some more pyflakes warnings 2015-10-19 11:35:10 -07:00
James Cammarata 892d9b8dfb Move post_validate for tasks after checking for an include
Simplifies logic and prevents us from accidentally post_validating
an include that would otherwise be skipped due to tags causing a
problem because of potentially missing variables.

Fixes #12793
2015-10-19 13:42:17 -04:00
James Cammarata 1cfd941179 Adding a v2 callback for task includes 2015-10-19 13:42:17 -04:00
Toshio Kuratomi 6ce6b20268 Remove auto-added invocation return value as it is not used by v2 and could leak sensitive data. 2015-10-19 09:08:25 -07:00
Brian Coca 2d1d21228a updated skippy to match default output 2015-10-18 11:00:50 -04:00
James Cammarata 0bbe9d5bd0 Make hostvars json/yaml serializable in filters
Fixes #12615
2015-10-18 10:09:05 -04:00
James Cammarata 0aa018337a Fixing logic in json cache plugin get()
Fixes #12722
2015-10-17 11:50:14 -04:00
James Cammarata 5f617c601b Remove obsolute tag evaluation in free strategy
Fixes #12784
2015-10-17 11:29:39 -04:00
Brian Coca 6c8cf8acb7 now profile_tasks callback handles handlers correctly
fixes #12762
2015-10-16 18:01:27 -04:00
James Cammarata 1ab0e0e228 Disable RuntimeWarnings during all() plugin loading
Fixes #12778
2015-10-16 15:34:49 -04:00
Brian Coca 6d87bd405d Merge pull request #12765 from bcoca/lookup_inventory_hostname
implemented inventory_hostname lookup in v2
2015-10-16 15:05:23 -04:00
Toshio Kuratomi baa309309d Bundle a new version of python-six for compatibility along with some code to make it easy for distributions to override the bunndled copy if they have a new enough version. 2015-10-16 08:21:28 -07:00
Lars Kellogg-Stedman aa0b7536c9 correct value of remote_user for local connections
When using 'local' connections, privilege escalation would fail if
ansible_ssh_user was in the current context to the same value as
become_user.

This commit ensures that for 'local' connections we reset remote_user to
the local username.

This fixes #12782.
2015-10-16 11:17:58 -04:00
Brian Coca 9b088a1e40 implemented inventory_hostname lookup in v2 2015-10-15 13:11:42 -04:00
Toshio Kuratomi 5617f6aad4 Update synchronize to use the correct host when delegating
Fixes #12752
2015-10-14 18:57:10 -07:00
James Cammarata d923d05a33 Reworking the way all() works in plugin_loader
* Don't throw away the full path of the module code being loaded,
  as this can cause conflicts when files of the same name are being
  instantiated
* Generalize the module loading code

Fixes #12738
2015-10-14 17:53:28 -04:00
James Cammarata 45b803efb4 Properly use test_loader from SharedPluginLoaderObj 2015-10-14 17:53:28 -04:00
Brian Coca f5227d494b added missing cachefile and changed str(e) to to_bytes(e) 2015-10-13 11:15:10 -04:00
James Cammarata 426187489f Add variable for format parameter 2015-10-13 02:33:18 -04:00
Toshio Kuratomi 8277747a04 Fix password lookup when password file exists and the password is not encrypted 2015-10-12 15:52:03 -07:00
Toshio Kuratomi b49e0995cb Fix typo 2015-10-12 13:29:04 -07:00
Toshio Kuratomi b58d7470d4 Cleanup logic and be more paranoid about passwords with spaces 2015-10-12 12:55:33 -07:00
James Cammarata 5c5806d669 Fixing bugs related to jfonfile cache plugin
* corrupt/invalid file causes tracebacks
* incorrect initialization of display/_display in BaseCacheModule class
* tweaking the way errors in get() on jsonfile caches work, to raise
  a proper AnsibleError in that situation so the playbook/task is stopped

Fixes #12708
2015-10-12 13:06:41 -04:00
Brian Coca f5f3bf06e4 Merge pull request #12550 from redrampage/remove-pw-salt-deletion
Removed deletion of salt by 'password' lookup
2015-10-12 11:33:19 -04:00
Toshio Kuratomi 45a161b0a1 Merge pull request #12429 from edmstudio/devel
Update synchronize module plugin to work on OS X
2015-10-09 16:05:46 -07:00
Petr Mifek 6e035a3e94 Move nested function test for ipv6 to top level in synchronize module. 2015-10-10 00:01:22 +02:00
Brian Coca 45788fbfad <homer>doh!</homer> 2015-10-09 16:58:01 -04:00
Brian Coca b9d54e9a01 corrects previous fix to deal with missing item key in results dict 2015-10-09 13:01:32 -04:00
Brian Coca bcb173996b Merge pull request #12695 from matburt/fix_cache_plugins_for_v2
Fix an issue where cache plugins weren't updated in certain scenarios
2015-10-09 11:39:58 -04:00
Brian Coca fbf4cafab5 on skipped you 'might' not have an item, changed to getattr to avoid keyerror
fixes #12683
2015-10-09 11:28:11 -04:00
Matthew Jones 7da478a4f4 Fix an issue where cache plugins weren't updated
The first call to persisting facts would work due to the assignment of a
MutableMapping calling __setitem__ but subsequent module fact data would
not be propogated to the fact cache plugins because update() doesn't
invoke __setitem__.  This changes the behavior a little bit and ensures
set() is called on cache plugins.
2015-10-09 11:16:41 -04:00
Brian Coca ec02b255c3 Merge pull request #12689 from soarpenguin/bugfix
Remove some warning of undefined name and fix classmethod syntax error.
2015-10-09 11:09:50 -04:00
James Cammarata 770032648a Show -> localhost for local_action tasks 2015-10-09 10:53:53 -04:00
James Cammarata 868819f9fa Make sure shlex split is returning properly encoded strings
Fixes #12676
2015-10-09 09:49:27 -04:00