Stop supporting python < 3.6

* remove six and mock usage
* temporary turn off rally-docker-check

Change-Id: I8582ef236917b3a0239f047ed9763134899d2d56
This commit is contained in:
Andrey Kurilin 2020-03-23 18:35:09 +02:00
parent c1c1d6ca8c
commit ad982b111a
197 changed files with 401 additions and 372 deletions

View File

@ -14,11 +14,10 @@
jobs:
- rally-tox-cover
- rally-tox-pep8
- rally-tox-py27
- rally-tox-py36
- rally-tox-py37
- rally-dsvm-tox-functional
- rally-docker-check
#- rally-docker-check
- rally-task-basic-with-existing-users:
# use_existing_users key did not trigger proper ansible tasks
voting: false
@ -74,11 +73,10 @@
jobs:
- rally-tox-cover
- rally-tox-pep8
- rally-tox-py27
- rally-tox-py36
- rally-tox-py37
- rally-dsvm-tox-functional
- rally-docker-check
#- rally-docker-check
- rally-task-simple-job
- rally-task-cinder
#- rally-task-heat

View File

@ -19,7 +19,6 @@ from rally.common import utils as rutils
from rally.common import validation
from rally import exceptions
from rally.task import context
from six import moves
from rally_openstack import consts
from rally_openstack.scenarios.ceilometer import utils as ceilo_utils
@ -136,7 +135,7 @@ class CeilometerSampleGenerator(context.Context):
scenario = ceilo_utils.CeilometerScenario(
context={"user": user, "task": self.context["task"]}
)
for i in moves.xrange(self.config["resources_per_tenant"]):
for _ in range(self.config["resources_per_tenant"]):
samples_to_create = scenario._make_samples(
count=self.config["samples_per_resource"],
interval=self.config["timestamp_interval"],

View File

@ -12,8 +12,6 @@
# License for the specific language governing permissions and limitations
# under the License.
from six import moves
from rally.common import utils as rutils
from rally.common import validation
from rally.task import context
@ -92,7 +90,7 @@ class MonascaMetricGenerator(context.Context):
scenario = monasca_utils.MonascaScenario(
context={"user": user, "task": self.context["task"]}
)
for i in moves.xrange(self.config["metrics_per_tenant"]):
for i in range(self.config["metrics_per_tenant"]):
scenario._create_metrics(**new_metric)
rutils.interruptable_sleep(0.001)
rutils.interruptable_sleep(

View File

@ -13,8 +13,9 @@
# License for the specific language governing permissions and limitations
# under the License.
from urllib.parse import urlparse
import requests
from six.moves.urllib import parse
from rally.common import utils as rutils
from rally.common import validation
@ -97,7 +98,7 @@ class SaharaInputDataSources(context.Context):
swift_scenario = swift_utils.SwiftScenario(clients=clients,
context=self.context)
# TODO(astudenov): use self.generate_random_name()
container_name = "rally_" + parse.urlparse(input_url).netloc.rstrip(
container_name = "rally_" + urlparse(input_url).netloc.rstrip(
".sahara")
self.context["sahara"]["container_name"] = (
swift_scenario._create_container(container_name=container_name))

View File

@ -15,8 +15,6 @@
import abc
import six
from rally.common import broker
from rally.common import logging
from rally.common import utils
@ -32,8 +30,7 @@ from rally_openstack import types
LOG = logging.getLogger(__name__)
@six.add_metaclass(abc.ABCMeta)
class BaseCustomImageGenerator(context.Context):
class BaseCustomImageGenerator(context.Context, metaclass=abc.ABCMeta):
"""Base plugin for the contexts providing customized image with.
Every context plugin for the specific customization must implement

View File

@ -14,8 +14,6 @@
import random
import six
from rally.common import validation
from rally.task import context
@ -85,7 +83,7 @@ class AuditTemplateGenerator(context.Context):
})
self.context["audit_templates"] = []
for i in six.moves.range(self.config["audit_templates_per_admin"]):
for i in range(self.config["audit_templates_per_admin"]):
cfg_size = len(self.config["params"])
if self.config["fill_strategy"] == "round_robin":
audit_params = self.config["params"][i % cfg_size]

View File

@ -15,12 +15,13 @@
import abc
import os
from urllib.parse import urlparse
from urllib.parse import urlunparse
from rally.common import cfg
from rally.common import logging
from rally.common.plugin import plugin
from rally import exceptions
from six.moves.urllib import parse
from rally_openstack import consts
from rally_openstack import credential as oscred
@ -342,13 +343,13 @@ class Keystone(OSClient):
The keystone Client code requires that auth_url be the root url
if a version override is used.
"""
url = parse.urlparse(self.credential.auth_url)
url = urlparse(self.credential.auth_url)
path = url.path.rstrip("/")
if path.endswith("v2.0") or path.endswith("v3"):
path = os.path.join(*os.path.split(path)[:-1])
parts = (url.scheme, url.netloc, path, url.params, url.query,
url.fragment)
return parse.urlunparse(parts)
return urlunparse(parts)
return self.credential.auth_url
def create_client(self, version=None):

View File

@ -18,7 +18,6 @@ import uuid
from rally import exceptions
from rally.task import atomic
from rally.task import utils as bench_utils
import six
from rally_openstack import scenario
@ -67,7 +66,7 @@ class CeilometerScenario(scenario.OpenStackScenario):
len_meta = len(metadata_list) if metadata_list else 0
now = timestamp or dt.datetime.utcnow()
samples = []
for i in six.moves.xrange(count):
for i in range(count):
if i and not (i % batch_size):
yield samples
samples = []

View File

@ -16,7 +16,6 @@ import json
from rally.task import types
from rally.task import validation
import six
import yaml
from rally_openstack import consts
@ -91,7 +90,7 @@ class CreateExecutionFromWorkbook(utils.MistralScenario):
wb_def = yaml.safe_load(wb.definition)
if not workflow_name:
workflow_name = six.next(six.iterkeys(wb_def["workflows"]))
workflow_name = next(iter(wb_def["workflows"].keys()))
workflow_identifier = ".".join([wb.name, workflow_name])

View File

@ -13,17 +13,18 @@
# License for the specific language governing permissions and limitations
# under the License.
import io
import os.path
import subprocess
import sys
import netaddr
from rally.common import cfg
from rally.common import logging
from rally.common import sshutils
from rally.task import atomic
from rally.task import utils
import six
from rally_openstack.scenarios.nova import utils as nova_utils
from rally_openstack.wrappers import network as network_wrapper
@ -107,7 +108,7 @@ class VMScenario(nova_utils.NovaScenario):
interpreter = command.get("interpreter") or []
if interpreter:
if isinstance(interpreter, six.string_types):
if isinstance(interpreter, str):
interpreter = [interpreter]
elif type(interpreter) != list:
raise ValueError("command 'interpreter' value must be str "
@ -116,7 +117,7 @@ class VMScenario(nova_utils.NovaScenario):
remote_path = command.get("remote_path") or []
if remote_path:
if isinstance(remote_path, six.string_types):
if isinstance(remote_path, str):
remote_path = [remote_path]
elif type(remote_path) != list:
raise ValueError("command 'remote_path' value must be str "
@ -131,7 +132,7 @@ class VMScenario(nova_utils.NovaScenario):
stdin = open(os.path.expanduser(command["script_file"]), "rb")
elif command.get("script_inline"):
stdin = six.moves.StringIO(command["script_inline"])
stdin = io.StringIO(command["script_inline"])
cmd.extend(command.get("command_args") or [])

View File

@ -16,8 +16,6 @@
import inspect
import os
import re
import six
from rally.common import logging
from rally.common import validation
@ -556,8 +554,8 @@ class RequiredCinderServicesValidator(validation.Validator):
clients = context["admin"]["credential"].clients()
for service in clients.cinder().services.list():
if (service.binary == six.text_type(self.services)
and service.state == six.text_type("up")):
if (service.binary == str(self.services)
and service.state == str("up")):
return
self.fail("%s service is not available" % self.services)

View File

@ -13,12 +13,11 @@
# License for the specific language governing permissions and limitations
# under the License.
import configparser
import inspect
import io
import os
import six
from six.moves import configparser
from rally.common import cfg
from rally.common import logging
from rally import exceptions
@ -216,7 +215,7 @@ class TempestConfigfileManager(object):
with open(conf_path, "w") as configfile:
self.conf.write(configfile)
raw_conf = six.StringIO()
raw_conf = io.StringIO()
raw_conf.write("# Some empty values of options will be replaced while "
"creating required resources (images, flavors, etc).\n")
self.conf.write(raw_conf)

View File

@ -13,16 +13,17 @@
# License for the specific language governing permissions and limitations
# under the License.
import configparser
import os
import re
import requests
from rally.common import logging
from rally import exceptions
from rally.task import utils as task_utils
from rally.verification import context
from rally.verification import utils
import requests
from six.moves import configparser
from rally_openstack.services.image import image
from rally_openstack.verification.tempest import config as conf

View File

@ -16,7 +16,6 @@
import abc
import itertools
import netaddr
import six
from neutronclient.common import exceptions as neutron_exceptions
from rally.common import cfg
@ -58,8 +57,7 @@ class NetworkWrapperException(exceptions.RallyException):
msg_fmt = "%(message)s"
@six.add_metaclass(abc.ABCMeta)
class NetworkWrapper(object):
class NetworkWrapper(object, metaclass=abc.ABCMeta):
"""Base class for network service implementations.
We actually have two network services implementations, with different API:

View File

@ -7,6 +7,7 @@ author = OpenStack
author-email = openstack-discuss@lists.openstack.org
home-page = https://docs.openstack.org/rally/latest/
license = Apache License, Version 2.0
python-requires = >=3.6
classifier =
Environment :: OpenStack
Intended Audience :: Developers

View File

@ -4,7 +4,7 @@
hacking>=0.12.0,!=0.13.0 # Apache Software License
pytest>=2.7 # MIT
pytest<=5.3 # MIT
# py.test plugin for measuring coverage.
pytest-cov>=2.2.1 # MIT
# py.test plugin for generating HTML reports

View File

@ -15,7 +15,6 @@
"""List and compare most used OpenStack cloud resources."""
import argparse
import json
import os
@ -25,7 +24,6 @@ import sys
from rally.cli import cliutils
from rally.common.plugin import discover
from rally import plugins
import six
from rally_openstack import consts
from rally_openstack import credential
@ -569,7 +567,7 @@ def main():
else:
out = subprocess.check_output(["rally", "deployment", "config",
"--deployment", "devstack"])
config = json.loads(out if six.PY2 else out.decode("utf-8"))
config = json.loads(out.decode("utf-8"))
config = config["openstack"]
config.update(config.pop("admin"))
if "users" in config:

View File

@ -21,8 +21,6 @@ import re
import traceback
import unittest
import six
from rally import api
from rally.common import broker
from rally.common import yamlutils as yaml
@ -127,7 +125,7 @@ class TestTaskSamples(unittest.TestCase):
rapi.task.validate(deployment="MAIN",
config=task_config)
except Exception as e:
if not self._skip(six.text_type(e)):
if not self._skip(str(e)):
failed_samples[full_path] = traceback.format_exc()
broker.run(publisher, consumer, self.NUMBER_OF_THREADS)

View File

@ -13,6 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import configparser
import copy
import errno
import inspect
@ -22,9 +23,7 @@ import shutil
import subprocess
import tempfile
from oslo_utils import encodeutils
from six.moves import configparser
class RallyCliError(Exception):

View File

@ -83,8 +83,12 @@ def skip_ignored_lines(func):
line = physical_line.strip()
if not line or line.startswith("#") or line.endswith("# noqa"):
return
for value in func(logical_line, physical_line, filename):
yield value
try:
for res in func(logical_line, physical_line, filename):
yield res
except StopIteration:
return
return wrapper
@ -211,9 +215,9 @@ def no_use_conf_debug_check(logical_line, physical_line, filename):
point = logical_line.find("CONF.debug")
if point != -1 and filename not in excluded_files:
yield(point, "N312 Don't use `CONF.debug`. "
"Function `rally.common.logging.is_debug` "
"should be used instead.")
yield (point, "N312 Don't use `CONF.debug`. "
"Function `rally.common.logging.is_debug` "
"should be used instead.")
@skip_ignored_lines
@ -409,7 +413,7 @@ def check_quotes(logical_line, physical_line, filename):
i += 1
if single_quotas_are_used:
yield (i, "N350 Remove Single quotes")
yield i, "N350 Remove Single quotes"
@skip_ignored_lines
@ -421,10 +425,10 @@ def check_no_constructor_data_struct(logical_line, physical_line, filename):
match = re_no_construct_dict.search(logical_line)
if match:
yield (0, "N351 Remove dict() construct and use literal {}")
yield 0, "N351 Remove dict() construct and use literal {}"
match = re_no_construct_list.search(logical_line)
if match:
yield (0, "N351 Remove list() construct and use literal []")
yield 0, "N351 Remove list() construct and use literal []"
def check_dict_formatting_in_string(logical_line, tokens):
@ -503,10 +507,10 @@ def check_using_unicode(logical_line, physical_line, filename):
if re.search(r"\bunicode\(", logical_line):
yield (0, "N353 'unicode' function is absent in python3. Please "
"use 'six.text_type' instead.")
"use 'str' instead.")
def check_raises(physical_line, filename):
def check_raises(logical_line, physical_line, filename):
"""Check raises usage
N354
@ -516,8 +520,8 @@ def check_raises(physical_line, filename):
"./tests/hacking/checks.py"]
if filename not in ignored_files:
if re_raises.search(physical_line):
return (0, "N354 ':Please use ':raises Exception: conditions' "
"in docstrings.")
yield (0, "N354 ':Please use ':raises Exception: conditions' "
"in docstrings.")
@skip_ignored_lines
@ -540,17 +544,7 @@ def check_datetime_alias(logical_line, physical_line, filename):
N356
"""
if re_datetime_alias.search(logical_line):
yield (0, "N356 Please use ``dt`` as alias for ``datetime``.")
@skip_ignored_lines
def check_no_six_iteritems(logical_line, physical_line, filename):
"""Check no six.iteritems
N357
"""
if re.search(r"\six.iteritems\(\)", logical_line):
yield (0, "N357 Use dict.items() instead of six.iteritems()")
yield 0, "N356 Please use ``dt`` as alias for ``datetime``."
@skip_ignored_lines
@ -583,7 +577,7 @@ def check_objects_imports_in_cli(logical_line, physical_line, filename):
@skip_ignored_lines
def check_log_warn(logical_line, physical_line, filename):
if re_log_warn.search(logical_line):
yield(0, "N313 LOG.warn is deprecated, please use LOG.warning")
yield 0, "N313 LOG.warn is deprecated, please use LOG.warning"
@skip_ignored_lines
@ -592,15 +586,18 @@ def check_opts_import_path(logical_line, physical_line, filename):
N342
"""
excluded_files = ["./rally_openstack/__init__.py",
"./rally_openstack/embedcharts/osprofilerchart.py"]
excluded_files = ["./rally/task/engine.py",
"./rally/task/context.py",
"./rally/task/scenario.py",
"./rally/common/opts.py"]
forbidden_methods = [".register_opts("]
if filename not in excluded_files:
for forbidden_method in forbidden_methods:
if logical_line.find(forbidden_method) != -1:
yield (0, "N342 All options should be loaded from correct "
"paths only - rally_openstack.cfg module.")
"paths only. For 'openstack' "
"its './rally/plugin/openstack/cfg'")
def factory(register):
@ -625,6 +622,5 @@ def factory(register):
register(check_db_imports_in_cli)
register(check_objects_imports_in_cli)
register(check_old_type_class)
register(check_no_six_iteritems)
register(check_log_warn)
register(check_opts_import_path)

View File

@ -13,7 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally_openstack.cleanup import base
from tests.unit import test

View File

@ -13,9 +13,10 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally.common import utils
from rally_openstack.cleanup import base
from rally_openstack.cleanup import manager
from tests.unit import test

View File

@ -14,10 +14,10 @@
# under the License.
import copy
from unittest import mock
from boto import exception as boto_exception
import ddt
import mock
from neutronclient.common import exceptions as neutron_exceptions
from novaclient import exceptions as nova_exc
from watcherclient.common.apiclient import exceptions as watcher_exceptions

View File

@ -13,9 +13,7 @@
# under the License.
import copy
import mock
import six
from unittest import mock
from rally import exceptions
from rally_openstack.contexts.ceilometer import samples
@ -158,7 +156,7 @@ class CeilometerSampleGeneratorTestCase(test.TestCase):
for id_ in tenants.keys():
new_context["tenants"][id_].setdefault("samples", [])
new_context["tenants"][id_].setdefault("resources", [])
for i in six.moves.xrange(resources_per_tenant):
for _ in range(resources_per_tenant):
for sample in samples_to_create:
new_context["tenants"][id_]["samples"].append(sample)
new_context["tenants"][id_]["resources"].append(

View File

@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally_openstack.contexts.cinder import volume_types
from tests.unit import test

View File

@ -13,9 +13,10 @@
# under the License.
import copy
from unittest import mock
import ddt
import mock
from rally.task import context
from rally_openstack.contexts.cinder import volumes

View File

@ -13,8 +13,10 @@
# License for the specific language governing permissions and limitations
# under the License.
from unittest import mock
import ddt
import mock
from rally.common import utils
from rally.task import context

View File

@ -13,8 +13,10 @@
# License for the specific language governing permissions and limitations
# under the License.
from unittest import mock
import ddt
import mock
from rally.common import utils
from rally.task import context

View File

@ -14,8 +14,7 @@
# under the License.
import functools
import mock
from unittest import mock
from rally_openstack.contexts.dataplane import heat as heat_dataplane
from tests.unit import test

View File

@ -14,8 +14,7 @@
import copy
import mock
from unittest import mock
from rally_openstack.contexts.designate import zones
from rally_openstack.scenarios.designate import utils

View File

@ -13,8 +13,7 @@
# under the License.
import copy
import mock
from unittest import mock
from rally_openstack.contexts.ec2 import servers
from rally_openstack.scenarios.ec2 import utils as ec2_utils

View File

@ -14,9 +14,9 @@
import copy
from unittest import mock
import ddt
import mock
from rally_openstack.contexts.glance import images
from tests.unit import test

View File

@ -13,7 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally_openstack.contexts.heat import stacks
from rally_openstack.scenarios.heat import utils as heat_utils

View File

@ -13,7 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally import exceptions
from rally_openstack.contexts.keystone import roles

View File

@ -13,9 +13,10 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally import exceptions
from rally_openstack.contexts.keystone import users
from rally_openstack import credential as oscredential
from tests.unit import test

View File

@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally_openstack.contexts.magnum import ca_certs
from tests.unit import test

View File

@ -10,7 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally_openstack.contexts.magnum import cluster_templates
from rally_openstack.scenarios.magnum import utils as magnum_utils

View File

@ -12,10 +12,8 @@
# License for the specific language governing permissions and limitations
# under the License.
import copy
import mock
from unittest import mock
from rally_openstack.contexts.magnum import clusters
from rally_openstack.scenarios.magnum import utils as magnum_utils

View File

@ -13,9 +13,9 @@
# License for the specific language governing permissions and limitations
# under the License.
from unittest import mock
import ddt
import mock
import six
from rally_openstack.contexts.manila import consts
from rally_openstack.contexts.manila import manila_security_services
@ -45,15 +45,15 @@ class SecurityServicesTestCase(test.ScenarioTestCase):
security_services = self.SECURITY_SERVICES
tenants = {}
for t_id in range(self.TENANTS_AMOUNT):
tenants[six.text_type(t_id)] = {"name": six.text_type(t_id)}
tenants[six.text_type(t_id)]["networks"] = []
tenants[str(t_id)] = {"name": str(t_id)}
tenants[str(t_id)]["networks"] = []
for i in range(networks_per_tenant):
network = {"id": "fake_net_id_%s" % i}
if neutron_network_provider:
network["subnets"] = ["fake_subnet_id_of_net_%s" % i]
else:
network["cidr"] = "101.0.5.0/24"
tenants[six.text_type(t_id)]["networks"].append(network)
tenants[str(t_id)]["networks"].append(network)
users = []
for t_id in tenants.keys():
for i in range(self.USERS_PER_TENANT):

View File

@ -14,10 +14,9 @@
# under the License.
import copy
from unittest import mock
import ddt
import mock
import six
from rally import exceptions
from rally_openstack.contexts.manila import consts
@ -61,15 +60,15 @@ class ShareNetworksTestCase(test.TestCase):
neutron_network_provider=True):
tenants = {}
for t_id in range(self.TENANTS_AMOUNT):
tenants[six.text_type(t_id)] = {"name": six.text_type(t_id)}
tenants[six.text_type(t_id)]["networks"] = []
tenants[str(t_id)] = {"name": str(t_id)}
tenants[str(t_id)]["networks"] = []
for i in range(networks_per_tenant):
network = {"id": "fake_net_id_%s" % i}
if neutron_network_provider:
network["subnets"] = ["fake_subnet_id_of_net_%s" % i]
else:
network["cidr"] = "101.0.5.0/24"
tenants[six.text_type(t_id)]["networks"].append(network)
tenants[str(t_id)]["networks"].append(network)
users = []
for t_id in tenants.keys():
for i in range(self.USERS_PER_TENANT):

View File

@ -14,10 +14,9 @@
# under the License.
import copy
from unittest import mock
import ddt
import mock
import six
from rally_openstack import consts as rally_consts
from rally_openstack.contexts.manila import consts
@ -52,7 +51,7 @@ class SharesTestCase(test.TestCase):
share_size=1, share_proto="fake_proto", share_type=None):
tenants = {}
for t_id in range(self.TENANTS_AMOUNT):
tenants[six.text_type(t_id)] = {"name": six.text_type(t_id)}
tenants[str(t_id)] = {"name": str(t_id)}
users = []
for t_id in sorted(list(tenants.keys())):
for i in range(self.USERS_PER_TENANT):

View File

@ -12,8 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
import six
from unittest import mock
from rally_openstack.contexts.monasca import metrics
from rally_openstack.scenarios.monasca import utils as monasca_utils
@ -26,7 +25,7 @@ class MonascaMetricGeneratorTestCase(test.TestCase):
def _gen_tenants(self, count):
tenants = {}
for id in six.moves.range(count):
for id in range(count):
tenants[str(id)] = {"name": str(id)}
return tenants
@ -35,7 +34,7 @@ class MonascaMetricGeneratorTestCase(test.TestCase):
tenants = self._gen_tenants(tenants_count)
users = []
for id in tenants.keys():
for i in six.moves.range(users_per_tenant):
for i in range(users_per_tenant):
users.append({"id": i, "tenant_id": id,
"endpoint": mock.MagicMock()})
context = test.get_test_context()

View File

@ -13,7 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally_openstack.contexts.murano import murano_environments
from rally_openstack.scenarios.murano import utils as murano_utils

View File

@ -13,7 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally_openstack.contexts.murano import murano_packages
from tests.unit import test

View File

@ -13,7 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally_openstack.contexts.network import allow_ssh
from tests.unit import test

View File

@ -13,8 +13,9 @@
# License for the specific language governing permissions and limitations
# under the License.
from unittest import mock
import ddt
import mock
import netaddr
from rally_openstack.contexts.network import networks as network_context

View File

@ -14,7 +14,7 @@
# under the License.
import copy
import mock
from unittest import mock
from rally_openstack.contexts.network import routers as router_context
from rally_openstack.scenarios.neutron import utils as neutron_utils

View File

@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally_openstack.contexts.network import existing_network
from tests.unit import test

View File

@ -10,7 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally_openstack.contexts.neutron import lbaas as lbaas_context
from tests.unit import test

View File

@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally_openstack.contexts.network import networking_agents
from tests.unit import test

View File

@ -14,8 +14,8 @@
# under the License.
import copy
from unittest import mock
import mock
from novaclient import exceptions as nova_exceptions
from rally_openstack.contexts.nova import flavors

View File

@ -13,7 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally_openstack.contexts.nova import keypairs
from tests.unit import test

View File

@ -14,8 +14,7 @@
import copy
import mock
from unittest import mock
from rally_openstack.contexts.nova import servers
from rally_openstack.scenarios.nova import utils as nova_utils

View File

@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally_openstack.contexts.quotas import cinder_quotas
from tests.unit import test

View File

@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally_openstack.contexts.quotas import designate_quotas
from tests.unit import test

View File

@ -13,7 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally_openstack.contexts.quotas import manila_quotas
from tests.unit import test

View File

@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally_openstack.contexts.quotas import neutron_quotas
from tests.unit import test

View File

@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally_openstack.contexts.quotas import nova_quotas
from tests.unit import test

View File

@ -14,9 +14,9 @@
# under the License.
import copy
from unittest import mock
import ddt
import mock
from rally.common import logging
from rally.task import context

View File

@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally.common import cfg
from rally import exceptions

View File

@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally import exceptions
from rally_openstack.contexts.sahara import sahara_image

View File

@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally_openstack.contexts.sahara import sahara_input_data_sources
from rally_openstack.scenarios.swift import utils as swift_utils

View File

@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally_openstack.contexts.sahara import sahara_job_binaries
from rally_openstack.scenarios.sahara import utils as sahara_utils

View File

@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally_openstack.contexts.sahara import sahara_output_data_sources
from rally_openstack import credential as oscredential

View File

@ -10,7 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally_openstack.contexts.senlin import profiles
from tests.unit import test

View File

@ -13,7 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally import exceptions
from rally_openstack.contexts.swift import objects

View File

@ -13,7 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally_openstack.contexts.swift import utils
from tests.unit import test

View File

@ -10,8 +10,10 @@
# License for the specific language governing permissions and limitations
# under the License.
from unittest import mock
import ddt
import mock
from rally.common import utils
from rally import exceptions
from rally.task import context

View File

@ -13,7 +13,8 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally.task import context
from rally_openstack.contexts.vm import custom_image

View File

@ -15,9 +15,10 @@
"""Tests for the image customizer using a command execution."""
import mock
from unittest import mock
from rally import exceptions
from rally_openstack.contexts.vm import image_command_customizer
from tests.unit import test

View File

@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally_openstack.contexts.watcher import audit_templates
from rally_openstack.scenarios.watcher import utils as watcher_utils

View File

@ -22,6 +22,7 @@ from rally.common.plugin import plugin
from rally.common import validation
from rally import plugins
from rally.task import scenario
from tests.unit import test

View File

@ -17,6 +17,7 @@ import json
from rally.common.plugin import plugin
from rally import plugins
from tests.unit import test

View File

@ -17,14 +17,15 @@ import inspect
import itertools
import os
import traceback
from unittest import mock
import yaml
import mock
from rally import api
from rally.task import context
from rally.task import engine
from rally.task import scenario
from rally.task import task_cfg
import yaml
import rally_openstack
from tests.unit import test

View File

@ -15,8 +15,7 @@
import copy
import datetime as dt
import os
import mock
from unittest import mock
from rally_openstack.embedcharts import osprofilerchart as osp_chart
from tests.unit import test

View File

@ -18,19 +18,19 @@ import multiprocessing
import random
import re
import string
from unittest import mock
import uuid
from ceilometerclient import exc as ceilometer_exc
from glanceclient import exc
import mock
from neutronclient.common import exceptions as neutron_exceptions
from novaclient import exceptions as nova_exceptions
from swiftclient import exceptions as swift_exceptions
from rally import api
from rally.common import utils as rally_utils
from rally.task import context
from rally.task import scenario
import six
from swiftclient import exceptions as swift_exceptions
from rally_openstack import consts
from rally_openstack import credential
@ -429,7 +429,7 @@ class FakeServerManager(FakeManager):
pass
def delete(self, resource):
if not isinstance(resource, six.string_types):
if not isinstance(resource, str):
resource = resource.id
cached = self.get(resource)
@ -462,7 +462,7 @@ class FakeImageManager(FakeManager):
return self._create(name=name)
def delete(self, resource):
if not isinstance(resource, six.string_types):
if not isinstance(resource, str):
resource = resource.id
cached = self.get(resource)
@ -543,7 +543,7 @@ class FakeKeypairManager(FakeManager):
return self._cache(kp)
def delete(self, resource):
if not isinstance(resource, six.string_types):
if not isinstance(resource, str):
resource = resource.id
cached = self.get(resource)
@ -561,7 +561,7 @@ class FakeClusterTemplateManager(FakeManager):
return self._cache(cluster_template)
def delete(self, resource):
if not isinstance(resource, six.string_types):
if not isinstance(resource, str):
resource = resource.id
cached = self.get(resource)
@ -578,7 +578,7 @@ class FakeStackManager(FakeManager):
return self._cache(stack)
def delete(self, resource):
if not isinstance(resource, six.string_types):
if not isinstance(resource, str):
resource = resource.id
cached = self.get(resource)
@ -596,7 +596,7 @@ class FakeDomainManager(FakeManager):
return self._cache(domain)
def delete(self, resource):
if not isinstance(resource, six.string_types):
if not isinstance(resource, str):
resource = resource.id
cached = self.get(resource)
@ -656,7 +656,7 @@ class FakeSecurityGroupManager(FakeManager):
raise nova_exceptions.NotFound("Security Group not found")
def delete(self, resource):
if not isinstance(resource, six.string_types):
if not isinstance(resource, str):
resource = resource.id
cached = self.get(resource)
@ -927,7 +927,7 @@ class FakeDbInstanceManager(FakeManager):
return self.__db_instances.values()
def delete(self, resource):
if not isinstance(resource, six.string_types):
if not isinstance(resource, str):
resource = resource.id
cached = self.get(resource)

View File

@ -13,11 +13,12 @@
# License for the specific language governing permissions and limitations
# under the License.
from unittest import mock
import ddt
import mock
import os_faults
from os_faults.api import error
from rally import consts
from rally.task import hook

View File

@ -13,9 +13,10 @@
# under the License.
import json
from unittest import mock
import jsonschema
import mock
from rally.env import env_mgr
from rally.env import platform
from rally import exceptions

View File

@ -16,8 +16,8 @@ import os
import shutil
import tempfile
import traceback
from unittest import mock
import mock
from rally import api
from rally.common.plugin import discover
from rally.common import yamlutils as yaml

View File

@ -13,11 +13,11 @@
# License for the specific language governing permissions and limitations
# under the License.
from unittest import mock
from rally_openstack.scenarios.authenticate import authenticate
from tests.unit import test
import mock
class AuthenticateTestCase(test.ScenarioTestCase):

View File

@ -13,7 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally_openstack.scenarios.barbican import containers
from tests.unit import test

View File

@ -13,7 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally_openstack.scenarios.barbican import orders
from tests.unit import test

View File

@ -13,7 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally_openstack.scenarios.barbican import secrets
from tests.unit import fakes

View File

@ -13,7 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally_openstack.scenarios.barbican import utils
from tests.unit import test

View File

@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally_openstack.scenarios.ceilometer import alarms
from tests.unit import test

View File

@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally import exceptions
from rally_openstack.scenarios.ceilometer import events

View File

@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally_openstack.scenarios.ceilometer import meters
from tests.unit import test

View File

@ -13,8 +13,7 @@
# under the License.
import json
import mock
from unittest import mock
from rally_openstack.scenarios.ceilometer import queries
from tests.unit import test

View File

@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally import exceptions
from rally_openstack.scenarios.ceilometer import resources

View File

@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally_openstack.scenarios.ceilometer import samples
from tests.unit import test

View File

@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally_openstack.scenarios.ceilometer import stats
from tests.unit import test

View File

@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally_openstack.scenarios.ceilometer import traits
from tests.unit import test

View File

@ -14,9 +14,9 @@
import copy
import datetime as dt
from unittest import mock
from dateutil import parser
import mock
from rally import exceptions
from rally_openstack.scenarios.ceilometer import utils

View File

@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally import exceptions as rally_exceptions
from rally_openstack.scenarios.cinder import qos_specs

View File

@ -13,7 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally_openstack import credential
from rally_openstack.scenarios.cinder import utils

View File

@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally_openstack.scenarios.cinder import volume_backups
from tests.unit import test

View File

@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally import exceptions as rally_exceptions
from rally_openstack.scenarios.cinder import volume_types

View File

@ -13,8 +13,9 @@
# License for the specific language governing permissions and limitations
# under the License.
from unittest import mock
import ddt
import mock
from rally_openstack.scenarios.cinder import volumes
from tests.unit import test

View File

@ -14,7 +14,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
from unittest import mock
from rally import exceptions
from rally_openstack.scenarios.designate import basic

View File

@ -14,8 +14,9 @@
# License for the specific language governing permissions and limitations
# under the License.
from unittest import mock
import ddt
import mock
from rally_openstack.scenarios.designate import utils
from tests.unit import test

Some files were not shown because too many files have changed in this diff Show More