Yannig Perré
a4674906c6
Merge role params into variables separately from other variables
...
Fixes #13617
2015-12-21 13:03:09 -05:00
James Cammarata
6ae04c1e4f
Fix logic in PlayIterator when inserting tasks during rescue/always
...
Because the fail_state is potentially non-zero in these block sections,
the prior logic led to included tasks not being inserted at all.
Related issue: #13605
2015-12-20 12:39:08 -05:00
James Cammarata
3ec0104128
Fixing bugs in conditional testing with until and some integration runner tweaks
2015-12-19 21:14:48 -05:00
Brian Coca
bb2935549f
corrected service detection in docker versions
...
now if 1 == bash it falls back into tool detection
2015-12-19 16:16:10 -05:00
Toshio Kuratomi
e66c070e5c
Add package module to squash list
2015-12-19 13:00:58 -08:00
Toshio Kuratomi
224d596336
Remove args from get_name() as we can't tell if any of the args are no_log
2015-12-19 11:51:16 -08:00
Toshio Kuratomi
8ffc1fa838
Comment to explain why we strip _ansible_notify specially
2015-12-19 11:31:46 -08:00
Toshio Kuratomi
d32a885e98
Make return invocation information so that our sanitized copy will take precedence over what the executor knows.
2015-12-19 11:24:59 -08:00
Toshio Kuratomi
2936682f00
Revert "removed invocation info as it is not no_log aware"
...
This reverts commit 6127a8585e
.
2015-12-19 11:09:20 -08:00
Brian Coca
6127a8585e
removed invocation info as it is not no_log aware
...
This was added in 1.9 and 2.0 tried to copy, but since it cannot
obey no_log restrictions I commented it out. I did not remove as
it is still very useful for module invocation debugging.
2015-12-19 11:48:48 -05:00
Toshio Kuratomi
07a0059306
update submodule ref for doc fix
2015-12-18 22:23:25 -08:00
Toshio Kuratomi
3197eeaaa8
update submodule refs
2015-12-18 22:16:49 -08:00
James Cammarata
a3dcb910b8
Fixing bugs with {changed,failed}_when and until with registered vars
...
* Saving of the registered variable was occuring after the tests for
changed/failed_when.
* Each of the above fields and until were being post_validated too early,
so variables which were not defined at that time were causing task
failures.
Fixes #13591
2015-12-18 10:58:55 -05:00
Toshio Kuratomi
3057fc1753
Update submodule ref for mysql_user fix
2015-12-17 13:46:15 -08:00
James Cammarata
4ba7158282
Fixing a mistake from tweaking list stuff too much
...
Use the action only if the task name is not set
2015-12-17 16:33:23 -05:00
James Cammarata
d4ffc96c80
Further tweaks to the output format of list tasks/tags
2015-12-17 16:30:23 -05:00
James Cammarata
5929ffc7c3
Make --list-tasks respect tags
...
Also makes the output closer to the appearance of v1
Fixes #13260
2015-12-17 16:10:27 -05:00
Toshio Kuratomi
bad1c173b8
Update core submodule for mysql_db fix
2015-12-17 11:36:36 -08:00
Toshio Kuratomi
1b5e7ce025
Update submodule refs
2015-12-17 10:23:30 -08:00
James Cammarata
e546219426
Revert "Enable host_key checking at the strategy level"
...
This reverts commit 1a6d660d7e285cceec474952a33af4d8dffd0a8d.
2015-12-17 12:43:47 -05:00
James Cammarata
586208234c
Revert "Fixing bugs in ssh known_host fetching"
...
This reverts commit 21c127c581
.
2015-12-17 12:43:47 -05:00
James Cammarata
21c127c581
Fixing bugs in ssh known_host fetching
...
* If remote_addr is not set in the PlayContext, use the host.address
field instead (which is how the action plugin works)
Fixes #13581
2015-12-17 12:06:17 -05:00
James Cammarata
d9c74536be
Fix handling of environment inheritence, and template each inherited env
...
Environments were not being templated individually, so a variable environment
value was causing the exception regarding dicts to be hit. Also, environments
as inherited were coming through with the tasks listed first, followed by the
parents, so they were being merged backwards. Reversing the list of environments
fixed this.
2015-12-17 09:44:40 -05:00
James Cammarata
e5c2c03dea
Enable host_key checking at the strategy level
...
Implements a new method in the ssh connection plugin (fetch_and_store_key)
which is used to prefetch the key using ssh-keyscan.
2015-12-16 21:41:07 -05:00
James Cammarata
15135f3c16
Make sure we're using the original host when processing include results
...
Also fixes a bug where we were passing an incorrect number of parameters to
_do_handler_run() when processing an include file in a handler task/block.
Fixes #13560
2015-12-16 19:13:45 -05:00
James Cammarata
857456ea5f
Fixing template integration test for python 2.6 versions
...
No longer immediately fallback to to_json if simplejson is not installed
2015-12-16 18:22:22 -05:00
Toshio Kuratomi
fd4ad2c8f2
Update submodule ref to fix a bug in mysql_user with mariadb
2015-12-16 14:08:08 -08:00
James Cammarata
8716bf8021
All variables in complex args again
...
Also updates the CHANGELOG to note the slight change, where bare variables
in args are no longer allowed to be bare variables
Fixes #13518
2015-12-16 16:39:08 -05:00
James Cammarata
76b4b9ed2c
Merge pull request #13501 from chouseknecht/galaxy-2.0-update
...
Galaxy 2.0 update
2015-12-16 15:01:12 -05:00
nitzmahone
baece499df
fix plugin loading for Windows modules
...
force plugin loader to only consider .py files, since that's the only place docs can live ATM...
2015-12-16 11:47:12 -08:00
Toshio Kuratomi
9724117bbb
Update submodule refs for mysql refactor
2015-12-16 11:15:39 -08:00
Toshio Kuratomi
1116bc6ca6
Merge pull request #13191 from Jmainguy/mysql
...
Add shared connection code for mysql modules
2015-12-16 10:47:49 -08:00
Jonathan Mainguy
34e88e48a5
Add shared connection code for mysql modules
2015-12-16 13:36:18 -05:00
James Cammarata
6a252a3f77
Preserve the cumulative path for checking includes which have parents
...
Otherwise, each relative include path is checked on its own, rather
than in relation to the (possibly relative) path of its parent, meaning
includes multiple level deep may fail to find the correct (or any) file.
Fixes #13472
2015-12-16 11:23:06 -05:00
Toshio Kuratomi
0095d04af9
Update submodule refs
2015-12-16 08:02:46 -08:00
Toshio Kuratomi
7d519127fe
Merge pull request #13573 from ansible/ssl-context-with-proxy
...
Fix a few problems with url handling.
2015-12-16 08:00:59 -08:00
Toshio Kuratomi
33863eb653
Conditionally create the CustomHTTPSConnection class only if we have the required baseclasses.
...
Fixes #11918
2015-12-16 07:47:09 -08:00
Toshio Kuratomi
72a0654b81
Fixes for proxy on RHEL5
2015-12-16 07:47:07 -08:00
Toshio Kuratomi
73ead4fbba
First attempt to fix https certificate errors through a proxy with python-2.7.9+
...
Fixes #12549
2015-12-16 07:46:54 -08:00
Brian Coca
97275110d7
Merge pull request #13533 from bcoca/debug_fixes
...
debug now validates its params
2015-12-16 10:36:20 -05:00
James Cammarata
fcc9258b74
Use the original host rather than the serialized one when processing results
...
Fixes #13526
Fixes #13564
Fixes #13566
2015-12-16 01:48:22 -05:00
Toshio Kuratomi
d203438a2c
Merge pull request #13554 from Yannig/devel_fix_python3_tests
...
Use six lib to import urlparse properly.
2015-12-15 07:55:56 -08:00
Brian Coca
be5488cb60
clean debug output to match prev versions
2015-12-15 09:27:53 -05:00
Brian Coca
a0842781a6
renamed ssh.py shared module file to clarify
2015-12-15 08:45:12 -05:00
Yannig Perré
be4d1f9ee3
Fix a part of python 3 tests (make tests-py3, see https://github.com/ansible/ansible/issues/13553 for more details).
2015-12-15 13:37:35 +01:00
Peter Sprygada
27cd7668c1
the ssh shared module will try to use keys if the password is not supplied
...
The current ssh shared module forces only password based authentication. This
change will allow the ssh module to use keys if a password is not provided.
2015-12-15 07:16:28 -05:00
Toshio Kuratomi
8d16638fec
Fix for template module not creating a file that was not present when force=false
2015-12-14 10:55:21 -08:00
Michael Scherer
a7ac98262d
Make module_utils.known_hosts.get_fqdn work on ipv6
2015-12-14 19:30:54 +01:00
Toshio Kuratomi
c9eb41109f
Update submodule refs
2015-12-14 08:03:56 -08:00
James Cammarata
80d23d639c
Use an octal representation that works from 2.4->3+ for known_hosts
2015-12-14 10:43:30 -05:00
James Cammarata
6312e38133
Fixing up some non-py3 things for unit tests
2015-12-14 10:35:58 -05:00
Brian Coca
2a37f11738
Merge pull request #13542 from h0nIg/devel_default_ask
...
ansible vault, ask pass: use default settings from ansible.cfg
2015-12-14 09:14:48 -05:00
Hans-Joachim Kliemeck
f5f9b2fd35
use default settings from ansible.cfg
2015-12-14 15:04:31 +01:00
James Cammarata
f8ff63f8c8
A few tweaks to improve new forking code
2015-12-14 03:06:52 -05:00
Brian Coca
175c2d6510
Merge pull request #13502 from robinro/patch-3
...
use shallow clones by default in ansible-pull
2015-12-13 09:31:35 -05:00
Toshio Kuratomi
2bc3683d41
Restore comment about for-else since it is an uncommon idiom
2015-12-13 05:55:31 -08:00
chouseknecht
06dde0d332
Fixed documentation typos and bits that needed clarification. Fixed missing spaces in VALID_ACTIONS.
2015-12-13 05:23:04 -05:00
chouseknecht
342dee0023
Define and handle ignore_certs correctly. Preserve search term order. Tweak to Galaxy docsite.
2015-12-13 05:23:04 -05:00
chouseknecht
bc73920090
Updated ansible-galaxy man page. Removed -b option for import.
2015-12-13 05:23:04 -05:00
chouseknecht
d8e6bc98a2
Fix overloaded options. Show an error when no action given. Don't show a helpful list of commands and descriptions.
2015-12-13 05:23:04 -05:00
Robin Roth
1bd8d97093
fix whitespace
2015-12-13 11:19:50 +01:00
Robin Roth
1b2ebe8def
make shallow clone the default for ansibel-pull
2015-12-13 10:56:47 +01:00
Brian Coca
d73562902b
debug now validates its params
...
simplified var handling
made default message the same as in pre 2.0
fixes #13532
2015-12-13 00:13:13 -05:00
Brian Coca
f3bedbae29
simplified skippy
...
thanks agaffney!
2015-12-12 17:50:55 -05:00
Brian Coca
99e46440bd
changed shell delimiters for csh
...
fixes #13459
2015-12-12 16:10:18 -05:00
Brian Coca
8e445c551a
removed unused imports in galaxy/cli
2015-12-12 13:43:10 -05:00
James Cammarata
120b9a7ac6
Changing the way workers are forked
2015-12-11 23:35:07 -05:00
Brian Coca
ae988ed753
avoid set to unique hosts to preserver order
...
swiched to using a list comp and set to still unique but keep expected order
fixes #13522
2015-12-11 15:38:04 -05:00
Brian Coca
de71171fc2
removed merge conflict
2015-12-11 15:11:26 -05:00
James Cammarata
7f7e730dea
Don't mark hosts failed if they've moved to a rescue portion of a block
...
Fixes #13521
2015-12-11 14:55:44 -05:00
Brian Coca
d9e510b192
narrow down exception catching in block builds
...
this was obscuring other errors and should have always been narrow scope
2015-12-11 13:13:05 -05:00
Chrrrles Paul
e56efa49c4
Merge pull request #13509 from chrrrles/vca_default_host
...
fix default host for non vcd service types
2015-12-11 10:17:55 -05:00
Abhijit Menon-Sen
37c4e9aee3
Clean up debug logging around _low_level_execute_command
...
We were logging the command to be executed many times, which made debug
logs very hard to read. Now we do it only once.
Also makes the logged ssh command line cut-and-paste-able (the lack of
which has confused a number of people by now; the problem being that we
pass the command as a single argument to execve(), so it doesn't need an
extra level of quoting as it does when you try to run it by hand).
2015-12-11 07:11:48 +05:30
Charles Paul
a6a58d6947
fix default host for non vcd service types
2015-12-10 16:39:27 -05:00
Toshio Kuratomi
bd9582d072
Update submodule refs
2015-12-10 08:10:45 -08:00
Toshio Kuratomi
1dda8158ff
become_pass needs to be bytes when it is passed to ssh.
...
Fixes #13240
2015-12-10 07:29:38 -08:00
Charles Paul
6680cc7052
allow custom callbacks with adhoc cli for scripting
...
missing import of CallbackBase
2015-12-10 09:49:54 -05:00
Robin Roth
c20c1a6d49
add depth option to ansible-pull
...
Allows shallow checkouts in ansible-pull by adding `--depth 1` (or higher number)
2015-12-10 11:16:21 +01:00
James Cammarata
2b36343451
Missed one place we were appending the incorrectly escaped item to raw params
2015-12-09 17:58:44 -05:00
Toshio Kuratomi
62cbc03af6
Revert "Remove the funcd connection plugin"
...
This reverts commit c0d79cf7e1
.
We may still port the funcd connection plugin, just not in time for
2.0.0
2015-12-09 13:32:11 -08:00
James Cammarata
30b6dd8bcd
Merge pull request #13495 from Yannig/devel_debug_null_error
...
Do not fail when variable is not correct in debug action.
2015-12-09 16:27:05 -05:00
Yannig Perré
18ac12aee6
Do not fail when variable is not correct in debug action.
...
See https://github.com/ansible/ansible/issues/13484 for more information.
2015-12-09 22:08:30 +01:00
Toshio Kuratomi
c0d79cf7e1
Remove the funcd connection plugin
2015-12-09 13:07:00 -08:00
Brian Coca
64864829c4
changed deprecation to removal warning
2015-12-09 12:37:56 -08:00
Toshio Kuratomi
61dc4a7e67
Update module refs
2015-12-09 12:10:21 -08:00
James Cammarata
14e19c239d
Make on_file_diff callback item-aware
2015-12-09 14:52:53 -05:00
Brian Coca
04d74fd680
reenabled --tree for ansible adhoc command
...
previous fix to avoid callbacks now conflicted with tree optoin
which is implemented as a callback in 2.0
2015-12-09 10:13:50 -08:00
Brian Coca
7936a4687e
adhoc avoids callbacks by default as it did before
...
Previous emptying of whitelist only affected callbacks that were
constructed for need whitelist. This now works for all callbacks.
2015-12-09 10:01:21 -08:00
Brian Coca
ae2447df91
attribute defaults that are containers are a copy
...
This is simpler way to prevent persistent containers across instances
of classes that use field attributes
2015-12-09 08:40:06 -08:00
Brian Coca
2bfb13bfb3
removed unused 'pattern' from ansible.cfg
...
also moved the config param to a 'deprecated' list in constants.py
added TODO for producing a deprecation warning for such vars
2015-12-09 08:40:06 -08:00
Brian Coca
2820b4c243
removed default from hosts to make it requried
...
prevents writing a play w/o a hosts entry which would default to
all/empty
2015-12-09 08:40:06 -08:00
Brian Coca
c64298de02
Revert "avoid persistent containers in attribute defaults"
...
This reverts commit 87969868d4
.
found better way to do it
2015-12-09 08:40:06 -08:00
James Cammarata
332a008273
Merge pull request #13489 from chouseknecht/galaxy-2.0
...
Galaxy 2.0
2015-12-09 11:29:20 -05:00
chouseknecht
4f84769a17
Galaxy 2.0
2015-12-09 10:51:12 -05:00
Brian Coca
87969868d4
avoid persistent containers in attribute defaults
...
moved from the field attribute declaration and created a placeholder
which then is resolved in the field attribute class.
this is to avoid unwanted persistent of the defaults across objects which introduces
stealth bugs when multiple objects of the same kind are used in succession while
not overriding the default values.
2015-12-09 07:29:36 -08:00
Brian Coca
0719eb3e2d
clarified warning from tree callback
2015-12-09 07:29:12 -08:00
Brian Coca
d82d65ee7b
keep string type filters as strings
...
now we don't try to convert types if using a filter that outputs a specifically formated string
made list of filters configurable
2015-12-08 12:52:20 -08:00
James Cammarata
1799de8528
Preserve original token when appending to _raw_params in parse_kv
...
Fixes #13311
2015-12-08 15:06:36 -05:00
Brian Coca
795fac917e
fixed typo in tree callback, added default dir
...
this would allow it to work with playbooks also
2015-12-08 11:59:04 -08:00
James Cammarata
398f6bbb89
Fix typo from 5ae850c
2015-12-08 14:36:36 -05:00
James Cammarata
de690445bc
Make fact delegating configurable, defaulting to 1.x behavior
2015-12-08 14:36:33 -05:00
Brian Coca
7ffd578a9d
Revert "Fix always_run support in the action plugin for template when copying"
...
This reverts commit 9c4eae5253
.
2015-12-08 09:24:20 -08:00
Brian Coca
d4ccb0be59
have always_run override check mode for a task
...
Fixes #13418
2015-12-08 09:24:07 -08:00
James Cammarata
9c4eae5253
Fix always_run support in the action plugin for template when copying
...
Fixes #13418
2015-12-08 11:56:39 -05:00
David L Ballenger
cdc3c88018
Merge remote-tracking branch 'ansible/devel' into issue_13438
2015-12-08 07:42:49 -08:00
Peter Sprygada
2d5b4b1799
Merge pull request #13273 from privateip/nxapi
...
adds new device argument to nxapi command arguments
2015-12-08 10:24:07 -05:00
David L Ballenger
970d7cadb7
Add ssh_host support for MacOSX El Capitan.
...
OS X El Capitan moved the /etc/ssh_* files into /etc/ssh/. This fix
adds a distribution version check for Darwin to set the keydir
appropriately on El Capitan and later.
2015-12-08 07:11:02 -08:00
Brian Coca
9ae1dede03
adhoc does not load plugins by default
...
reimplemented feature from 1.x which kept additional callbacks from
poluting adhoc unless specifically asked for through configuration.
2015-12-08 06:37:57 -08:00
Brian Coca
17b334d4a5
Merge pull request #13450 from privateip/feature_ios_shared_module
...
bugfix for ios.py shared module argument creation
2015-12-07 09:59:04 -05:00
James Cammarata
540cbe0f64
Merge pull request #13445 from n-st/tasks-string-repr
...
More meaningful string representation for meta tasks (like 'noop' and 'flush_handlers')
2015-12-07 08:10:54 -05:00
James Cammarata
2884ff3932
Merge pull request #13455 from Yannig/devel_fix_debug_var_when_content_same_as_name
...
Fix issue when var name is the same as content.
2015-12-07 08:02:22 -05:00
Yannig Perré
2c8eee956f
Fix issue when var name is the same as content.
...
See https://github.com/ansible/ansible/issues/13453 for more details.
2015-12-07 09:25:37 +01:00
Toshio Kuratomi
4d637e5780
Use self.args when we parse arguments that way the arguments can be constructed manually
2015-12-06 22:17:47 -08:00
Toshio Kuratomi
a8e015cc22
Add representers so we can output yaml for all the types we read in from yaml
2015-12-06 22:17:47 -08:00
Peter Sprygada
41773630ed
adds new device argument to nxapi command arguments
...
The device argument allows a dict of nxapi parameters to be passed to
the module to simplify passing the nxapi parameters
2015-12-05 22:51:40 -05:00
Brian Coca
8607aa527d
Merge pull request #13446 from lberruti/no_target_syslog
...
Make no_target_syslog consistent.
2015-12-05 16:08:00 -05:00
Brian Coca
955710267c
only set become defaults at last possible moment
...
tasks were overriding commandline with their defaults, not with the
explicit setting, removed the setting of defaults from task init and
pushed down to play context at last possible moment.
fixes #13362
2015-12-05 16:03:50 -05:00
Luca Berruti
8ea45e8608
Make no_target_syslog consistent.
...
no_target_syslog = False --> do log on target
2015-12-05 19:43:02 +01:00
Brian Coca
f89f906f87
simplified get_hosts code to have 1 retrun point
2015-12-05 10:10:25 -05:00
Nils Steinger
a1f6d17e37
More meaningful string representation for meta tasks (like 'noop' and 'flush_handlers')
2015-12-05 15:55:39 +01:00
Nils Steinger
0129fb0a44
Remove duplicates from host list *before* caching it
...
Ansible previously added hosts to the host list multiple times for commands
like `ansible -i 'localhost,' -c local -m ping 'localhost,localhost'
--list-hosts`.
8d5f36a
fixed the obvious error, but still added the un-deduplicated list to a
cache, so all future invocations of get_hosts() would retrieve a
non-deduplicated list.
This caused problems down the line: For some reason, Ansible only ever
schedules "flush_handlers" tasks (instead of scheduling any actual tasks from
the playbook) for hosts that are contained in the host lists multiple times.
This probably happens because the host states are stored in a dictionary
indexed by the hostnames, so duplicate hostname would cause the state to be
overwritten by subsequent invocations of … something.
2015-12-05 15:54:08 +01:00
Toshio Kuratomi
c8fd599e14
Merge pull request #13373 from no2a/boolean
...
BOOLEAN should contain boolean literals
2015-12-04 12:17:12 -08:00
Toshio Kuratomi
0434644d12
Transform exceptions into ansible messages via to_unicode instead of str to avoid tracebacks.
...
Fixes #13385
2015-12-04 11:50:39 -08:00
James Cammarata
84507aedd4
Adding a uuid field so we can track host equality across serialization too
2015-12-04 13:33:27 -05:00
James Cammarata
750adbaa27
Changing up how host (in)equality is checked
...
Fixes #13397
2015-12-04 12:57:46 -05:00
Toshio Kuratomi
e385c91fa5
Update submodule refs#
2015-12-04 09:57:06 -08:00
Brian Coca
d5446f9804
fixed ansible-pull broken options
...
* sudo was not working, now it supports full become
* now default checkout dir works, not only when specifying
* paths for checkout dir get expanded
* fixed limit options for playbook
* added verbose and debug info
2015-12-03 20:47:02 -08:00
Brian Coca
e1c62fb5af
reverted to previous pull checkout dir behaviour
...
This fixes bugs with not finding plays when not specifying checkout dir
Also makes it backwards compatible
2015-12-03 19:42:05 -08:00
Brian Coca
8d5f36a6c2
return unique list of hosts
2015-12-03 19:39:57 -08:00
Brian Coca
a1f516824e
corrected playbook path, reformated options help
...
the last just to make the help consistent and readable
2015-12-03 18:23:53 -08:00
Brian Coca
26520442bd
Now and/or shell expressions depend on shell plugin
...
This should fix issues with fish shell users as && and || are
not valid syntax, fish uses actual 'and' and 'or' programs.
Also updated to allow for fish backticks pushed quotes to subshell,
fish seems to handle spaces w/o them.
Lastly, removed encompassing subshell () for fish compatibility.
fixes #13199
2015-12-03 16:38:34 -08:00
James Cammarata
f467f1770f
Properly compare object references for Hosts when adding new ones
...
Fixes #13397
2015-12-03 15:25:54 -05:00
James Cammarata
4426b7f6e0
fix sorting of groups for host vars
...
Fixes #13371
2015-12-03 14:23:02 -05:00
Brian Coca
7d073bdd17
Merge pull request #13345 from amenonsen/extract
...
Add an 'extract' filter
2015-12-03 11:19:06 -08:00
Peter Sprygada
29f5c5db71
bugfix for ios.py shared module argument creation
...
This patch fixes a bug in module_utils/ios.py where the the wrong shared
module arguments are being generated. This bug prevented the shared module
from operating correctly. This patch should be generally applied.
2015-12-03 12:53:07 -05:00
James Cammarata
5f83a6aeda
Properly default remote_user for delegated-to hosts
...
Fixes #13323
2015-12-03 11:31:33 -05:00
Toshio Kuratomi
e201a255d1
Revert "Make sudo+requiretty and ANSIBLE_PIPELINING work together"
...
This reverts commit f488de8599
.
Reverting for now due to hard to pin down bugs: #13410 #13411
2015-12-03 08:01:05 -08:00
Toshio Kuratomi
9b81c35d06
Don't compare or merge str with unicode
...
Fixes #13387
2015-12-02 20:53:50 -08:00
James Cammarata
a183972477
Don't use play vars in HostVars
...
Fixes #13398
2015-12-02 14:16:47 -05:00
James Cammarata
8ff67e0494
Default msg param to AnsibleError to avoid serialization problems
2015-12-02 14:16:47 -05:00
James Cammarata
5f1f2acfea
Merge pull request #13405 from sivel/v2-playbook-on-start
...
Get v2_playbook_on_start working
2015-12-02 12:40:24 -05:00
Matt Martz
384b2e0234
Get v2_playbook_on_start working
...
* Move self._tqm.load_callbacks() earlier to ensure that v2_on_playbook_start can fire
* Pass the playbook instance to v2_on_playbook_start
* Add a _file_name instance attribute to the playbook
2015-12-02 11:29:51 -06:00
Brian Coca
7708661270
Merge pull request #13402 from amenonsen/expandpath
...
Use CLI.expand_tilde also for the vault --output file
2015-12-02 09:23:46 -08:00
Brian Coca
94d2958e1f
Merge pull request #13403 from amenonsen/module-lang
...
Make module_lang default to whatever LANG is set to on the control node
2015-12-02 09:06:57 -08:00
Abhijit Menon-Sen
0d16d16ab8
Make module_lang default to whatever LANG is set to on the control node
2015-12-02 22:25:10 +05:30
Abhijit Menon-Sen
fac7626230
Use CLI.expand_tilde also for the vault --output file
2015-12-02 22:08:37 +05:30
Matt Martz
ce54a59cdc
Catch additional assertion errors for load_list_of_blocks
2015-12-02 10:35:20 -06:00
Brian Coca
53cd802251
better error on invalid task lists
2015-12-02 08:14:20 -08:00
James Cammarata
f7dc5a9515
Minor tweak and comment addition to 974a0ce3
2015-12-02 09:11:08 -05:00
James Cammarata
f1d53a87e5
Merge pull request #13394 from Christoph-D/issue-13370
...
Fix #13370
2015-12-02 08:57:09 -05:00
Abhijit Menon-Sen
8cf1815867
Add an 'extract' filter
...
At its most basic, this is nothing more than an array or hash lookup,
but when used in conjunction with map, it is very useful. For example,
while constructing an "ssh-keyscan …" command to update known_hosts on
all hosts in a group, one can get a list of IP addresses with:
groups['x']|map('extract', hostvars, 'ec2_ip_address')|list
This returns hostvars[a].ec2_ip_address, hostvars[b].ec2_ip_address, and
so on. You can even specify an array of keys for a recursive lookup, and
mix string and integer keys depending on what you're looking up:
['localhost']|map('extract', hostvars, ['vars','group_names',0])|first
== hostvars['localhost']['vars']['group_names'][0]
== 'ungrouped'
Includes documentation and tests.
2015-12-02 18:16:38 +05:30
Abhijit Menon-Sen
22381be253
Bump version in devel now that stable-2.0 has been branched
2015-12-02 17:57:53 +05:30
Christoph Dittmann
267199fdd5
Update debug messages and comments
...
The comment was taken literally from lib/plugins/strategy/linear.py and
makes no sense in free.py where we have no noop tasks.
Also update the debug messages.
2015-12-02 11:17:24 +01:00
Christoph Dittmann
c6e400fbea
Fix issue #13370
...
all_blocks is referenced after the loop over included_files, so it needs
to be initialized before this loop, not inside.
2015-12-02 11:17:24 +01:00
Christoph Dittmann
9a6ae1d62a
Let PlayIterator.add_tasks accept empty task lists
...
PlayIterator.add_tasks raised an error when trying to add an empty task
list. This was the root cause of ansible issue #13370 .
2015-12-02 11:17:24 +01:00
Brian Coca
b92cb93539
unconditionally set vars on init to avoid issues with var precedence
2015-12-01 21:24:46 -08:00
Peter Sprygada
2491afc8b6
fixes a syntax issue with module_utils/eapi.py
...
This patch fixes an issue with the common args dict in the eapi shared
module. This patch is required for the eapi shared module to be properly
imported and is therefore should be applied to all instances.
2015-12-01 23:34:59 -05:00
Brian Coca
8c630406c9
Merge pull request #13357 from privateip/feature_ssh_shared_module
...
initial add of ssh shared module.
2015-12-01 19:15:03 -08:00
Brian Coca
923b5467e3
Merge pull request #13354 from privateip/feature_eapi
...
adds device common argument to shared module
2015-12-01 19:14:07 -08:00
Brian Coca
574d7be8d5
Merge pull request #13358 from privateip/feature_ios_shared_module
...
Feature ios shared module
2015-12-01 19:04:24 -08:00
Peter Sprygada
93cd7a2a5f
adds module create function for eapi.py shared module
...
This commit changes the way modules create an instance of AnsibleModule to
now use a common function, eapi_module. This function will now automatically
append the common argument spec to the module argument_spec. Module
arguments can override common module arguments
2015-12-01 20:00:41 -05:00
Peter Sprygada
8638e0ccf8
initial add of the ios shared module
...
This adds shared module support for building modules that connect to Cisco
IOS devices. It builds on the module_utils/ssh.py shared module.
2015-12-01 19:55:41 -05:00
Brian Coca
3e01516783
fixed signature for init on callbacks
...
also removed passing display to base class which already handles this
2015-12-01 14:06:54 -08:00
nitzmahone
c94509f273
allow shell plugin to affect remote module filename
...
Fix for 13368, added get_remote_filename to shell plugins, powershell version appends .ps1 if necessary, base shell plugin no-ops
2015-12-01 13:39:02 -08:00
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