diff --git a/lib/ansible/runner/__init__.py b/lib/ansible/runner/__init__.py index 59b40d14835..71b6047fc47 100644 --- a/lib/ansible/runner/__init__.py +++ b/lib/ansible/runner/__init__.py @@ -568,7 +568,9 @@ class Runner(object): module_name = utils.template(self.module_name, inject) - tmp = self._make_tmp_path(conn) + tmp = '' + if self.module_name != 'raw': + tmp = self._make_tmp_path(conn) result = None handler = getattr(self, "_execute_%s" % self.module_name, None) @@ -595,7 +597,8 @@ class Runner(object): del result.result['daisychain'] - self._delete_remote_files(conn, tmp) + if self.module_name != 'raw': + self._delete_remote_files(conn, tmp) conn.close() if not result.comm_ok: diff --git a/lib/ansible/runner/connection/paramiko_ssh.py b/lib/ansible/runner/connection/paramiko_ssh.py index 79d91ec5a35..ca48f1dd984 100644 --- a/lib/ansible/runner/connection/paramiko_ssh.py +++ b/lib/ansible/runner/connection/paramiko_ssh.py @@ -84,7 +84,13 @@ class ParamikoConnection(object): ''' run a command on the remote host ''' bufsize = 4096 - chan = self.ssh.get_transport().open_session() + try: + chan = self.ssh.get_transport().open_session() + except Exception, e: + msg = "Failed to open session" + if len(str(e)) > 0: + msg += ": %s" % str(e) + raise errors.AnsibleConnectionFailed(msg) chan.get_pty() if not self.runner.sudo or not sudoable: