aboutsummaryrefslogtreecommitdiffstats
path: root/yardstick
diff options
context:
space:
mode:
authorJingLu5 <lvjing5@huawei.com>2017-10-13 08:15:18 +0000
committerJing Lu <lvjing5@huawei.com>2017-10-18 05:59:30 +0000
commita5bfa22b89d2ce357eca4d579e20cb7e210fc548 (patch)
treebf5485b8d6f06c2656f55d86dc8c9232d04545d5 /yardstick
parentf34a98d4126f6736571ee2881e4a8cffa4975b5e (diff)
Fio: support input job file configuration
Change-Id: I4bb15a398819e54f7fb3e9eac17daa4059c03376 Signed-off-by: JingLu5 <lvjing5@huawei.com> (cherry picked from commit a5d0491b47fd1bab27fa603353861ea8eaba8da5)
Diffstat (limited to 'yardstick')
-rw-r--r--yardstick/benchmark/scenarios/storage/fio.py17
1 files changed, 16 insertions, 1 deletions
diff --git a/yardstick/benchmark/scenarios/storage/fio.py b/yardstick/benchmark/scenarios/storage/fio.py
index 98fe26973..125bc7ed4 100644
--- a/yardstick/benchmark/scenarios/storage/fio.py
+++ b/yardstick/benchmark/scenarios/storage/fio.py
@@ -32,6 +32,10 @@ class Fio(base.Scenario):
type: string
unit: na
default: None
+ job_file_config - content of job configuration file
+ type: list
+ unit: na
+ default: None
directory - mount directoey for test volume
type: string
unit: na
@@ -90,15 +94,26 @@ class Fio(base.Scenario):
self.client.wait(timeout=600)
self.job_file = self.options.get("job_file", None)
+ config_lines = self.options.get("job_file_config", None)
if self.job_file:
self.job_file_script = pkg_resources.resource_filename(
"yardstick.resources", 'files/' + self.job_file)
- # copy script to host
+ # copy job file to host
self.client._put_file_shell(self.job_file_script, '~/job_file.ini')
+ elif config_lines:
+ LOG.debug("Job file configuration received, Fio job file will be created.")
+ self.job_file = 'tmp_job_file.ini'
+ self.job_file_script = pkg_resources.resource_filename(
+ "yardstick.resources", 'files/' + self.job_file)
+ with open(self.job_file_script, 'w') as f:
+ f.write('\n'.join(str(line) for line in config_lines))
+ # copy job file to host
+ self.client._put_file_shell(self.job_file_script, '~/job_file.ini')
else:
+ LOG.debug("No job file configuration received, Fio will use parameters.")
self.target_script = pkg_resources.resource_filename(
"yardstick.benchmark.scenarios.storage", Fio.TARGET_SCRIPT)