diff options
| author | Toshio Kuratomi <toshio@fedoraproject.org> | 2016-01-27 12:48:15 -0800 |
|---|---|---|
| committer | Toshio Kuratomi <toshio@fedoraproject.org> | 2016-01-27 12:48:15 -0800 |
| commit | 3f3e3e3d5bdf042a0ef733477673fa703d97ccba (patch) | |
| tree | c5bba8e4f1cf825d08d20a7c3bfad05a72b52713 | |
| parent | 6bf2f45ff52d252dbada6a1860416fa603be56bd (diff) | |
| download | ansible-3f3e3e3d5bdf042a0ef733477673fa703d97ccba.tar.gz | |
Return an error when synchronize is used with something other than an ssh connection
Suggested in #2832
| -rw-r--r-- | lib/ansible/plugins/action/synchronize.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/ansible/plugins/action/synchronize.py b/lib/ansible/plugins/action/synchronize.py index c0b50eff97..bbd67dffec 100644 --- a/lib/ansible/plugins/action/synchronize.py +++ b/lib/ansible/plugins/action/synchronize.py @@ -157,6 +157,13 @@ class ActionModule(ActionBase): except (AttributeError, KeyError): delegate_to = None + # ssh paramiko and local are fully supported transports. Anything + # else only works with delegate_to + if delegate_to is None and self._play_context.connection not in ('ssh', 'paramiko', 'smart', 'local'): + result['failed'] = True + result['msg'] = "synchronize uses rsync to function. rsync needs to connect to the remote host via ssh or a direct filesystem copy. This remote host is being accessed via %s instead so it cannot work." % self._play_context.connection + return result + use_ssh_args = self._task.args.pop('use_ssh_args', None) # Parameter name needed by the ansible module |
