summaryrefslogtreecommitdiffstats
path: root/yardstick/cmd
diff options
context:
space:
mode:
authorwym_libra <yimin.wang@huawei.com>2015-12-08 15:47:26 +0800
committerJörgen Karlsson <jorgen.w.karlsson@ericsson.com>2015-12-11 11:29:23 +0000
commit2708ea7280b51bffb71093384dc49664c5440034 (patch)
treed194e4442dc721296010515d99d995edcd2f0592 /yardstick/cmd
parent25e75985c846cb39c54148f4b233315f6bcff4a4 (diff)
Add 'nodes' attribute to the scenario definition
Defining the 'nodes' attribute which can include more node not only 'host' and 'target' Design etherpad link: https://etherpad.opnfv.org/p/yardstick_framework JIRA:- Change-Id: Ida18ebcda1c73c88d208aa11a10696d1063134ef Signed-off-by: wym_libra <yimin.wang@huawei.com>
Diffstat (limited to 'yardstick/cmd')
-rwxr-xr-xyardstick/cmd/commands/task.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/yardstick/cmd/commands/task.py b/yardstick/cmd/commands/task.py
index 0d7e9e66d..d6cd6984c 100755
--- a/yardstick/cmd/commands/task.py
+++ b/yardstick/cmd/commands/task.py
@@ -287,7 +287,8 @@ def run_one_scenario(scenario_cfg, output_file):
# TODO support get multi hosts/vms info
context_cfg = {}
- context_cfg['host'] = Context.get_server(scenario_cfg["host"])
+ if "host" in scenario_cfg:
+ context_cfg['host'] = Context.get_server(scenario_cfg["host"])
if "target" in scenario_cfg:
if is_ip_addr(scenario_cfg["target"]):
@@ -303,6 +304,8 @@ def run_one_scenario(scenario_cfg, output_file):
context_cfg["target"]["ipaddr"] = \
context_cfg["target"]["ip"]
+ if "nodes" in scenario_cfg:
+ context_cfg["nodes"] = parse_nodes_with_context(scenario_cfg)
runner = base_runner.Runner.get(runner_cfg)
print "Starting runner of type '%s'" % runner_cfg["type"]
@@ -311,6 +314,17 @@ def run_one_scenario(scenario_cfg, output_file):
return runner
+def parse_nodes_with_context(scenario_cfg):
+ '''paras the 'nodes' fields in scenario '''
+ nodes = scenario_cfg["nodes"]
+
+ nodes_cfg = {}
+ for nodename in nodes:
+ nodes_cfg[nodename] = Context.get_server(nodes[nodename])
+
+ return nodes_cfg
+
+
def runner_join(runner):
'''join (wait for) a runner, exit process at runner failure'''
status = runner.join()