diff options
Diffstat (limited to 'yardstick/benchmark/scenarios/compute/cyclictest.py')
-rw-r--r-- | yardstick/benchmark/scenarios/compute/cyclictest.py | 41 |
1 files changed, 23 insertions, 18 deletions
diff --git a/yardstick/benchmark/scenarios/compute/cyclictest.py b/yardstick/benchmark/scenarios/compute/cyclictest.py index 595986f8a..e8fc63cf7 100644 --- a/yardstick/benchmark/scenarios/compute/cyclictest.py +++ b/yardstick/benchmark/scenarios/compute/cyclictest.py @@ -54,8 +54,9 @@ class Cyclictest(base.Scenario): TARGET_SCRIPT = "cyclictest_benchmark.bash" - def __init__(self, context): - self.context = context + def __init__(self, scenario_cfg, context_cfg): + self.scenario_cfg = scenario_cfg + self.context_cfg = context_cfg self.setup_done = False def setup(self): @@ -63,13 +64,14 @@ class Cyclictest(base.Scenario): self.target_script = pkg_resources.resource_filename( "yardstick.benchmark.scenarios.compute", Cyclictest.TARGET_SCRIPT) - user = self.context.get("user", "root") - host = self.context.get("host", None) - key_filename = self.context.get("key_filename", "~/.ssh/id_rsa") + host = self.context_cfg["host"] + user = host.get("user", "root") + ip = host.get("ip", None) + key_filename = host.get("key_filename", "~/.ssh/id_rsa") - LOG.debug("user:%s, host:%s", user, host) + LOG.debug("user:%s, host:%s", user, ip) print "key_filename:" + key_filename - self.client = ssh.SSH(user, host, key_filename=key_filename) + self.client = ssh.SSH(user, ip, key_filename=key_filename) self.client.wait(timeout=600) # copy script to host @@ -78,14 +80,14 @@ class Cyclictest(base.Scenario): self.setup_done = True - def run(self, args, result): + def run(self, result): """execute the benchmark""" default_args = "-m -n -q" if not self.setup_done: self.setup() - options = args["options"] + options = self.scenario_cfg["options"] affinity = options.get("affinity", 1) interval = options.get("interval", 1000) priority = options.get("priority", 99) @@ -104,13 +106,14 @@ class Cyclictest(base.Scenario): result.update(json.loads(stdout)) - if "sla" in args: + if "sla" in self.scenario_cfg: sla_error = "" for t, latency in result.items(): - if 'max_%s_latency' % t not in args['sla']: + if 'max_%s_latency' % t not in self.scenario_cfg['sla']: continue - sla_latency = int(args['sla']['max_%s_latency' % t]) + sla_latency = int(self.scenario_cfg['sla'][ + 'max_%s_latency' % t]) latency = int(latency) if latency > sla_latency: sla_error += "%s latency %d > sla:max_%s_latency(%d); " % \ @@ -123,16 +126,16 @@ def _test(): key_filename = pkg_resources.resource_filename("yardstick.resources", "files/yardstick_key") ctx = { - "host": "192.168.50.28", - "user": "root", - "key_filename": key_filename + "host": { + "ip": "10.229.47.137", + "user": "root", + "key_filename": key_filename + } } logger = logging.getLogger("yardstick") logger.setLevel(logging.DEBUG) - cyclictest = Cyclictest(ctx) - options = { "affinity": 2, "interval": 100, @@ -150,8 +153,10 @@ def _test(): "options": options, "sla": sla } + result = {} - result = cyclictest.run(args) + cyclictest = Cyclictest(args, ctx) + cyclictest.run(result) print result if __name__ == '__main__': |