Fix python3.7 import errors and made job voting

Python3.7 finally removed relative imports so we adopt the correct
syntax and also making py37 job voting to avoid regressions.

Change-Id: I16e01344e8ae1c732c31264c50d6dd57143ea799
This commit is contained in:
Sorin Sbarnea 2018-11-12 16:29:35 +00:00 committed by Aakarsh
parent 7c3aed604e
commit 8f338e08c2
7 changed files with 40 additions and 37 deletions

View File

@ -2,7 +2,7 @@
- project:
templates:
- docs-on-readthedocs
- openstack-python37-jobs-nonvoting
- openstack-python37-jobs
- openstack-python36-jobs
vars:
rtd_webhook_id: '51626'

View File

@ -19,13 +19,13 @@ import shutil
import subprocess
import time
import elastic
import grafana
from path import get_overcloudrc
from path import get_workload_venv
from path import results_path
import tools
import workloadbase
import browbeat.tools
from browbeat import elastic
from browbeat import grafana
from browbeat import workloadbase
from browbeat.path import get_overcloudrc
from browbeat.path import get_workload_venv
from browbeat.path import results_path
class PerfKit(workloadbase.WorkloadBase):
@ -34,7 +34,7 @@ class PerfKit(workloadbase.WorkloadBase):
self.overcloudrc = get_overcloudrc()
self.config = config
self.result_dir_ts = result_dir_ts
self.tools = tools.Tools(self.config)
self.tools = browbeat.tools.Tools(self.config)
self.grafana = grafana.Grafana(self.config)
self.elastic = elastic.Elastic(self.config, self.__class__.__name__.lower())

View File

@ -20,13 +20,12 @@ import re
import shutil
import time
import elastic
import grafana
from path import get_workload_venv
from path import results_path
import workloadbase
import tools
import browbeat.tools
from browbeat import elastic
from browbeat import grafana
from browbeat import workloadbase
from browbeat.path import get_workload_venv
from browbeat.path import results_path
class Rally(workloadbase.WorkloadBase):
@ -34,7 +33,7 @@ class Rally(workloadbase.WorkloadBase):
self.logger = logging.getLogger('browbeat.rally')
self.config = config
self.result_dir_ts = result_dir_ts
self.tools = tools.Tools(self.config)
self.tools = browbeat.tools.Tools(self.config)
self.grafana = grafana.Grafana(self.config)
self.elastic = elastic.Elastic(self.config, self.__class__.__name__.lower())

View File

@ -19,13 +19,13 @@ import time
import uuid
import yaml
import elastic
import grafana
from path import get_overcloudrc
from path import get_workload_venv
from path import results_path
import workloadbase
import tools
import browbeat.tools
from browbeat import elastic
from browbeat import grafana
from browbeat import workloadbase
from browbeat.path import get_overcloudrc
from browbeat.path import get_workload_venv
from browbeat.path import results_path
class Shaker(workloadbase.WorkloadBase):
@ -35,7 +35,7 @@ class Shaker(workloadbase.WorkloadBase):
self.overcloudrc = get_overcloudrc()
self.config = config
self.result_dir_ts = result_dir_ts
self.tools = tools.Tools(self.config)
self.tools = browbeat.tools.Tools(self.config)
self.grafana = grafana.Grafana(self.config)
self.elastic = elastic.Elastic(self.config, self.__class__.__name__.lower())

View File

@ -16,10 +16,10 @@ import os
import re
import subprocess
import perfkit
import rally
import shaker
import yoda
from browbeat import perfkit
from browbeat import rally
from browbeat import shaker
from browbeat import yoda
class Tools(object):
@ -51,7 +51,7 @@ class Tools(object):
stderr=subprocess.PIPE)
stdout, stderr = process.communicate()
output_dict = {}
output_dict['stdout'] = stdout.strip()
output_dict['stdout'] = stdout.strip().decode()
output_dict['stderr'] = stderr.strip()
output_dict['rc'] = process.returncode
if process.returncode > 0:

View File

@ -28,11 +28,11 @@ except ImportError:
ostag = None
import requests
import elastic
import grafana
from path import results_path
import workloadbase
import tools
import browbeat.tools
from browbeat import elastic
from browbeat import grafana
from browbeat import workloadbase
from browbeat.path import results_path
class Yoda(workloadbase.WorkloadBase):
@ -41,7 +41,7 @@ class Yoda(workloadbase.WorkloadBase):
self.logger = logging.getLogger('browbeat.yoda')
self.config = config
self.result_dir_ts = result_dir_ts
self.tools = tools.Tools(self.config)
self.tools = browbeat.tools.Tools(self.config)
self.grafana = grafana.Grafana(self.config)
self.elastic = elastic.Elastic(self.config, self.__class__.__name__.lower())
self.error_count = 0

View File

@ -1,6 +1,6 @@
[tox]
minversion = 2.0
envlist = py27,py35,py36,linters,dist,insights
envlist = py27,py35,py36,py37,linters,dist,insights
skipsdist = True
[testenv]
@ -62,6 +62,10 @@ commands = pytest {posargs}
basepython = python3.6
commands = pytest {posargs}
[testenv:py37]
basepython = python3.7
commands = pytest {posargs}
[testenv:cover]
commands = python setup.py test --coverage --testr-args={posargs}