Merge "Cleanup process test cases"
[yardstick.git] / yardstick / benchmark / scenarios / compute / cachestat.py
index 20786ff..40f6ed7 100644 (file)
@@ -9,18 +9,20 @@
 
 """cache hit/miss ratio and usage statistics"""
 
+from __future__ import absolute_import
 import pkg_resources
 import logging
 import re
 import yardstick.ssh as ssh
 
 from yardstick.benchmark.scenarios import base
+from six.moves import zip
 
 LOG = logging.getLogger(__name__)
 
 
 class CACHEstat(base.Scenario):
-    '''Collect cache statistics.
+    """Collect cache statistics.
 
     This scenario reads system cache hit/miss ratio and other statistics on
     a Linux host.
@@ -56,7 +58,7 @@ class CACHEstat(base.Scenario):
     some error margin depending on unusual workload types.
 
     REQUIREMENTS: CONFIG_FUNCTION_PROFILER, awk.
-    '''
+    """
     __scenario_type__ = "CACHEstat"
 
     TARGET_SCRIPT = "cache_stat.bash"
@@ -74,14 +76,8 @@ class CACHEstat(base.Scenario):
             CACHEstat.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', '~/.ssh/id_rsa')
-
-        LOG.info("user:%s, host:%s", user, ip)
-        self.client = ssh.SSH(user, ip, key_filename=key_filename,
-                              port=ssh_port)
+
+        self.client = ssh.SSH.from_node(host, defaults={"user": "ubuntu"})
         self.client.wait(timeout=600)
 
         # copy scripts to host
@@ -101,7 +97,7 @@ class CACHEstat(base.Scenario):
     def _filtrate_result(self, result):
         fields = []
         cachestat = {}
-        data_marker = re.compile("\d+")
+        data_marker = re.compile(r"\d+")
         ite = 0
         average = {'HITS': 0, 'MISSES': 0, 'DIRTIES': 0, 'RATIO': 0,
                    'BUFFERS_MB': 0, 'CACHE_MB': 0}
@@ -120,7 +116,7 @@ class CACHEstat(base.Scenario):
                 ite += 1
                 values = line[:]
                 if values and len(values) == len(fields):
-                    cachestat[cache] = dict(zip(fields, values))
+                    cachestat[cache] = dict(list(zip(fields, values)))
 
         for entry in cachestat:
             for item in average: