mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-04-26 12:21:26 -07:00
remove the stdin return value from connection plugin exec_command() methods
The value was useless -- unused by the callers and always hardcoded to the empty string.
This commit is contained in:
parent
9d47eabfa4
commit
03127dcfae
14 changed files with 18 additions and 14 deletions
|
@ -467,7 +467,7 @@ class ActionBase:
|
||||||
cmd = self._play_context.make_become_cmd(cmd, executable=executable)
|
cmd = self._play_context.make_become_cmd(cmd, executable=executable)
|
||||||
|
|
||||||
self._display.debug("executing the command %s through the connection" % cmd)
|
self._display.debug("executing the command %s through the connection" % cmd)
|
||||||
rc, stdin, stdout, stderr = self._connection.exec_command(cmd, tmp, in_data=in_data, sudoable=sudoable)
|
rc, stdout, stderr = self._connection.exec_command(cmd, tmp, in_data=in_data, sudoable=sudoable)
|
||||||
self._display.debug("command execution done")
|
self._display.debug("command execution done")
|
||||||
|
|
||||||
if not isinstance(stdout, string_types):
|
if not isinstance(stdout, string_types):
|
||||||
|
|
|
@ -123,7 +123,11 @@ class ConnectionBase(with_metaclass(ABCMeta, object)):
|
||||||
@ensure_connect
|
@ensure_connect
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
def exec_command(self, cmd, tmp_path, in_data=None, executable=None, sudoable=True):
|
def exec_command(self, cmd, tmp_path, in_data=None, executable=None, sudoable=True):
|
||||||
"""Run a command on the remote host"""
|
"""Run a command on the remote host
|
||||||
|
|
||||||
|
:returns: a tuple of (return code, stdout, stderr) The return code is
|
||||||
|
an int while stdout and stderr are both byte strings.
|
||||||
|
"""
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@ensure_connect
|
@ensure_connect
|
||||||
|
|
|
@ -281,7 +281,7 @@ class Connection(ConnectionBase):
|
||||||
vvvv("%s: received the response" % self.host)
|
vvvv("%s: received the response" % self.host)
|
||||||
break
|
break
|
||||||
|
|
||||||
return (response.get('rc',None), '', response.get('stdout',''), response.get('stderr',''))
|
return (response.get('rc', None), response.get('stdout', ''), response.get('stderr', ''))
|
||||||
|
|
||||||
def put_file(self, in_path, out_path):
|
def put_file(self, in_path, out_path):
|
||||||
|
|
||||||
|
|
|
@ -116,7 +116,7 @@ class Connection(ConnectionBase):
|
||||||
p = self._buffered_exec_command(cmd, tmp_path, become_user, sudoable, executable, in_data)
|
p = self._buffered_exec_command(cmd, tmp_path, become_user, sudoable, executable, in_data)
|
||||||
|
|
||||||
stdout, stderr = p.communicate()
|
stdout, stderr = p.communicate()
|
||||||
return (p.returncode, '', stdout, stderr)
|
return (p.returncode, stdout, stderr)
|
||||||
|
|
||||||
def put_file(self, in_path, out_path):
|
def put_file(self, in_path, out_path):
|
||||||
''' transfer a file from local to chroot '''
|
''' transfer a file from local to chroot '''
|
||||||
|
|
|
@ -111,7 +111,7 @@ class Connection(ConnectionBase):
|
||||||
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||||
|
|
||||||
stdout, stderr = p.communicate()
|
stdout, stderr = p.communicate()
|
||||||
return (p.returncode, '', stdout, stderr)
|
return (p.returncode, stdout, stderr)
|
||||||
|
|
||||||
# Docker doesn't have native support for copying files into running
|
# Docker doesn't have native support for copying files into running
|
||||||
# containers, so we use docker exec to implement this
|
# containers, so we use docker exec to implement this
|
||||||
|
|
|
@ -65,7 +65,7 @@ class Connection(object):
|
||||||
# totally ignores privlege escalation
|
# totally ignores privlege escalation
|
||||||
vvv("EXEC %s" % (cmd), host=self.host)
|
vvv("EXEC %s" % (cmd), host=self.host)
|
||||||
p = self.client.command.run(cmd)[self.host]
|
p = self.client.command.run(cmd)[self.host]
|
||||||
return (p[0], '', p[1], p[2])
|
return (p[0], p[1], p[2])
|
||||||
|
|
||||||
def _normalize_path(self, path, prefix):
|
def _normalize_path(self, path, prefix):
|
||||||
if not path.startswith(os.path.sep):
|
if not path.startswith(os.path.sep):
|
||||||
|
|
|
@ -133,7 +133,7 @@ class Connection(object):
|
||||||
p = self._buffered_exec_command(cmd, tmp_path, become_user, sudoable, executable, in_data)
|
p = self._buffered_exec_command(cmd, tmp_path, become_user, sudoable, executable, in_data)
|
||||||
|
|
||||||
stdout, stderr = p.communicate()
|
stdout, stderr = p.communicate()
|
||||||
return (p.returncode, '', stdout, stderr)
|
return (p.returncode, stdout, stderr)
|
||||||
|
|
||||||
def put_file(self, in_path, out_path):
|
def put_file(self, in_path, out_path):
|
||||||
''' transfer a file from local to jail '''
|
''' transfer a file from local to jail '''
|
||||||
|
|
|
@ -88,7 +88,7 @@ class Connection(object):
|
||||||
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||||
|
|
||||||
stdout, stderr = p.communicate()
|
stdout, stderr = p.communicate()
|
||||||
return (p.returncode, '', stdout, stderr)
|
return (p.returncode, stdout, stderr)
|
||||||
|
|
||||||
def _normalize_path(self, path, prefix):
|
def _normalize_path(self, path, prefix):
|
||||||
if not path.startswith(os.path.sep):
|
if not path.startswith(os.path.sep):
|
||||||
|
|
|
@ -98,7 +98,7 @@ class Connection(ConnectionBase):
|
||||||
self._display.debug("done communicating")
|
self._display.debug("done communicating")
|
||||||
|
|
||||||
self._display.debug("done with local.exec_command()")
|
self._display.debug("done with local.exec_command()")
|
||||||
return (p.returncode, '', stdout, stderr)
|
return (p.returncode, stdout, stderr)
|
||||||
|
|
||||||
def put_file(self, in_path, out_path):
|
def put_file(self, in_path, out_path):
|
||||||
''' transfer a file from local to local '''
|
''' transfer a file from local to local '''
|
||||||
|
|
|
@ -256,7 +256,7 @@ class Connection(ConnectionBase):
|
||||||
stdout = ''.join(chan.makefile('rb', bufsize))
|
stdout = ''.join(chan.makefile('rb', bufsize))
|
||||||
stderr = ''.join(chan.makefile_stderr('rb', bufsize))
|
stderr = ''.join(chan.makefile_stderr('rb', bufsize))
|
||||||
|
|
||||||
return (chan.recv_exit_status(), '', no_prompt_out + stdout, no_prompt_out + stderr)
|
return (chan.recv_exit_status(), no_prompt_out + stdout, no_prompt_out + stderr)
|
||||||
|
|
||||||
def put_file(self, in_path, out_path):
|
def put_file(self, in_path, out_path):
|
||||||
''' transfer a file from local to remote '''
|
''' transfer a file from local to remote '''
|
||||||
|
|
|
@ -304,7 +304,7 @@ class Connection(ConnectionBase):
|
||||||
|
|
||||||
(returncode, stdout, stderr) = self._run(cmd, in_data, sudoable=sudoable)
|
(returncode, stdout, stderr) = self._run(cmd, in_data, sudoable=sudoable)
|
||||||
|
|
||||||
return (returncode, '', stdout, stderr)
|
return (returncode, stdout, stderr)
|
||||||
|
|
||||||
def put_file(self, in_path, out_path):
|
def put_file(self, in_path, out_path):
|
||||||
''' transfer a file from local to remote '''
|
''' transfer a file from local to remote '''
|
||||||
|
|
|
@ -202,7 +202,7 @@ class Connection(ConnectionBase):
|
||||||
raise AnsibleError("failed to exec cmd %s" % cmd)
|
raise AnsibleError("failed to exec cmd %s" % cmd)
|
||||||
result.std_out = to_unicode(result.std_out)
|
result.std_out = to_unicode(result.std_out)
|
||||||
result.std_err = to_unicode(result.std_err)
|
result.std_err = to_unicode(result.std_err)
|
||||||
return (result.status_code, '', result.std_out, result.std_err)
|
return (result.status_code, result.std_out, result.std_err)
|
||||||
|
|
||||||
def put_file(self, in_path, out_path):
|
def put_file(self, in_path, out_path):
|
||||||
super(Connection, self).put_file(in_path, out_path)
|
super(Connection, self).put_file(in_path, out_path)
|
||||||
|
|
|
@ -146,7 +146,7 @@ class Connection(object):
|
||||||
p = self._buffered_exec_command(cmd, tmp_path, become_user, sudoable, executable, in_data)
|
p = self._buffered_exec_command(cmd, tmp_path, become_user, sudoable, executable, in_data)
|
||||||
|
|
||||||
stdout, stderr = p.communicate()
|
stdout, stderr = p.communicate()
|
||||||
return (p.returncode, '', stdout, stderr)
|
return (p.returncode, stdout, stderr)
|
||||||
|
|
||||||
def put_file(self, in_path, out_path):
|
def put_file(self, in_path, out_path):
|
||||||
''' transfer a file from local to zone '''
|
''' transfer a file from local to zone '''
|
||||||
|
|
|
@ -32,7 +32,7 @@ class TestActionBase(unittest.TestCase):
|
||||||
def test_sudo_only_if_user_differs(self):
|
def test_sudo_only_if_user_differs(self):
|
||||||
play_context = PlayContext()
|
play_context = PlayContext()
|
||||||
action_base = ActionBase(None, None, play_context, None, None, None)
|
action_base = ActionBase(None, None, play_context, None, None, None)
|
||||||
action_base._connection = Mock(exec_command=Mock(return_value=(0, '', '', '')))
|
action_base._connection = Mock(exec_command=Mock(return_value=(0, '', '')))
|
||||||
|
|
||||||
play_context.become = True
|
play_context.become = True
|
||||||
play_context.become_user = play_context.remote_user = 'root'
|
play_context.become_user = play_context.remote_user = 'root'
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue