X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=yardstick%2Fbenchmark%2Fscenarios%2Fnetworking%2Fping.py;h=6a7927de47d98e3a4ec195de1643d04dd2fb127c;hb=c894c814d62f0c839d381b7370f3d20bf02db0b0;hp=d2081469751c9d53e2a0883d97d4abd6b553b4cf;hpb=fa3afbcac13e1aa3ae9cc2977dcb4cd882112f6f;p=yardstick.git diff --git a/yardstick/benchmark/scenarios/networking/ping.py b/yardstick/benchmark/scenarios/networking/ping.py index d20814697..6a7927de4 100644 --- a/yardstick/benchmark/scenarios/networking/ping.py +++ b/yardstick/benchmark/scenarios/networking/ping.py @@ -15,6 +15,7 @@ import pkg_resources import logging import yardstick.ssh as ssh +from yardstick.common import utils from yardstick.benchmark.scenarios import base LOG = logging.getLogger(__name__) @@ -40,22 +41,8 @@ class Ping(base.Scenario): self.target_script = pkg_resources.resource_filename( 'yardstick.benchmark.scenarios.networking', Ping.TARGET_SCRIPT) host = self.context_cfg['host'] - user = host.get('user', 'ubuntu') - ssh_port = host.get("ssh_port", ssh.DEFAULT_PORT) - ip = host.get('ip', None) - key_filename = host.get('key_filename', '/root/.ssh/id_rsa') - password = host.get('password', None) - - if password is not None: - LOG.info("Log in via pw, user:%s, host:%s, pw:%s", - user, ip, password) - self.connection = ssh.SSH(user, ip, password=password, - port=ssh_port) - else: - LOG.info("Log in via key, user:%s, host:%s, key_filename:%s", - user, ip, key_filename) - self.connection = ssh.SSH(user, ip, key_filename=key_filename, - port=ssh_port) + + self.connection = ssh.SSH.from_node(host, defaults={"user": "ubuntu"}) self.connection.wait(timeout=600) @@ -71,8 +58,8 @@ class Ping(base.Scenario): destination = self.context_cfg['target'].get('ipaddr', '127.0.0.1') dest_list = [s.strip() for s in destination.split(',')] - result["rtt"] = {} - rtt_result = result["rtt"] + rtt_result = {} + ping_result = {"rtt": rtt_result} for pos, dest in enumerate(dest_list): if 'targets' in self.scenario_cfg: @@ -90,7 +77,10 @@ class Ping(base.Scenario): raise RuntimeError(stderr) if stdout: - target_vm_name = target_vm.split('.')[0] + if isinstance(target_vm, dict): + target_vm_name = target_vm.get("name") + else: + target_vm_name = target_vm.split('.')[0] rtt_result[target_vm_name] = float(stdout) if "sla" in self.scenario_cfg: sla_max_rtt = int(self.scenario_cfg["sla"]["max_rtt"]) @@ -99,6 +89,7 @@ class Ping(base.Scenario): (rtt_result[target_vm_name], sla_max_rtt) else: LOG.error("ping '%s' '%s' timeout", options, target_vm) + result.update(utils.flatten_dict_key(ping_result)) def _test(): # pragma: no cover