X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=yardstick%2Fbenchmark%2Fscenarios%2Fstorage%2Ffio.py;h=e28bd7bcc0209c0b53b8557830d16d07af11e5f8;hb=5ecd7b446156775b8adb9cd15fe7decea5d305d9;hp=8969472e94912420adf027474eeaa392022c22c9;hpb=2e1094d4aee93180126d3ce86db3cc7df2e87bc5;p=yardstick.git diff --git a/yardstick/benchmark/scenarios/storage/fio.py b/yardstick/benchmark/scenarios/storage/fio.py index 8969472e9..e28bd7bcc 100644 --- a/yardstick/benchmark/scenarios/storage/fio.py +++ b/yardstick/benchmark/scenarios/storage/fio.py @@ -6,9 +6,13 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## -import pkg_resources +from __future__ import absolute_import +from __future__ import print_function + import logging -import json + +import pkg_resources +from oslo_serialization import jsonutils import yardstick.ssh as ssh from yardstick.benchmark.scenarios import base @@ -23,7 +27,7 @@ class Fio(base.Scenario): filename - file name for fio workload type: string unit: na - default: /home/ec2-user/data.raw + default: /home/ubuntu/data.raw bs - block size used for the io units type: int unit: bytes @@ -54,22 +58,23 @@ class Fio(base.Scenario): self.setup_done = False def setup(self): - '''scenario setup''' + """scenario setup""" self.target_script = pkg_resources.resource_filename( "yardstick.benchmark.scenarios.storage", Fio.TARGET_SCRIPT) host = self.context_cfg["host"] user = host.get("user", "root") + 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) + self.client = ssh.SSH(user, ip, key_filename=key_filename, + port=ssh_port) self.client.wait(timeout=600) # copy script to host - self.client.run("cat > ~/fio.sh", - stdin=open(self.target_script, "rb")) + self.client._put_file_shell(self.target_script, '~/fio.sh') self.setup_done = True @@ -82,7 +87,7 @@ class Fio(base.Scenario): self.setup() options = self.scenario_cfg["options"] - filename = options.get("filename", "/home/ec2-user/data.raw") + filename = options.get("filename", "/home/ubuntu/data.raw") bs = options.get("bs", "4k") iodepth = options.get("iodepth", "1") rw = options.get("rw", "write") @@ -113,7 +118,7 @@ class Fio(base.Scenario): if status: raise RuntimeError(stderr) - raw_data = json.loads(stdout) + raw_data = jsonutils.loads(stdout) # The bandwidth unit is KB/s, and latency unit is us if rw in ["read", "randread", "rw", "randrw"]: @@ -147,7 +152,7 @@ class Fio(base.Scenario): def _test(): - '''internal test function''' + """internal test function""" key_filename = pkg_resources.resource_filename("yardstick.resources", "files/yardstick_key") ctx = { @@ -162,7 +167,7 @@ def _test(): logger.setLevel(logging.DEBUG) options = { - "filename": "/home/ec2-user/data.raw", + "filename": "/home/ubuntu/data.raw", "bs": "4k", "iodepth": "1", "rw": "rw", @@ -174,7 +179,8 @@ def _test(): fio = Fio(args, ctx) fio.run(result) - print result + print(result) + if __name__ == '__main__': _test()