Handle SSH failures when creating remote tmpdir

Bail out if the SSH command fails rather than continuing with an
empty tmp variable.
This commit is contained in:
Sharif Olorin 2013-07-15 17:11:24 +10:00 committed by Michael DeHaan
parent f938bc660f
commit 1a7a779e88

View file

@ -719,7 +719,14 @@ class Runner(object):
cmd += ' && echo %s' % basetmp
result = self._low_level_exec_command(conn, cmd, None, sudoable=False)
if result['rc'] != 0:
raise errors.AnsibleError('could not create temporary directory: '
'SSH exited with return code %d' % result['rc'])
rc = utils.last_non_blank_line(result['stdout']).strip() + '/'
# Catch any other failure conditions here; files should never be
# written directly to /.
if rc == '/':
raise errors.AnsibleError('refusing to use / as a temporary directory.')
return rc