diff options
author | Ross Brattain <ross.b.brattain@intel.com> | 2016-12-05 16:11:54 -0500 |
---|---|---|
committer | Ross Brattain <ross.b.brattain@intel.com> | 2017-01-12 18:25:04 -0800 |
commit | f036e9898a69f5041f9cde02e3652c29e2de1643 (patch) | |
tree | 36e5eea75811bb640bb30f442f5a3c617e945909 /yardstick/vTC/apexlake/experimental_framework/benchmarking_unit.py | |
parent | 5f0b3d417244397b2d5e61c7a6ddd145f1d25046 (diff) |
Add support for Python 3
Porting to Python3 using Openstack guidelines:
https://wiki.openstack.org/wiki/Python3
This passes unittests on Python 3.5 and passes opnfv_smoke suite
Updates:
use six for urlparse and urlopen
fix exception.message attribute removal
run unittests on python3
use unitest.mock on python 3
fix open mock for vsperf
fix float division by using delta/eplison comparison
use unicode in StringIO
use plugin/sample_config.yaml relative path from test case
fixed apexlake unittests
upgraded to mock 2.0.0 to match python3 unittest.mock features
fixed flake8 issues
implement safe JSON decode with oslo_serialization.jsonutils.dump_as_bytes()
implement safe unicode encode/decode with oslo_utils.encodeutils
heat: convert pub key file from bytes to unicode
pkg_resources returns raw bytes, in python3
we have to decode this to utf-8 unicode
so JSON can encode it for heat template
JIRA: YARDSTICK-452
Change-Id: Ib80dd1d0c0eb0592acd832b82f6a7f8f7c20bfda
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
Diffstat (limited to 'yardstick/vTC/apexlake/experimental_framework/benchmarking_unit.py')
-rw-r--r-- | yardstick/vTC/apexlake/experimental_framework/benchmarking_unit.py | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/yardstick/vTC/apexlake/experimental_framework/benchmarking_unit.py b/yardstick/vTC/apexlake/experimental_framework/benchmarking_unit.py index 1963696f8..d5de308c7 100644 --- a/yardstick/vTC/apexlake/experimental_framework/benchmarking_unit.py +++ b/yardstick/vTC/apexlake/experimental_framework/benchmarking_unit.py @@ -18,6 +18,7 @@ initialization, execution and finalization ''' +from __future__ import absolute_import import json import time import inspect @@ -27,6 +28,7 @@ from experimental_framework import common # from experimental_framework import data_manager as data from experimental_framework import heat_template_generation as heat from experimental_framework import deployment_unit as deploy +from six.moves import range class BenchmarkingUnit: @@ -116,10 +118,10 @@ class BenchmarkingUnit: """ common.LOG.info('Run Benchmarking Unit') - experiment = dict() - result = dict() - for iteration in range(0, self.iterations): - common.LOG.info('Iteration ' + str(iteration)) + experiment = {} + result = {} + for iteration in range(self.iterations): + common.LOG.info('Iteration %s', iteration) for template_file_name in self.template_files: experiment_name = BenchmarkingUnit.\ extract_experiment_name(template_file_name) @@ -238,7 +240,7 @@ class BenchmarkingUnit: :return: (str) Experiment Name """ strings = template_file_name.split('.') - return ".".join(strings[:(len(strings)-1)]) + return ".".join(strings[:(len(strings) - 1)]) @staticmethod def get_benchmark_class(complete_module_name): @@ -253,7 +255,7 @@ class BenchmarkingUnit: """ strings = complete_module_name.split('.') class_name = 'experimental_framework.benchmarks.{}'.format(strings[0]) - pkg = __import__(class_name, globals(), locals(), [], -1) + pkg = __import__(class_name, globals(), locals(), [], 0) module = getattr(getattr(pkg, 'benchmarks'), strings[0]) members = inspect.getmembers(module) for m in members: |