cyclictest: use raw strings to escape \[8
[yardstick.git] / yardstick / benchmark / scenarios / networking / pktgen_dpdk.py
index 86585ec..7e3044d 100644 (file)
@@ -6,6 +6,7 @@
 # which accompanies this distribution, and is available at
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
+from __future__ import absolute_import
 import pkg_resources
 import logging
 import time
@@ -36,7 +37,7 @@ class PktgenDPDKLatency(base.Scenario):
         self.setup_done = False
 
     def setup(self):
-        '''scenario setup'''
+        """scenario setup"""
         self.pktgen_dpdk_script = pkg_resources.resource_filename(
             'yardstick.benchmark.scenarios.networking',
             PktgenDPDKLatency.PKTGEN_DPDK_SCRIPT)
@@ -45,29 +46,32 @@ class PktgenDPDKLatency(base.Scenario):
             PktgenDPDKLatency.TESTPMD_SCRIPT)
         host = self.context_cfg['host']
         host_user = host.get('user', 'ubuntu')
+        host_ssh_port = host.get('ssh_port', ssh.DEFAULT_PORT)
         host_ip = host.get('ip', None)
         host_key_filename = host.get('key_filename', '~/.ssh/id_rsa')
         target = self.context_cfg['target']
         target_user = target.get('user', 'ubuntu')
+        target_ssh_port = target.get('ssh_port', ssh.DEFAULT_PORT)
         target_ip = target.get('ip', None)
         target_key_filename = target.get('key_filename', '~/.ssh/id_rsa')
         LOG.info("user:%s, target:%s", target_user, target_ip)
         self.server = ssh.SSH(target_user, target_ip,
-                              key_filename=target_key_filename)
+                              key_filename=target_key_filename,
+                              port=target_ssh_port)
         self.server.wait(timeout=600)
 
         # copy script to host
-        self.server.run("cat > ~/testpmd_fwd.sh",
-                        stdin=open(self.testpmd_script, "rb"))
+        self.server._put_file_shell(self.testpmd_script, '~/testpmd_fwd.sh')
 
         LOG.info("user:%s, host:%s", host_user, host_ip)
         self.client = ssh.SSH(host_user, host_ip,
-                              key_filename=host_key_filename)
+                              key_filename=host_key_filename,
+                              port=host_ssh_port)
         self.client.wait(timeout=600)
 
         # copy script to host
-        self.client.run("cat > ~/pktgen_dpdk.sh",
-                        stdin=open(self.pktgen_dpdk_script, "rb"))
+        self.client._put_file_shell(
+            self.pktgen_dpdk_script, '~/pktgen_dpdk.sh')
 
         self.setup_done = True
         self.testpmd_args = ''
@@ -133,10 +137,12 @@ class PktgenDPDKLatency(base.Scenario):
         # wait for finishing test
         time.sleep(1)
 
-        cmd = "cat ~/result.log -vT \
-               |awk '{match($0,/\[8;40H +[0-9]+/)} \
-               {print substr($0,RSTART,RLENGTH)}' \
-               |grep -v ^$ |awk '{if ($2 != 0) print $2}'"
+        cmd = r"""\
+cat ~/result.log -vT \
+|awk '{match($0,/\[8;40H +[0-9]+/)} \
+{print substr($0,RSTART,RLENGTH)}' \
+|grep -v ^$ |awk '{if ($2 != 0) print $2}'\
+"""
         client_status, client_stdout, client_stderr = self.client.execute(cmd)
 
         if client_status:
@@ -149,7 +155,7 @@ class PktgenDPDKLatency(base.Scenario):
             latency_sum = 0
             for i in latency_list:
                 latency_sum += int(i)
-            avg_latency = latency_sum/len(latency_list)
+            avg_latency = latency_sum / len(latency_list)
 
         result.update({"avg_latency": avg_latency})