blob: 087d887c4ef3bea13ee2a176431f31a42af8c3ac [file] [log] [blame]
#!/usr/bin/env python3
import os
import sys
# ---------Set sys.path for pluqin execution---------------------------------------
# Absolute path to this plugin
abs_path = os.path.abspath(os.path.dirname(sys.argv[0]))
# full_path to plugins parent directory
full_path = abs_path.split('plugins')[0]
sys.path.append(full_path)
# Walk path and append to sys.path
for root, dirs, files in os.walk(full_path):
for found_dir in dirs:
sys.path.append(os.path.join(root, found_dir))
# ssh_utility is in ../lib
from ssh_utility import SSHRemoteclient
def ssh_execute_cmd(hostname,
username,
password,
command,
timeout=60,
type=None):
r"""
Description of argument(s):
hostname Name/IP of the remote (targeting) host
username User on the remote host with access to FFCD files
password Password for user on remote host
command Command to run on remote host
timeout Time, in second, to wait for command completion
type Data type return as list or others.
"""
ssh_remoteclient = SSHRemoteclient(hostname,
username,
password)
cmd_exit_code = 0
err = ''
response = ''
if ssh_remoteclient.ssh_remoteclient_login():
"""
cmd_exit_code: command exit status from remote host
err: stderr from remote host
response: stdout from remote host
"""
cmd_exit_code, err, response = \
ssh_remoteclient.execute_command(command, int(timeout))
# Close ssh session
if ssh_remoteclient:
ssh_remoteclient.ssh_remoteclient_disconnect()
if type == "list":
return response.split('\n')
else:
return response