From d8eb12f4200c21f569df5bc01d378a846b4c0db0 Mon Sep 17 00:00:00 2001 From: Tomi Juvonen Date: Thu, 28 Nov 2019 12:31:51 +0200 Subject: DevStack support Support running Doctor testing is DevStack multi-node controller JIRA: DOCTOR-136 Signed-off-by: Tomi Juvonen Change-Id: I1569f3f77d889420b3b8f3c2724c10253e509c28 --- doctor_tests/common/utils.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'doctor_tests/common/utils.py') diff --git a/doctor_tests/common/utils.py b/doctor_tests/common/utils.py index 1a8840dd..67ca4f4b 100644 --- a/doctor_tests/common/utils.py +++ b/doctor_tests/common/utils.py @@ -10,6 +10,7 @@ import json import os import paramiko import re +import subprocess def load_json_file(full_path): @@ -97,6 +98,27 @@ class SSHClient(object): ftp.close() +class LocalSSH(object): + + def __init__(self, log): + self.log = log + self.log.info('Init local ssh client') + + def ssh(self, cmd): + ret = 0 + output = "%s failed!!!" % cmd + try: + output = subprocess.check_output((cmd), shell=True, + universal_newlines=True) + except subprocess.CalledProcessError: + ret = 1 + return ret, output + + def scp(self, src_file, dst_file): + return subprocess.check_output("cp %s %s" % (src_file, dst_file), + shell=True) + + def run_async(func): from threading import Thread from functools import wraps -- cgit 1.2.3-korg