large refactoring of new code
diff --git a/run_test.py b/run_test.py
index cafbc59..ec77a41 100755
--- a/run_test.py
+++ b/run_test.py
@@ -6,15 +6,15 @@
import logging
import os.path
import argparse
-from nodes import discover
-import ssh_runner
+import ssh_utils
import io_scenario
+from nodes import discover
from config import cfg_dict
from utils import log_error
from rest_api import add_test
-from itest import IOPerfTest,PgBenchTest
from formatters import get_formatter
+from itest import IOPerfTest, PgBenchTest
logger = logging.getLogger("io-perf-tool")
logger.setLevel(logging.DEBUG)
@@ -58,49 +58,49 @@
parser = argparse.ArgumentParser(
description="Run disk io performance test")
- parser.add_argument("tool_type", help="test tool type",
- choices=['iozone', 'fio', 'pgbench', 'two_scripts'])
-
parser.add_argument("-l", dest='extra_logs',
action='store_true', default=False,
help="print some extra log info")
- parser.add_argument("-o", "--test-opts", dest='opts',
- help="cmd line options for test")
+ parser.add_argument('stages', nargs="+",
+ choices=["discover", "connect", "start_new_nodes",
+ "deploy_sensors"])
- parser.add_argument("-f", "--test-opts-file", dest='opts_file',
- type=argparse.FileType('r'), default=None,
- help="file with cmd line options for test")
+ # THIS ALL MOVE TO CONFIG FILE
+ # parser.add_argument("-o", "--test-opts", dest='opts',
+ # help="cmd line options for test")
- parser.add_argument("--max-preparation-time", default=300,
- type=int, dest="max_preparation_time")
+ # parser.add_argument("-f", "--test-opts-file", dest='opts_file',
+ # type=argparse.FileType('r'), default=None,
+ # help="file with cmd line options for test")
- parser.add_argument("-b", "--build-info", default=None,
- dest="build_name")
+ # parser.add_argument("--max-preparation-time", default=300,
+ # type=int, dest="max_preparation_time")
- parser.add_argument("-d", "--data-server-url", default=None,
- dest="data_server_url")
+ # parser.add_argument("-b", "--build-info", default=None,
+ # dest="build_name")
- parser.add_argument("-n", "--lab-name", default=None,
- dest="lab_name")
+ # parser.add_argument("-d", "--data-server-url", default=None,
+ # dest="data_server_url")
- parser.add_argument("--create-vms-opts", default=None,
- help="Creating vm's before run ssh runner",
- dest="create_vms_opts")
+ # parser.add_argument("-n", "--lab-name", default=None,
+ # dest="lab_name")
- parser.add_argument("-k", "--keep", default=False,
- help="keep temporary files",
- dest="keep_temp_files", action='store_true')
+ # parser.add_argument("--create-vms-opts", default=None,
+ # help="Creating vm's before run ssh runner",
+ # dest="create_vms_opts")
- choices = ["local", "ssh"]
+ # parser.add_argument("-k", "--keep", default=False,
+ # help="keep temporary files",
+ # dest="keep_temp_files", action='store_true')
- parser.add_argument("--runner", required=True,
- choices=choices, help="runner type")
+ # parser.add_argument("--runner", required=True,
+ # choices=["local", "ssh"], help="runner type")
- parser.add_argument("--runner-extra-opts", default=None,
- dest="runner_opts", help="runner extra options")
+ # parser.add_argument("--runner-extra-opts", default=None,
+ # dest="runner_opts", help="runner extra options")
- return parser.parse_args(argv)
+ return parser.parse_args(argv[1:])
def format_result(res, formatter):
@@ -111,10 +111,6 @@
return templ.format(data, formatter(res), "=" * 80)
-def deploy_and_start_sensors(sensors_conf, nodes):
- pass
-
-
def main(argv):
logging_conf = cfg_dict.get('logging')
if logging_conf:
@@ -122,13 +118,22 @@
logger.setLevel(logging.DEBUG)
ch.setLevel(logging.DEBUG)
+ opts = parse_args(argv)
+ if 'discover' in opts.stages:
+ current_data = discover.discover(cfg_dict.get('cluster'))
+
+ if 'connect' in opts.stages:
+ for node in current_data:
+ node.connection = ssh_utils.connect(node.connection_url)
+
+ print "\n".join(map(str, current_data))
+ return 0
# Discover nodes
- nodes_to_run = discover.discover(cfg_dict.get('cluster'))
tests = cfg_dict.get("tests", [])
# Deploy and start sensors
- deploy_and_start_sensors(cfg_dict.get('sensors'), nodes_to_run)
+ # deploy_and_start_sensors(cfg_dict.get('sensors'), nodes_to_run)
for test_name, opts in tests.items():
cmd_line = " ".join(opts['opts'])
@@ -144,13 +149,13 @@
opts.get('keep_temp_files'))
logger.debug(format_result(res, get_formatter(test_name)))
- if cfg_dict.get('data_server_url'):
- result = json.loads(get_formatter(opts.tool_type)(res))
- result['name'] = opts.build_name
- add_test(opts.build_name, result, opts.data_server_url)
+ # if cfg_dict.get('data_server_url'):
+ # result = json.loads(get_formatter(opts.tool_type)(res))
+ # result['name'] = opts.build_name
+ # add_test(opts.build_name, result, opts.data_server_url)
return 0
if __name__ == '__main__':
- exit(main(sys.argv[1:]))
+ exit(main(sys.argv))