mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-04-23 10:51:24 -07:00
For synchronize, fix sudo to execute on the remote end of the connection
* In 2.0.0.x become was reversed for synchronize. It was happening on the local machine instead of the remote machine. This restores the ansible-1.9.x behaviour of doing become on the remote machine. However, there's aspects of this that are hacky (no hackier than ansible-1.9 but not using 2.0 features). The big problem is that it does not understand any become method except sudo. I'm willing to use a partial fix now because we don't want people to get used to the reversed semantics in their playbooks. * synchronize copying to the wrong host when inventory_hostname is localhost * Fix problem with unicode arguments (first seen as a bug on synchronize) Fixes #14041 Fixes #13825
This commit is contained in:
parent
ac1d1673be
commit
3cf59d30f7
2 changed files with 55 additions and 19 deletions
|
@ -1788,7 +1788,9 @@ class AnsibleModule(object):
|
|||
elif isinstance(args, basestring) and use_unsafe_shell:
|
||||
shell = True
|
||||
elif isinstance(args, basestring):
|
||||
args = shlex.split(args.encode('utf-8'))
|
||||
if isinstance(args, unicode):
|
||||
args = args.encode('utf-8')
|
||||
args = shlex.split(args)
|
||||
else:
|
||||
msg = "Argument 'args' to run_command must be list or string"
|
||||
self.fail_json(rc=257, cmd=args, msg=msg)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue