Abhijit Menon-Sen
f488de8599
Make sudo+requiretty and ANSIBLE_PIPELINING work together
...
Pipelining is a *significant* performance benefit, because each task can
be completed with a single SSH connection (vs. one ssh connection at the
start to mkdir, plus one sftp and one ssh per task).
Pipelining is disabled by default in Ansible because it conflicts with
the use of sudo if 'Defaults requiretty' is set in /etc/sudoers (as it
is on Red Hat) and su (which always requires a tty).
We can (and already do) make sudo/su happy by using "ssh -t" to allocate
a tty, but then the python interpreter goes into interactive mode and is
unhappy with module source being written to its stdin, per the following
comment from connections/ssh.py:
# we can only use tty when we are not pipelining the modules.
# piping data into /usr/bin/python inside a tty automatically
# invokes the python interactive-mode but the modules are not
# compatible with the interactive-mode ("unexpected indent"
# mainly because of empty lines)
Instead of the (current) drastic solution of turning off pipelining when
we use a tty, we can instead use a tty but suppress the behaviour of the
Python interpreter to switch to interactive mode. The easiest way to do
this is to make its stdin *not* be a tty, e.g. with cat|python.
This works, but there's a problem: ssh will ignore -t if its input isn't
really a tty. So we could open a pseudo-tty and use that as ssh's stdin,
but if we then write Python source into it, it's all echoed back to us
(because we're a tty). So we have to use -tt to force tty allocation; in
that case, however, ssh puts the tty into "raw" mode (~ICANON), so there
is no good way for the process on the other end to detect EOF on stdin.
So if we do:
echo -e "print('hello world')\n"|ssh -tt someho.st "cat|python"
…it hangs forever, because cat keeps on reading input even after we've
closed our pipe into ssh's stdin. We can get around this by writing a
special __EOF__ marker after writing in_data, and doing this:
echo -e "print('hello world')\n__EOF__\n"|ssh -tt someho.st "sed -ne '/__EOF__/q' -e p|python"
This works fine, but in fact I use a clever python one-liner by mgedmin
to achieve the same effect without depending on sed (at the expense of a
much longer command line, alas; Python really isn't one-liner-friendly).
We also enable pipelining by default as a consequence.
2015-12-01 23:32:20 +05:30
Toshio Kuratomi
50553bc2ba
_connect no longer takes a port argument
2015-12-01 09:12:25 -08:00
Brian Coca
f1fcab4610
ignore password flags in become conflict check
...
since all the --ask pass options end up triggering the same code
and are functionally equivalent, ignore them when it comes to checking
privilege escalation conflicts. This allows using -K when --become-method=su
and so on.
2015-12-01 08:18:31 -08:00
Brian Coca
a6f6a80caa
avoid inheritance issues with default=dict declaration at class level
...
this should avoid the issue of subsequent plays not prompting for a var
prompted for in a previous play.
2015-12-01 08:18:31 -08:00
Toshio Kuratomi
30094912eb
boto is expecting that we pass it unicode strings.
...
The secret_key parameter especially can contain non-ascii characters and
will throw an error if such a string is passed as a byte str.
Potential fix for #13303
2015-12-01 07:03:57 -08:00
Arata Notsu
6d6d4f0c8e
BOOLEAN should contain boolean literals
...
It is natural that an argument_spec with choises=BOOLEAN accepts
boolean literal (True, False) though the current implementation
allows only string or int.
2015-12-01 23:51:39 +09:00
Toshio Kuratomi
ba4e571029
Update submodule refs to go along with the StandardError change in ec2 moudles
2015-11-30 19:05:33 -08:00
Toshio Kuratomi
19d5759771
raise AnsibleAWSError instead of StandardError.
...
* StandardError doesn't exist in python3
* because it is the root of builtin expections, we can't catch it
separate from the builtin exceptions
* It doesn't tell us anything about the error being thrown as it's too
generic
2015-11-30 19:05:33 -08:00
James Cammarata
dc0fae1af7
Also make sure remote_user is defaulted correctly for delegated hosts
...
Fixes #13323
2015-11-30 16:15:14 -05:00
Toshio Kuratomi
e2ddc2f6ab
Call the function :-)
...
Fixes #13330
2015-11-30 12:34:20 -08:00
James Cammarata
cc36eedf76
Ensure port is (re)set for delegated-to hosts
...
Fixes #13265
2015-11-30 14:40:23 -05:00
Brian Coca
b5f2c3def2
fixed typo
2015-11-30 09:20:59 -08:00
Brian Coca
eefb4931dd
allow for bad stdout return from make temp dir command
...
fixes #13359
2015-11-30 09:19:16 -08:00
Brian Coca
005b17afec
corrected become_methods class variable in winrm
...
This should now correctly react when using become with winrm
fixes #13331
2015-11-30 08:35:08 -08:00
James Cammarata
80db6bacc4
Make sure run_once tasks properly set variables for all active hosts
...
Fixes #13267
2015-11-30 11:27:05 -05:00
James Cammarata
fbc9553bd4
Use text_type instead of unicode
2015-11-30 10:33:36 -05:00
James Cammarata
c6a30f7000
Make sure the uuid in vars is string
2015-11-30 10:26:12 -05:00
James Cammarata
f926e81782
Re-implement lookup wantlist
...
Fixes #13285
2015-11-29 23:45:54 -05:00
James Cammarata
dfa576b037
Merge pull request #13307 from Yannig/devel_fix_big_include_vars
...
Fix for https://github.com/ansible/ansible/issues/13221
2015-11-29 23:14:03 -05:00
Peter Sprygada
c087160652
initial add of ssh shared module.
...
This ssh shared module is used for building modules that require an
interactive shell environment such as those required for connecting
to network devices
2015-11-29 21:48:52 -05:00
James Cammarata
6671d78f95
Tweak location of stats callback execution and properly relocate stats output code
2015-11-28 14:03:21 -05:00
James Cammarata
ea23159be4
Merge pull request #13348 from emonty/bug/iterate-on-none
...
Put in trap for args being None
2015-11-28 13:44:09 -05:00
Monty Taylor
d20e67d708
Put in trap for args being None
...
_normalize_old_style_args can return None. If it does, the loop
"for args in args" blows up.
2015-11-28 13:38:11 -05:00
James Cammarata
800811a15f
Trigger on_stats just once, not once for each play
...
Fixes #13271
2015-11-28 13:37:43 -05:00
James Cammarata
a7f7f8bd29
Merge pull request #13297 from amenonsen/ssh-escalation
...
Explicitly accept become_success in awaiting_prompt state
2015-11-28 10:03:00 -05:00
James Cammarata
5b6162a166
Re-adding role_name/role_uuid variables
2015-11-28 09:08:24 -05:00
James Cammarata
8d9835c40b
Merge pull request #13342 from Yannig/devel_fix_bomb_shell
...
Devel fix bomb shell
2015-11-28 09:02:12 -05:00
Yannig Perré
5227c6bb52
Do not copy variable_manager each time. Instead, keep host and local variable_manager sync.
...
Fix https://github.com/ansible/ansible/issues/13221
2015-11-28 14:58:33 +01:00
Yannig Perré
2fc7c8b460
More restrictive test against variable name to allow setting variable starting with _.
2015-11-28 10:35:06 +01:00
Brian Coca
fa358d9d61
avoids prompting for vars during syntax check
...
fixes #13319
2015-11-27 11:41:00 -08:00
Yannig Perré
2c54fb1339
Switch parameters validation after parsing in order to be more consistent between old and new style.
2015-11-26 13:33:58 +01:00
Abhijit Menon-Sen
f20e2630b0
Explicitly accept become_success in awaiting_prompt state
...
If we request escalation with a password, we start in expecting_prompt
state. If the escalation then succeeds without the password, i.e., the
become_success response arrives, we must explicitly move into the next
state (awaiting_escalation, which immediately goes into ready_to_send),
so that we no longer try to apply the timeout.
Otherwise, we would leak the success notification and eventually
timeout. But if the module response did arrive before the timeout
expired, the "process has already exited" test would do the right
thing by accident (which is why it didn't fail more often).
Fixes #13289
2015-11-26 06:06:01 +05:30
Toshio Kuratomi
1b743436b9
Do not double transform to unicode
2015-11-25 07:48:52 -08:00
Chrrrles Paul
157230c3e8
Merge pull request #13257 from chrrrles/utf8
...
fixing error with using non-ascii values for ask-sudo-password
2015-11-25 11:52:17 +09:00
Charles Paul
1e5a205389
fixing errors with utf-8 values
...
removing utf-8 stanza
changing cast to binary_type instead
using to_unicode
2015-11-25 11:47:25 +09:00
Brian Coca
71fe49ee3a
Merge pull request #13247 from bcoca/fetch_fixes
...
fixes to fetch action module
2015-11-24 10:55:23 -08:00
Brian Coca
7244b5ae49
added missing :
2015-11-25 10:52:42 -08:00
Brian Coca
0ec60ac09b
added missing events to base class
2015-11-25 10:49:03 -08:00
James Cammarata
70de8bc96f
Fix ssh state issues by simply assuming it's never connected
2015-11-24 12:00:37 -05:00
James Cammarata
65747285a4
Properly check for prompting state when re-using ssh connection
...
Fixes #13278
2015-11-24 09:09:54 -05:00
James Cammarata
96fcfe45d0
Merge pull request #13264 from Yannig/devel_debug_var_list_or_dict
...
Allow debug var parameter to accept a list or dict.
2015-11-23 16:47:45 -05:00
Yannig Perré
5fa49a9ad8
Use to_unicode instead of str()
2015-11-23 22:04:55 +01:00
James Cammarata
679488fdb5
Merge pull request #13239 from sysreq0/devel
...
We should give pipes.quote() a string every time
2015-11-23 14:27:26 -05:00
James Cammarata
53e86f3130
Merge pull request #13261 from cchurch/with_items_reuse_connection
...
Modify task executor to reuse connections inside a loop.
2015-11-23 13:57:12 -05:00
James Cammarata
e06b107d2d
Template (and include vars) PlaybookInclude paths
...
Fixes #13249
2015-11-23 11:54:06 -05:00
Chris Church
272778f732
Modify task executor to reuse connection inside a loop. Fix WinRM connection to set _connected properly and display when remote shell is opened/closed. Add integration test using raw + with_items.
2015-11-23 11:53:05 -05:00
Toshio Kuratomi
adf2d53fa2
Update submodule refs
2015-11-23 08:41:19 -08:00
Yannig Perré
0480b44f50
Allow debug var parameter to accept a list or dict. Fix https://github.com/ansible/ansible/issues/13252
2015-11-23 16:58:24 +01:00
Brian Coca
478c6c756a
marked spot that should send per item reulsts
2015-11-22 14:44:51 -08:00
Brian Coca
fb96748d7c
fixes to fetch action module
...
* now only runs remote checksum when needed (fixes #12290 )
* unified return points to simplify program flow
2015-11-22 09:52:34 -08:00
Toshio Kuratomi
2631a8e6e4
Update extras to fix docs build
2015-11-20 14:14:12 -08:00
Toshio Kuratomi
8fd15ae2a3
Merge pull request #13217 from ansible/more-strict-plugin-lookup
...
Fix non-module plugins picking up files that did not end in .py.
2015-11-20 13:50:45 -08:00
Toshio Kuratomi
77c83fd520
Commit submodule refs to the devel HEAD
2015-11-20 12:46:22 -08:00
Toshio Kuratomi
664c7980a2
Update submodule refs
2015-11-20 12:42:44 -08:00
Sebastien Couture
087dbc1ed5
We should give pipes.quote() a string every time
2015-11-20 12:58:50 -05:00
Toshio Kuratomi
591c81e95f
Docker cp sets file ownership to root:root so we can't use it.
...
Fixes #13219
2015-11-20 07:45:00 -08:00
Toshio Kuratomi
d75e707af5
Simplify code a little
2015-11-19 09:55:06 -08:00
Toshio Kuratomi
72558f7ecd
Merge pull request #13074 from joernheissler/patch-13073
...
Use ansible_host in synchronize module
2015-11-19 09:51:43 -08:00
Toshio Kuratomi
c86120cea6
Fix non-module plugins picking up files that did not end in .py.
...
This was caused by accessing the cache using the passed in mod_type
rather than the suffix that we calculate with knowledge of whether this
is a module or non-module plugin.
2015-11-19 09:39:37 -08:00
James Cammarata
c97c101bd3
Merge pull request #13209 from nitzmahone/winrm_put_file
...
fast winrm put_file without size restrictions
2015-11-19 09:58:06 -05:00
James Cammarata
8a0d2e0ef2
Submodule pointer update
2015-11-19 09:08:49 -05:00
James Cammarata
91500f8f5f
Fix include param precedence in variable manager
2015-11-19 09:01:51 -05:00
James Cammarata
78e4f176e6
Return skipped/failed async results directly
...
Fixes #13205
2015-11-19 08:30:00 -05:00
James Cammarata
3b16ad973c
Merge pull request #13201 from ma82/patch-1
...
Fix DataLoader's docstring
2015-11-19 08:13:02 -05:00
Marius Gedminas
66347c9449
Fix NameError when using loops
...
vars_copy disappeared in 3d1255d190
.
Fixes #13213 .
2015-11-19 09:21:06 +02:00
nitzmahone
db83c0e7cd
winrm error handling tweaks
2015-11-18 23:09:16 -08:00
James Cammarata
3d1255d190
Don't update job vars too early when getting loop items in TaskExecutor
...
Fixes #13113
2015-11-18 19:12:38 -05:00
Brian Coca
f8ed99e5e4
Revert "success should not include skipped"
...
This reverts commit 300ee227a2
.
2015-11-19 11:12:18 -08:00
nitzmahone
549163170f
fast winrm put_file without size restrictions
2015-11-18 10:33:45 -08:00
Matteo Acerbi
0127d32652
Fix DataLoader's docstring
...
DataLoader.__init__ doesn't take an argument named vault_password
2015-11-18 11:20:34 +01:00
James Cammarata
9b9fb51d9d
Template the final_environment value in _compute_environment_string()
...
Fixes #13123
2015-11-17 15:39:03 -05:00
Toshio Kuratomi
782aa9a7fd
Update submodule refs
2015-11-17 12:09:46 -08:00
James Cammarata
180159b01d
Adding vars back in and trying to add a little more speed by avoiding copies
2015-11-17 14:44:46 -05:00
James Cammarata
25807f5404
Don't modify things we've put on the queue
...
Fixes #12937
2015-11-17 14:22:52 -05:00
Brian Coca
d35f615af8
added more debug info for command results
2015-11-18 11:18:03 -08:00
Brian Coca
aa55db69fe
Merge pull request #12687 from nitzmahone/pywinrm_arg_passthru
...
Force SSL transport for pywinrm updates, get host+group vars
2015-11-17 11:14:19 -08:00
James Cammarata
f10d2c57c8
Restoring templating of hostvars returned by __getitem__
2015-11-17 10:19:56 -05:00
James Cammarata
9f31c073fe
Fixing a few bugs in the HostVars performance areas
...
* Also refresh inventory in the HostVars manager process when things
are changed via add_host/group_by
* Raise j2undefined rather than return it
2015-11-17 09:15:10 -05:00
James Cammarata
984729016e
Fix tag filtering on included files and add more debugging
...
Previously, we were filtering the task list on tags for each host
that was including the file, based on the idea that the variables
had to include the host information. However, the top level task
filtering is play-context only, which should also apply to the
included tasks. Tags cannot and should not be based on hostvars.
2015-11-16 17:15:52 -05:00
James Cammarata
5cbeab5a3c
Performance improvements for HostVars and some bugfixes
2015-11-16 17:15:52 -05:00
Dann Bohn
7f2cae5405
add REPLACER_SELINUX back into module_common
2015-11-16 16:35:55 -05:00
Brian Coca
355fa4797a
Merge pull request #13186 from nitzmahone/add_host_cache_fix
...
fix for dynamic (add_host) hosts not available in hostvars
2015-11-16 12:01:00 -08:00
Brian Coca
6a2559be02
Merge pull request #13184 from nitzmahone/hostvars_undefined_fix
...
hostvars should return j2 undefined as instance, not type
2015-11-16 11:59:20 -08:00
Toshio Kuratomi
fc7e2912f2
zone connection plugin bugfixes and pipelining and sudo become methods enabled!
...
Thanks to peinheber for helping test and debug this!
2015-11-16 11:14:13 -08:00
nitzmahone
349e072a74
fix for dynamic (add_host) hosts not available in hostvars
...
Looks like there are two pattern caches that need to be cleared for this to work- added the second one.
Added integration tests for add_host to prevent future regressions.
2015-11-16 10:53:10 -08:00
nitzmahone
3bb1f7a561
hostvars should return j2 undefined as instance, not type
...
Looks like someone forgot to create an instance of undefined here- we were returning the undefined type object, which broke all the undefined checks.
Added an integration test around add_host that will catch this (separate PR to follow)
2015-11-16 09:58:23 -08:00
Brian Coca
db27541a0e
Merge pull request #13053 from Etherdaemon/fix_13010_boto3_aws_profile
...
Fixes #13010 by updating boto3 methods
2015-11-16 09:46:26 -08:00
Brian Coca
89646d4253
no need to be executable
2015-11-16 14:40:35 -08:00
Brian Coca
2083a2dffa
Merge pull request #13174 from sebi-hgdata/sebi/consul_kv_issue
...
Consul kv lookup super invocation fix
2015-11-15 14:37:51 -08:00
Brian Coca
83f7942dcf
removed print entries, corrected display calls to match latest devel
2015-11-16 11:35:10 -08:00
Brian Coca
78be81b96d
Merge pull request #12510 from jcftang/devel
...
Initial add of logentries callback plugin
2015-11-15 11:28:02 -08:00
Brian Coca
f1db99caa7
updated with latest changes to default
2015-11-15 10:09:24 -08:00
Brian Coca
eeedaf2cbc
fixed var name typo
2015-11-15 08:43:42 -08:00
Brian Coca
e174247734
evaluate includes for skipped tags
...
cannot evaluate for include tags as underlying tasks might have them, but skips override so this should be a performance boost
2015-11-15 07:51:36 -08:00
Sebi Calbaza
1f052d5ce6
fixed super invocation
2015-11-15 13:48:40 +02:00
Jimmy Tang
19ba54c9fd
Don't be fatal on import errors so plays don't fail if plugin doesn't have required dependencies
2015-11-14 20:02:03 +00:00
Jimmy Tang
125370ab48
Run when whitelisted
2015-11-14 19:46:00 +00:00
Jimmy Tang
5f2f5e2b59
Add boilerplate and fix initialisation to match what 2.0 expects
2015-11-14 08:54:41 +00:00
Jimmy Tang
c02ceb8f12
Remove threading and queues. Added license information and cleaned up callback.
2015-11-14 08:40:16 +00:00
Jimmy Tang
85277c8aae
Initial add of logentries callback plugin
...
This callback plugin will generate json objects to be sent to the
logentries service for auditing/debugging purposes.
To use:
Add this to your ansible.cfg file in the defaults block
[defaults]
callback_plugins = ./callback_plugins
callback_stdout = logentries
callback_whitelist = logentries
Copy the callback plugin into the callback_plugings directory
Either set the environment variables
export LOGENTRIES_API=data.logentries.com
export LOGENTRIES_PORT=10000
export LOGENTRIES_ANSIBLE_TOKEN=dd21fc88-f00a-43ff-b977-e3a4233c53af
Or create a logentries.ini config file that sites next to the plugin with the following contents
[logentries]
api = data.logentries.com
port = 10000
tls_port = 20000
use_tls = no
token = dd21fc88-f00a-43ff-b977-e3a4233c53af
2015-11-14 08:40:16 +00:00
Brian Coca
300ee227a2
success should not include skipped
...
fixes #13161
2015-11-14 14:39:42 -08:00
James Cammarata
07b588f6c0
Version bump for new beta 2.0.0-0.5.beta3
2015-11-13 16:48:25 -05:00
James Cammarata
2b25b7974c
Remove unnecessary sleep from result process
2015-11-13 16:45:45 -05:00
Brian Coca
634e10e5b8
Merge pull request #13156 from amenonsen/broken-timeout
...
If ssh died, it's an error, not a timeout
2015-11-13 10:45:21 -08:00
Abhijit Menon-Sen
26ea9c4351
If ssh died, it's an error, not a timeout
2015-11-13 20:10:08 +05:30
David M. Lee
5bd096208c
Increase the escalation prompt timeout
...
It was set to match the SSH connect timeout. Unfortunately, they would
race when ssh fails to connect, and the connect timeout usually failed.
This led to some misleading error messages.
Fixes #12916
2015-11-13 08:02:37 -06:00
James Cammarata
31b1abf580
Merge pull request #13146 from nitzmahone/gce_error_messaging
...
fix gce module error reporting
2015-11-13 08:46:51 -05:00
nitzmahone
4163655099
fix gce module error reporting
...
Error reporting was broken for GCE modules- pprint didn't work with exceptions, so you'd always get "Unexpected response: {}" instead of the real error.
2015-11-12 16:30:46 -08:00
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
7fd8b86a10
Fix documentation build problems
2015-11-11 12:39:06 -08:00
Toshio Kuratomi
d38ac6a394
Update submodule ref for another new module
2015-11-11 12:33:32 -08:00
Toshio Kuratomi
7807e99bca
A bunch of shipit's merged
2015-11-11 12:19:34 -08:00
Toshio Kuratomi
8aa2cbd647
Fix traceback because we're using display from another object that no
...
longer has it.
2015-11-11 12:19:00 -08:00
James Cammarata
b2b0fa8d13
Changed do/until failed color
...
Fixes #13130
2015-11-11 14:43:15 -05:00
James Cammarata
94c20c9ac6
Cleanup failed/changed logic in TaskExecutor
...
Fixes #12980
2015-11-11 14:23:37 -05: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
186e034515
Move the rest of executor code to global display
2015-11-11 10:44:22 -08:00
Toshio Kuratomi
7ecfa072da
Move the rest of the playbook code to use 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
Toshio Kuratomi
318bfbb207
Migrate cli and dependencies to use global display
2015-11-11 10:44:22 -08:00
Brian Coca
1b7d3f2898
updated submodule refs
2015-11-12 09:41:51 -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
Toshio Kuratomi
c7b69127ec
Remove dead code
2015-11-11 08:12:21 -08:00
Toshio Kuratomi
e45ce871a7
Fix for traceback when neither name nor pkg are in the module params
2015-11-11 07:32:21 -08:00
Toshio Kuratomi
4737305837
Remove dead code as this was moved to another class
2015-11-10 12:18:20 -08:00
Brian Coca
be22a670e5
addes deprecated information to ansible-doc display
...
fixes #13118
2015-11-11 11:15:22 -08:00
Brian Coca
1b349fdf34
Merge pull request #13112 from privateip/eapi
...
add initial support for Arista eAPI
2015-11-10 10:31:26 -08:00
James Cammarata
566144461f
Remove internal use of display and use the top-level import
2015-11-10 12:02:29 -05: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
Peter Sprygada
2e98f7f429
add initial support for Arista eAPI
...
This commit adds the shared module support for Arisat EOS devices
running eAPI. The shared module builds on top of module_utils/urls.py.
2015-11-10 07:59:59 -06:00
James Cammarata
e56fd9e95d
Make sure pattern cache components are converted to unicode
2015-11-10 08:28:45 -05:00
James Cammarata
0b999c602a
Properly figure subset and restrictions into host cache pattern
...
Fixes #13111
2015-11-10 08:23:51 -05:00
James Cammarata
d8fb5efa90
Merge pull request #13102 from Yannig/devel_cache_enhancement
...
New method template_no_cache for template object.
2015-11-10 02:23:42 -05:00
Yannig Perré
0c360d17cb
New parameter for template method.
...
We do not compute hash when we know that the result does not need to be cached (like with_items loop).
It also result in a small speed improvement.
2015-11-10 07:19:19 +01:00
Etherdaemon
27398131cf
Fixes #13010 by updating boto3 methods to update boto3_conn to check for profile_name and if detected, remove from params and set a new variable of profile which is passed into Session separately
2015-11-10 15:22:07 +10:00
James Cammarata
09994c18f3
Correct logic around determining environment variable existence
...
Fixes #13105
2015-11-09 21:04:24 -05:00
James Cammarata
c753ae6e22
Fixing up host pattern caching to avoid bugs
...
* Always cache and return unique list objects, so that if the list
is changed later it does not impact the cached results
* Take additional parameters and the type of the pattern into account
when building the hash string
2015-11-09 20:55:13 -05:00
James Cammarata
e8f83dcba3
Revert "Temporarily disable template caching"
...
This reverts commit 4d1757ce64
.
2015-11-09 20:41:59 -05:00
James Cammarata
4d1757ce64
Temporarily disable template caching
2015-11-09 17:09:13 -05:00
Toshio Kuratomi
995db275f8
Update submodule refs
2015-11-09 13:48:34 -08:00
Toshio Kuratomi
db5d3f03a9
Fix first_found not finding files in roles (only templates)
2015-11-09 13:47:17 -08:00
James Cammarata
ccbcfcddfc
Move where we add environment and make it conditional on not existing
...
Also displays a warning now, because users should not be using that variable
name as it causes a collision with the internal variable of the same name.
2015-11-09 16:28:54 -05:00
Brian Coca
37ae243587
made get_file_lines rely on get_file_content which deals with many error
...
conditions that the former did not.
2015-11-10 13:22:45 -08:00
ghislainbourgeois
eb850d7e5b
Fix get_dns_facts on inexistent resolv.conf
2015-11-09 15:02:03 -05:00
James Cammarata
e36b4e2a13
Merge pull request #13072 from Yannig/devel_cache_optimization
...
Cache optimization
2015-11-09 14:54:06 -05:00
James Cammarata
76ae577519
Ensure environment is inherited properly (task->block/include->play)
2015-11-09 14:51:07 -05:00
James Cammarata
937584cd52
Ensure 'environment' is set in the magic variables
...
Fixes #13033
2015-11-09 14:50:39 -05:00
James Cammarata
7e04947599
Be more selective about what variables we cache during templating
...
Fixes #13087
2015-11-09 14:07:48 -05:00
Toshio Kuratomi
1a04f354f3
For with_first_found loops, set undefined variables to fall through rather than failing the task
2015-11-09 10:51:54 -08:00
Brian Coca
240acb1924
Merge pull request #13092 from privateip/nxapi
...
initial shared module support for nxapi
2015-11-09 08:43:30 -08:00
Peter Sprygada
f88273eb87
changes the nxapi argument spec to require url_password
2015-11-09 09:45:26 -05:00
Peter Sprygada
d3d36eb766
fixes conditional statement for py24 compatibility
2015-11-09 09:36:17 -05:00
Peter Sprygada
64e139adb1
add initial support for Cisco NXAPI
...
This commit adds the shared module support for Cisco NXAPI. The shared
module builds on top of the urls shared module. The urls module provides
the http/s transport. This module only supports the JSON request message
format.
2015-11-09 09:18:38 -05:00
Rene Moser
1d59caed07
cloudstack: change order of tags handling, fixes update of tag value does not work
2015-11-08 20:27:01 +01:00
Rene Moser
3410a855b0
cloudstack: use jop polling in tag handling, fixes outdated tags returned.
...
In some cases the async job did not finish fast enough, causing returning an unexpeded result.
2015-11-08 20:23:06 +01:00
Joern Heissler
647b92a79b
Use ansible_host in synchronize module
...
Fixes #13073
2015-11-08 13:15:16 +01:00
Yannig Perré
12a6fb9633
Small speed improvement with huge inventory (100+ hosts).
2015-11-07 19:32:10 +01:00
James Cammarata
dd4ca66e1e
Make sure hostvars cache is recreated during serialization
2015-11-06 22:21:50 -05:00
James Cammarata
5040abaaf2
Merge branch 'devel_cache_for_do_template_call' of https://github.com/Yannig/ansible into Yannig-devel_cache_for_do_template_call
2015-11-06 22:04:52 -05:00
Brian Coca
9a25e16140
set corrected force default
2015-11-06 19:06:58 -05:00
Toshio Kuratomi
47f187b221
Update submodule refs
2015-11-06 10:30:42 -08:00
James Cammarata
59b67a2f68
Reset workers list when recreating processes
...
Also renames some things to be more accurate
2015-11-06 12:10:15 -05:00
Brian Coca
5b84bd6b5d
Merge pull request #13056 from alxgu/sles_sap_family
...
Add SLES_SAP as a Suse family
2015-11-06 08:58:31 -05:00
Brian Coca
226c7f4c7b
Revert "added setting of ansible_ssh_user to current user as backwards compatibilty issue"
...
scope was wrong, this var should not be 'reset' here.
This reverts commit c271c0eb04
.
2015-11-06 08:31:56 -05:00
Brian Coca
9c24f88eca
updated forks comment
2015-11-06 08:31:56 -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
Alexander Gubin
215fc12234
Add SLES_SAP as a Suse family
2015-11-06 09:42:39 +01:00
Brian Coca
5c7d717f31
made ansibledoc more consistent with term sizes, it now uses display class column calculations
...
cleared up snippet display
2015-11-05 17:42:14 -05:00
James Cammarata
1027abd596
Cleaning up bugs related to perf improvement changes
2015-11-05 16:42:12 -05: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
483c25a609
Revert "switched host patterns to use sets, simplified logic which now uses buitins"
...
need this to be lists, for order and other considerations
This reverts commit 8e2f0b3f2c
.
2015-11-05 15:41:17 -05:00
Brian Coca
88ba46aee0
Revert "fixed append to add"
...
good change on top of bad
This reverts commit 699f344e17
.
2015-11-05 15:40:52 -05:00
Brian Coca
699f344e17
fixed append to add
2015-11-05 15:24:20 -05:00
Brian Coca
8e2f0b3f2c
switched host patterns to use sets, simplified logic which now uses buitins
2015-11-05 15:02:06 -05:00
Brian Coca
883f451158
fixed snippet display, short_desc is a string, not a list
2015-11-05 14:32:18 -05:00
Brian Coca
95604573ee
improved the message when there is no module path override
2015-11-05 14:32:18 -05:00
Brian Coca
f4912dd88a
added callback fallback to v1 methods for backwards compat with existing callbacks
2015-11-05 13:04:50 -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
Toshio Kuratomi
4f6d4c6bf6
Set task_action when the action does not need to be templated
...
Fixes #13042
2015-11-05 08:38:21 -08:00
Brian Coca
9753de35a7
Merge pull request #13038 from bcoca/min_forks_to_play
...
use minimal number of forks
2015-11-05 11:22:15 -05:00
Toshio Kuratomi
586cbb9fda
Update core submodule ref
2015-11-04 19:44:42 -08:00
Toshio Kuratomi
483491ddfb
template the task_action before checking whether to optimize with_item loops for it.
...
Fixes the second problem discovered in #12976
2015-11-04 19:41:55 -08:00
Toshio Kuratomi
9e758d3d97
Do not optimize with_items loop if the items are not strings
...
The code isn't sophisticated enough to understand lists and dicts yet.
This mirrors how 1.9.x handled non-string items so its not a regression.
One portion of a fix for #12976
2015-11-04 18:48:41 -08:00
Brian Coca
931eb16e55
clearer selection of min value
...
cleanup workers at each run to avoid stragglers
2015-11-04 17:28:08 -05:00
Yannig Perre
ccbdd6229a
Use static vars when computing host vars known to be static (inventory_hostname, inventory_dir etc.).
2015-11-04 22:16:14 +01:00
Yannig Perre
e0aa3ff232
Cache against hosts pattern (fix a part of problem describe in https://github.com/ansible/ansible/issues/13023 ).
2015-11-04 22:15:02 +01:00
Brian Coca
b44f1428d0
use minimal number of forks taking serial, forks and play patterns into account
2015-11-04 15:16:20 -05:00
Brian Coca
3c35655b52
removed serial as it is not avialable for fork control
...
fixes #13037
2015-11-04 14:04:47 -05:00
Brian Coca
0abeff4511
better limiting of forks to lowest actual restriction
2015-11-04 12:47:10 -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
Lars Larsson
3289670a04
treat forks config parameter as max value instead of always creating that number of workers
2015-11-04 17:13:26 +01:00
Will Thames
91b6004149
Allow blank lines and comments/spaces in galaxy spec files
...
Fixes #10641 again. (Regression)
Added test to discourage future such regression.
2015-11-04 15:36:20 +10:00
Toshio Kuratomi
07d0d2720c
Update submodule refs
2015-11-03 14:13:16 -08:00
Toshio Kuratomi
9ce3adbeb1
remove assigned but unused variables in module_utils.
...
These were mostly saving exceptions but not using them. Getting rid of
those will help with eventually running modules via either python2.4 or
python3.x.
2015-11-03 09:53:18 -08:00
Toshio Kuratomi
c08648999d
Remove some more unused stdlib deps.
2015-11-03 09:53:18 -08:00
Toshio Kuratomi
658ea053ea
Cleanup timer callback plugin's overwriting of modules it imported
2015-11-03 09:53:18 -08:00
Eric Johnson
dfad7c64fb
Allow PATCH to list of valid HTTP methods
2015-11-03 17:38:52 +00:00
Brian Coca
8d3da20302
fixed bsd service_mgr_facts using removed check_init fucntion
2015-11-03 11:43:50 -05:00
Yannig Perré
30f827d92d
Fix python3 test.
2015-11-03 11:52:09 +01:00
Abhijit Menon-Sen
7caefa5cd9
Fix typo
2015-11-03 10:57:48 +05:30
Toshio Kuratomi
a7d1a39b81
Update core submodule ref
2015-11-02 17:38:28 -08:00
Toshio Kuratomi
2df0022a3e
Update submodule refs
2015-11-02 17:12:16 -08:00
Brian Coca
eb04650ffb
Merge pull request #12162 from bcoca/service_mgr_facts
...
fact gathering service_mgr info
2015-11-02 15:34:43 -05:00
Brian Coca
a1a5dadef6
remove uneeded module
2015-11-02 15:36:11 -05:00
Yannig Perré
130139dc80
Fix unicode issue introduced by previous commit.
2015-11-02 21:32:49 +01:00
Toshio Kuratomi
3219744d32
One more stdlib import in module_utils
2015-11-02 12:25:18 -08:00
Brian Coca
d194e2c788
check_systemd is not inline but a private fact function now
2015-11-02 15:23:47 -05:00
Brian Coca
e9efd008ed
moved distutils import to mac, darn solaris would complain in certain cases
2015-11-02 15:23:47 -05:00
Brian Coca
99d775a0c1
fact gathering service_mgr info
...
also added dragonfly facts support
2015-11-02 15:23:47 -05:00
Yannig Perré
4a8d1703d4
New patch against hostvars.py. With this patch, Ansible run lose 50% of time.
...
Little rewrite of previous patch to use sha1 signature.
Use fail_on_undefined to compute sha1 signature.
2015-11-02 21:04:20 +01:00
Toshio Kuratomi
1bc75374dc
Add imports for stdlib modules that are used.
...
This is cleanup that will aid us when we get ziploader implemented for 2.1
2015-11-02 12:02:26 -08:00
Toshio Kuratomi
107d025d8a
Update extras submodule ref for doc fixes
2015-11-02 11:39:57 -08:00
Toshio Kuratomi
99561e88d4
Update submodule refs
2015-11-02 10:56:39 -08:00
Brian Coca
79bf66336b
switched clean_data from hardcoded delimiters to actual currently set jinja2 environment delimiters
2015-11-02 09:00:56 -05:00
Yannig Perré
805f768dab
Clear cache when updating template variables.
2015-11-02 07:57:44 +01:00
Brian Coca
467c29e3db
show task path on 2 vs
2015-11-01 17:43:11 -05:00
Yannig Perré
87a9485b2f
Cache for _do_template call. May result in nice speed improvement (4-5 times faster).
2015-11-01 22:30:55 +01:00
Rene Moser
c09a34bb10
cloudstack: clean up unneeded ";"
2015-11-01 17:13:46 +01:00
Brian Coca
f528ad1848
added xbps pkg mgr to facts
2015-10-31 22:03:12 -04:00
Brian Coca
13bf62d0e6
remove deprecation for :, add ; functionality (its deprecated but it should work)
2015-10-31 16:35:40 -04:00
Brian Coca
d341ba14a5
fixed rekey password handling
2015-10-31 14:13:03 -04:00
Brian Coca
00bc74404a
vault noe preserves permissions on edit and rekey and sets a restricitve default umask for all other cases
2015-10-31 14:13:03 -04: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
f5b095f6c8
properly sanitize registered vars
2015-10-30 16:42:06 -04:00
Brian Coca
b6c92dacb5
removed key striping as they are read up the chain
2015-10-30 14:03:37 -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
c61499168e
Merge pull request #12962 from bcoca/pull_fixes
...
fixes options for ansible pull
2015-10-30 09:46:09 -04:00
James Cammarata
56e5e72aaa
Make handlers obey run_once (or BYPASS_HOST_LOOP)
...
Fixes #12972
2015-10-30 09:44:35 -04:00
James Cammarata
a5bd92ca4b
Merge branch 'devel_fix_debug_var' of https://github.com/Yannig/ansible into Yannig-devel_fix_debug_var
2015-10-30 08:37:03 -04:00
Brian Coca
237f8c9df7
removed debug print
2015-10-29 20:34:55 -04:00
James Cammarata
479cbfc63c
Don't immediately fail on PlayContext setup
...
As we may end up skipping the task due to conditionals.
Fixes #12774
2015-10-29 19:23:42 -04:00
Brian Coca
9f148fc046
removed requirement of destination and set documented default
2015-10-29 16:28:46 -04:00
Brian Coca
40d22be2ef
fixes options for ansible pull
...
* remove requirement for host patterns, use the defaults
* require destination directory (None in cwd is not a good default)
* fixed usage messages
* updated default inventory to use , and not deprecated :
2015-10-29 16:28:46 -04:00
Brian Coca
b73941b95f
updated submodule refs
2015-10-29 16:06:33 -04:00
Toshio Kuratomi
508bffef02
Update extras submodule ref
2015-10-29 10:20:55 -07:00
Brian Coca
b8bc15fe02
switched to backticks to allow for non bourne shells to work
2015-10-29 12:45:53 -04:00
Yannig Perré
1febf7cb88
Fix for issue #12952 : this code interfere with debug+var and seems to be unnecessary.
2015-10-28 22:09:13 +01:00