added remote_cmd func for nodes to avoid duplication

This commit is contained in:
bharnden 2019-10-05 09:48:30 -07:00
parent f83f98262f
commit 931ee65235

View file

@ -104,7 +104,18 @@ class NodeBase(object):
return utils.check_cmd(args, env=env) return utils.check_cmd(args, env=env)
else: else:
args = " ".join(args) args = " ".join(args)
result = self.server_conn.run(args, hide=False) return self.remote_cmd(args)
def remote_cmd(self, cmd):
"""
Run command remotely using server connection.
:param str cmd: command to run
:return: stdout when success
:rtype: str
:raises CoreCommandError: when a non-zero exit status occurs
"""
result = self.server_conn.run(cmd, hide=False)
if result.exited: if result.exited:
raise CoreCommandError( raise CoreCommandError(
result.exited, result.command, result.stdout, result.stderr result.exited, result.command, result.stdout, result.stderr
@ -650,18 +661,7 @@ class CoreNode(CoreNodeBase):
else: else:
args = self.client._cmd_args() + args args = self.client._cmd_args() + args
args = " ".join(args) args = " ".join(args)
result = self.server_conn.run(args, hide=False) return self.remote_cmd(args)
if result.exited:
raise CoreCommandError(
result.exited, result.command, result.stdout, result.stderr
)
logging.info(
"fabric result:\n\tstdout: %s\n\tstderr: %s",
result.stdout.strip(),
result.stderr.strip(),
)
return result.stdout.strip()
def check_cmd(self, args): def check_cmd(self, args):
""" """