ping: don't split if target_vm is a dict 29/35129/2
authorRoss Brattain <ross.b.brattain@intel.com>
Mon, 22 May 2017 08:08:39 +0000 (01:08 -0700)
committerRoss Brattain <ross.b.brattain@intel.com>
Tue, 20 Jun 2017 13:20:47 +0000 (13:20 +0000)
If we run sample/ping-hot.yaml, it will encounter an AttributeError, log
see below:
Traceback (most recent call last):
File
"/usr/local/lib/python2.7/dist-packages/yardstick/benchmark/runners/duration.py",
line 69, in _worker_process
method(data)
File
"/usr/local/lib/python2.7/dist-packages/yardstick/benchmark/scenarios/networking/ping.py",
line 94, in run
target_vm_name = target_vm.split('.')[0]
AttributeError: 'dict' object has no attribute 'split'
Because here host and target will be a dict

JIRA: YARDSTICK-561

Change-Id: I4b7628bf20050d6d516a80efe3785f750d27c05e
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
yardstick/benchmark/scenarios/networking/ping.py

index 95367b3..a929e53 100644 (file)
@@ -76,7 +76,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"])