summaryrefslogtreecommitdiffstats
path: root/qtip/runner/__init__.py
diff options
context:
space:
mode:
authorYujun Zhang <zhang.yujunz@zte.com.cn>2017-01-11 01:55:53 +0000
committerGerrit Code Review <gerrit@opnfv.org>2017-01-11 01:55:53 +0000
commit5d4afa1780f8a05e5f3e479c1eacf683a32df655 (patch)
treeb0c0133d7841f26552b31d4b3774dc5d6dc1efa9 /qtip/runner/__init__.py
parentba6bb4334b8e24b91ce6c77fda7aae37d3dc31ba (diff)
parentd8c05b528b5a75377848d130286bc997da06a792 (diff)
Merge "Implement plan, qpi and metric constructors"
Diffstat (limited to 'qtip/runner/__init__.py')
-rw-r--r--qtip/runner/__init__.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/qtip/runner/__init__.py b/qtip/runner/__init__.py
index e69de29b..eab81156 100644
--- a/qtip/runner/__init__.py
+++ b/qtip/runner/__init__.py
@@ -0,0 +1,43 @@
+##############################################################################
+# Copyright (c) 2016 ZTE Corp and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+from qtip.base.constant import PkgName, PropName
+from qtip.base.error import NotFound
+from qtip.collector.stdout import StdoutCollector
+from qtip.driver.random import RandomDriver
+from qtip.reporter.console import ConsoleReporter
+
+
+class Runner(object):
+ def __init__(self, spec, config=None):
+ if config is None:
+ config = spec[PropName.CONFIG]
+
+ driver_name = config[PropName.DRIVER]
+ collector_name = config[PropName.COLLECTOR]
+ reporter_name = config[PropName.REPORTER]
+
+ # TODO(yujunz) dynamically load modules by name
+
+ if driver_name == 'random':
+ self.driver = RandomDriver()
+ else:
+ raise NotFound(driver_name, package=PkgName.DRIVER)
+
+ if collector_name == 'stdout':
+ self.collector = StdoutCollector()
+ else:
+ raise NotFound(collector_name,
+ package=PkgName.COLLECTOR)
+
+ if reporter_name == 'console':
+ self.reporter = ConsoleReporter()
+ else:
+ raise NotFound(reporter_name,
+ package=PkgName.REPORTER)