working on reporting, this commit represent broking code state
diff --git a/wally/run_test.py b/wally/run_test.py
index a11b43d..d3c68b6 100755
--- a/wally/run_test.py
+++ b/wally/run_test.py
@@ -10,21 +10,11 @@
from .node_interfaces import NodeInfo, IRPCNode
from .stage import Stage, StepOrder
from .sensors import collect_sensors_data
-from .suits.io.fio import IOPerfTest
-from .suits.itest import TestSuiteConfig
-from .suits.mysql import MysqlTest
-from .suits.omgbench import OmgTest
-from .suits.postgres import PgBenchTest
+from .suits.all_suits import all_suits
from .test_run_class import TestRun
from .utils import StopTestError
-
-
-TOOL_TYPE_MAPPER = {
- "io": IOPerfTest,
- "pgbench": PgBenchTest,
- "mysql": MysqlTest,
- "omg": OmgTest,
-}
+from .result_classes import TestSuiteConfig
+from .hlstorage import ResultStorage
logger = logging.getLogger("wally")
@@ -81,7 +71,7 @@
if ctx.config.get("download_rpc_logs", False):
for node in ctx.nodes:
if node.rpc_log_file is not None:
- nid = node.info.node_id()
+ nid = node.node_id
path = "rpc_logs/" + nid
node.conn.server.flush_logs()
log = node.get_file_content(node.rpc_log_file)
@@ -110,7 +100,7 @@
with ctx.get_pool() as pool:
# can't make next RPC request until finish with previous
for node in ctx.nodes:
- nid = node.info.node_id()
+ nid = node.node_id
hw_info_path = "hw_info/{}".format(nid)
if hw_info_path not in ctx.storage:
futures[(hw_info_path, nid)] = pool.submit(hw_info.get_hw_info, node)
@@ -124,7 +114,7 @@
futures.clear()
for node in ctx.nodes:
- nid = node.info.node_id()
+ nid = node.node_id
sw_info_path = "sw_info/{}".format(nid)
if sw_info_path not in ctx.storage:
futures[(sw_info_path, nid)] = pool.submit(hw_info.get_sw_info, node)
@@ -253,15 +243,17 @@
logger.error("No nodes found for test, skipping it.")
continue
- test_cls = TOOL_TYPE_MAPPER[name]
+ test_cls = all_suits[name]
remote_dir = ctx.config.default_test_local_folder.format(name=name, uuid=ctx.config.run_uuid)
- test_cfg = TestSuiteConfig(test_cls.name,
- params=params,
- run_uuid=ctx.config.run_uuid,
- nodes=test_nodes,
- remote_dir=remote_dir)
+ suite = TestSuiteConfig(test_cls.name,
+ params=params,
+ run_uuid=ctx.config.run_uuid,
+ nodes=test_nodes,
+ remote_dir=remote_dir,
+ idx=suite_idx)
- test_cls(storage=ctx.storage, config=test_cfg, idx=suite_idx,
+ test_cls(storage=ResultStorage(ctx.storage),
+ suite=suite,
on_idle=lambda: collect_sensors_data(ctx, False)).run()
@classmethod
@@ -278,6 +270,6 @@
logger.error("Internal error: Some nodes already stored in " +
"nodes_info before LoadStoredNodesStage stage")
raise StopTestError()
- ctx.nodes_info = {node.node_id(): node
+ ctx.nodes_info = {node.node_id: node
for node in ctx.storage.load_list(NodeInfo, "all_nodes")}
logger.info("%s nodes loaded from database", len(ctx.nodes_info))