Brian Coca
f649dc71e7
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 11:11:49 -05:00
Brian Coca
9eb9f55a31
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:44 -08:00
David L Ballenger
dbcfce03d2
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 15:36:49 -05:00
James Cammarata
058e02137a
Preserve original token when appending to _raw_params in parse_kv
...
Fixes #13311
2015-12-08 15:06:01 -05:00
Brian Coca
666cb07614
fixed typo in tree callback, added default dir
...
this would allow it to work with playbooks also
2015-12-08 11:59:51 -08:00
James Cammarata
422092b8bc
Fix typo from 5ae850c
2015-12-08 14:34:37 -05:00
James Cammarata
5ae850c3b2
Make fact delegating configurable, defaulting to 1.x behavior
2015-12-08 14:00:17 -05:00
Brian Coca
7c8e1b41bb
Revert "Fix always_run support in the action plugin for template when copying"
...
This reverts commit 45670eff81
.
2015-12-08 09:26:24 -08:00
Brian Coca
43bfd16666
have always_run override check mode for a task
...
Fixes #13418
2015-12-08 09:26:13 -08:00
James Cammarata
45670eff81
Fix always_run support in the action plugin for template when copying
...
Fixes #13418
2015-12-08 11:55:35 -05:00
James Cammarata
50e5b0f8e9
Merge pull request #13467 from bcoca/adhoc_callbk_fix
...
adhoc does not load plugins by default
2015-12-08 11:28:20 -05:00
Brian Coca
e69064d0fc
Merge pull request #13451 from bcoca/doas_fix
...
fixed doas from getting stuck when needing passwords
2015-12-08 11:13:01 -05:00
Peter Sprygada
1aa775196b
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-08 10:36:47 -05:00
Brian Coca
b07451eef8
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:15 -08:00
James Cammarata
cc98528ecb
Version bump for 2.0.0-0.7.rc2
2015-12-07 13:13:37 -05:00
Yannig Perré
2ed2c12f60
Fix issue when var name is the same as content.
...
See https://github.com/ansible/ansible/issues/13453 for more details.
2015-12-07 10:08:13 -05:00
Nils Steinger
d85b8adba6
More meaningful string representation for meta tasks (like 'noop' and 'flush_handlers')
2015-12-07 10:08:13 -05:00
Peter Sprygada
d89dbf19fb
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-07 06:59:43 -08:00
Toshio Kuratomi
40c01f3739
Use self.args when we parse arguments that way the arguments can be constructed manually
2015-12-06 22:19:11 -08:00
Toshio Kuratomi
71ffa5abdc
Add representers so we can output yaml for all the types we read in from yaml
2015-12-06 22:19:02 -08:00
Brian Coca
0533e0bc96
fixed doas from getting stuck when needing passwords
...
Also adjusted test to match new doas become output
fixes #13449
2015-12-06 00:35:28 -05:00
Luca Berruti
3974b13a5a
Make no_target_syslog consistent.
...
no_target_syslog = False --> do log on target
2015-12-05 16:14:36 -05:00
Brian Coca
d04d5bf0d5
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 15:59:51 -05:00
Brian Coca
8a733d990f
simplified get_hosts code to have 1 retrun point
2015-12-05 10:13:09 -05:00
Nils Steinger
895fc48700
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 10:13:09 -05:00
Toshio Kuratomi
4c21d58f4c
Transform exceptions into ansible messages via to_unicode instead of str to avoid tracebacks.
...
Fixes #13385
2015-12-04 11:52:07 -08:00
James Cammarata
627576a955
Adding a uuid field so we can track host equality across serialization too
2015-12-04 13:34:10 -05:00
Toshio Kuratomi
3aa4db5083
Update submodule refs
2015-12-04 09:59:30 -08:00
James Cammarata
cd76552724
Changing up how host (in)equality is checked
...
Fixes #13397
2015-12-04 12:58:16 -05:00
Brian Coca
f630e140d2
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:51:51 -08:00
Brian Coca
c03b8ef0c2
return unique list of hosts
2015-12-03 19:44:31 -08:00
Brian Coca
46718ac3f4
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:44:31 -08:00
Brian Coca
3e5c7c540b
corrected playbook path, reformated options help
...
the last just to make the help consistent and readable
2015-12-03 18:24:10 -08:00
Brian Coca
7950f09d19
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:43:02 -08:00
James Cammarata
6aa1b6d9b1
Properly compare object references for Hosts when adding new ones
...
Fixes #13397
2015-12-03 15:27:10 -05:00
James Cammarata
013ace9ab2
fix sorting of groups for host vars
...
Fixes #13371
2015-12-03 14:23:14 -05:00
James Cammarata
0d0ed35ba4
Properly default remote_user for delegated-to hosts
...
Fixes #13323
2015-12-03 11:33:11 -05:00
Toshio Kuratomi
c1aeda59bd
Don't compare or merge str with unicode
...
Fixes #13387
2015-12-02 21:12:18 -08:00
James Cammarata
38c11e2239
Default msg param to AnsibleError to avoid serialization problems
2015-12-02 14:18:13 -05:00
James Cammarata
ed4a06d8ef
Don't use play vars in HostVars
...
Fixes #13398
2015-12-02 14:18:13 -05:00
Matt Martz
ca838d75e3
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 12:41:18 -05:00
Abhijit Menon-Sen
f339184e29
Use CLI.expand_tilde also for the vault --output file
2015-12-02 09:24:36 -08:00
Abhijit Menon-Sen
f2f310472f
Make module_lang default to whatever LANG is set to on the control node
2015-12-02 09:07:26 -08:00
Matt Martz
de7dc5d07f
Catch additional assertion errors for load_list_of_blocks
2015-12-02 09:04:59 -08:00
Brian Coca
ae5cfb2898
better error on invalid task lists
2015-12-02 08:14:37 -08:00
James Cammarata
381409140e
Minor tweak and comment addition to 974a0ce3
2015-12-02 09:10:20 -05:00
Christoph Dittmann
be92f909ee
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 09:00:27 -05:00
Christoph Dittmann
974a0ce3fb
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 09:00:26 -05:00
Christoph Dittmann
1f1febaa0d
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 09:00:26 -05:00
Brian Coca
346a9fe87d
unconditionally set vars on init to avoid issues with var precedence
2015-12-01 21:25:43 -08:00
Peter Sprygada
5b5c6c4f47
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 20:46:11 -08:00
Peter Sprygada
02d059271c
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-12-01 19:15:41 -08:00
Peter Sprygada
a6771b2255
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 19:14:38 -08:00
Peter Sprygada
a9e8b54246
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:05:14 -08:00
Brian Coca
d2108e9ff3
fixed signature for init on callbacks
...
also removed passing display to base class which already handles this
2015-12-01 14:07:47 -08:00
nitzmahone
59dadc4f6b
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 14:02:01 -08:00
Toshio Kuratomi
b0e22d7701
_connect no longer takes a port argument
2015-12-01 09:12:55 -08:00
Brian Coca
ca8c6e8e1c
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:57:33 -08:00
Brian Coca
204e27ca66
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.
fixes #13363
2015-11-30 15:12:53 -08:00
James Cammarata
f96730003b
Also make sure remote_user is defaulted correctly for delegated hosts
...
Fixes #13323
2015-11-30 16:16:11 -05:00
Toshio Kuratomi
4f3f79d37b
Call the function :-)
...
Fixes #13330
2015-11-30 12:34:55 -08:00
James Cammarata
89f0207007
Ensure port is (re)set for delegated-to hosts
...
Fixes #13265
2015-11-30 14:41:05 -05:00
Brian Coca
f8ed1c003a
fixed typo
2015-11-30 09:21:26 -08:00
Brian Coca
c5cd908c33
allow for bad stdout return from make temp dir command
...
fixes #13359
2015-11-30 09:20:24 -08:00
Brian Coca
958da26d18
corrected become_methods class variable in winrm
...
This should now correctly react when using become with winrm
fixes #13331
2015-11-30 08:35:33 -08:00
James Cammarata
a5d6be6dd2
Make sure run_once tasks properly set variables for all active hosts
...
Fixes #13267
2015-11-30 11:28:28 -05:00
James Cammarata
7af506e7cf
Use text_type instead of unicode
2015-11-30 11:28:25 -05:00
James Cammarata
3a0f2475b2
Make sure the uuid in vars is string
2015-11-30 10:27:21 -05:00
James Cammarata
2db3f12027
Re-implement lookup wantlist
...
Fixes #13285
2015-11-29 23:45:14 -05:00
Yannig Perré
bb52b45ea0
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-29 23:15:01 -05:00
James Cammarata
4114a3097f
Tweak location of stats callback execution and properly relocate stats output code
2015-11-28 14:02:50 -05:00
Monty Taylor
73a269f9a5
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:44:44 -05:00
James Cammarata
737e467b8a
Trigger on_stats just once, not once for each play
...
Fixes #13271
2015-11-28 13:37:02 -05:00
Abhijit Menon-Sen
cac0eea291
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-28 10:22:35 -05:00
James Cammarata
54843d88ee
Re-adding role_name/role_uuid variables
2015-11-28 10:00:42 -05:00
Yannig Perré
47651e6c22
More restrictive test against variable name to allow setting variable starting with _.
2015-11-28 10:00:38 -05:00
Yannig Perré
9e6ec4c6b0
Switch parameters validation after parsing in order to be more consistent between old and new style.
2015-11-28 10:00:34 -05:00
Brian Coca
dbedcd3538
avoids prompting for vars during syntax check
...
fixes #13319
2015-11-27 11:46:32 -08:00
Toshio Kuratomi
056372690f
Do not double transform to unicode
2015-11-25 07:56:06 -08:00
Charles Paul
9cee982a62
fixing errors with utf-8 values
...
removing utf-8 stanza
changing cast to binary_type instead
using to_unicode
2015-11-25 07:55:52 -08:00
Brian Coca
b69942a6d2
added missing :
2015-11-25 10:57:55 -08:00
Brian Coca
d9858ee73a
added missing events to base class
2015-11-25 10:57:55 -08:00
Brian Coca
64bcab9253
fixes to fetch action module
...
* now only runs remote checksum when needed (fixes #12290 )
* unified return points to simplify program flow
2015-11-25 10:57:04 -08:00
James Cammarata
fc4326dc0c
Fix ssh state issues by simply assuming it's never connected
2015-11-24 12:01:42 -05:00
James Cammarata
92ea5c9f7b
Properly check for prompting state when re-using ssh connection
...
Fixes #13278
2015-11-24 09:10:51 -05:00
Yannig Perré
90021104d5
Use to_unicode instead of str()
2015-11-23 16:49:00 -05:00
Yannig Perré
8bd5abaf1e
Allow debug var parameter to accept a list or dict. Fix https://github.com/ansible/ansible/issues/13252
2015-11-23 16:49:00 -05:00
Sebastien Couture
2859933a79
We should give pipes.quote() a string every time
2015-11-23 14:27:56 -05:00
James Cammarata
42bffeec7c
Template (and include vars) PlaybookInclude paths
...
Fixes #13249
2015-11-23 14:04:14 -05:00
Chris Church
9a8e95bff3
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 14:04:00 -05:00
Brian Coca
1e9e6339d1
marked spot that should send per item reulsts
2015-11-23 14:03:51 -05:00
Toshio Kuratomi
5bc3efe34b
Update submodule refs
2015-11-23 09:02:12 -08:00
Toshio Kuratomi
011df4ad24
Update docker_login so docs work
2015-11-20 13:59:02 -08:00
Toshio Kuratomi
c71ef9e3d7
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-20 13:51:29 -08:00
Toshio Kuratomi
e9ed190f7b
Update submodule refs
2015-11-20 12:45:27 -08:00
Toshio Kuratomi
50a924bb04
Docker cp sets file ownership to root:root so we can't use it.
...
Fixes #13219
2015-11-20 07:54:07 -08:00
Toshio Kuratomi
1e968d34cb
Simplify code a little
2015-11-19 09:56:58 -08:00
Joern Heissler
c99fffa936
Use ansible_host in synchronize module
...
Fixes #13073
2015-11-19 09:56:49 -08:00
nitzmahone
f2225395f9
winrm error handling tweaks
2015-11-19 09:58:33 -05:00
nitzmahone
c33f60435b
fast winrm put_file without size restrictions
2015-11-19 09:58:28 -05:00