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,18 +104,29 @@ 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)
if result.exited:
raise CoreCommandError(
result.exited, result.command, result.stdout, result.stderr
)
logging.info( def remote_cmd(self, cmd):
"fabric result:\n\tstdout: %s\n\tstderr: %s", """
result.stdout.strip(), Run command remotely using server connection.
result.stderr.strip(),
: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:
raise CoreCommandError(
result.exited, result.command, result.stdout, result.stderr
) )
return result.stdout.strip()
logging.info(
"fabric result:\n\tstdout: %s\n\tstderr: %s",
result.stdout.strip(),
result.stderr.strip(),
)
return result.stdout.strip()
def setposition(self, x=None, y=None, z=None): def setposition(self, x=None, y=None, z=None):
""" """
@ -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):
""" """