Clarify that stderr WILL crash your module. Can't redirect because if we do we lose tracebacks

from modules remotely when they fail to parse, and this is VERY useful data.
This commit is contained in:
Michael DeHaan 2012-04-27 01:36:31 -04:00
parent 88a7f771cb
commit 6341361a5b
2 changed files with 3 additions and 5 deletions

View file

@ -63,8 +63,9 @@ cmd = subprocess.Popen("%s %s" % (modfile, argspath),
if err and err != '':
print "***********************************"
print "RECIEVED DATA ON STDERR, THIS WILL BREAK YOUR MODULE:"
print "RECIEVED DATA ON STDERR, THIS WILL CRASH YOUR MODULE"
print err
sys.exit(1)
try:
print "***********************************"
@ -84,8 +85,6 @@ print "PARSED OUTPUT"
print utils.bigjson(results)
if err and err != '':
sys.exit(1)
sys.exit(0)

View file

@ -140,8 +140,7 @@ class ParamikoConnection(object):
stderr = chan.makefile_stderr('rb', bufsize)
chan.get_pty()
chan.set_combine_stderr(False)
if not self.runner.sudo or not sudoable:
quoted_command = '"$SHELL" -c ' + pipes.quote(cmd)
chan.exec_command(quoted_command)