@ -149,6 +149,8 @@ class Connection(_Connection):
command = obj [ ' command ' ]
command = obj [ ' command ' ]
self . _history . append ( command )
self . _history . append ( command )
self . _shell . sendall ( ' %s \r ' % command )
self . _shell . sendall ( ' %s \r ' % command )
if obj . get ( ' sendonly ' ) :
return
return self . receive ( obj )
return self . receive ( obj )
except ( socket . timeout , AttributeError ) :
except ( socket . timeout , AttributeError ) :
raise AnsibleConnectionFailure ( " timeout trying to send command: %s " % command . strip ( ) )
raise AnsibleConnectionFailure ( " timeout trying to send command: %s " % command . strip ( ) )
@ -206,15 +208,13 @@ class Connection(_Connection):
* command - the command string to execute
* command - the command string to execute
* prompt - the expected prompt generated by executing command
* prompt - the expected prompt generated by executing command
* response - the string to respond to the prompt with
* response - the string to respond to the prompt with
* sendonly - bool to disable waiting for response
: arg cmd : the string that represents the command to be executed
: arg cmd : the string that represents the command to be executed
which can be a single command or a json encoded string
which can be a single command or a json encoded string
: returns : a tuple of ( return code , stdout , stderr ) . The return
: returns : a tuple of ( return code , stdout , stderr ) . The return
code is an integer and stdout and stderr are strings
code is an integer and stdout and stderr are strings
"""
"""
# TODO: add support for timeout to the cmd to handle non return
# commands such as a system restart
try :
try :
obj = json . loads ( cmd )
obj = json . loads ( cmd )
except ValueError :
except ValueError :