Remove six[7]

Since our code will only support py3. So remove six is necessary.

Change-Id: I3738118b1898421ee41e9e2902c255ead73f3915
This commit is contained in:
chenke
2020-04-21 21:22:31 +08:00
committed by chenker
parent 25f313a3ef
commit 0ef0f165cb
51 changed files with 86 additions and 172 deletions

View File

@@ -18,7 +18,6 @@
# limitations under the License.
#
import abc
import six
from oslo_config import cfg
from oslo_log import log
@@ -36,9 +35,11 @@ CONF = cfg.CONF
LOG = log.getLogger(__name__)
@six.add_metaclass(abc.ABCMeta)
@six.add_metaclass(service.Singleton)
class BaseAuditHandler(object):
class BaseMetaClass(service.Singleton, abc.ABCMeta):
pass
class BaseAuditHandler(object, metaclass=BaseMetaClass):
@abc.abstractmethod
def execute(self, audit, request_context):
@@ -57,8 +58,7 @@ class BaseAuditHandler(object):
raise NotImplementedError()
@six.add_metaclass(abc.ABCMeta)
class AuditHandler(BaseAuditHandler):
class AuditHandler(BaseAuditHandler, metaclass=abc.ABCMeta):
def __init__(self):
super(AuditHandler, self).__init__()

View File

@@ -16,9 +16,10 @@
# See the License for the specific language governing permissions and
# limitations under the License.
from urllib import parse as urlparse
from oslo_config import cfg
from oslo_log import log
import six.moves.urllib.parse as urlparse
from watcher.common import clients
from watcher.common import exception

View File

@@ -15,13 +15,11 @@
# limitations under the License.
import abc
import six
from watcher.common.loader import loadable
@six.add_metaclass(abc.ABCMeta)
class Goal(loadable.Loadable):
class Goal(loadable.Loadable, metaclass=abc.ABCMeta):
def __init__(self, config):
super(Goal, self).__init__(config)

View File

@@ -27,11 +27,8 @@ import abc
import jsonschema
from oslo_serialization import jsonutils
import six
@six.add_metaclass(abc.ABCMeta)
class EfficacySpecification(object):
class EfficacySpecification(object, metaclass=abc.ABCMeta):
def __init__(self):
self._indicators_specs = self.get_indicators_specifications()

View File

@@ -18,7 +18,6 @@ import abc
import jsonschema
from jsonschema import SchemaError
from jsonschema import ValidationError
import six
from oslo_log import log
from oslo_serialization import jsonutils
@@ -29,8 +28,7 @@ from watcher.common import exception
LOG = log.getLogger(__name__)
@six.add_metaclass(abc.ABCMeta)
class IndicatorSpecification(object):
class IndicatorSpecification(object, metaclass=abc.ABCMeta):
def __init__(self, name=None, description=None, unit=None, required=True):
self.name = name

View File

@@ -25,11 +25,9 @@ See: :doc:`../architecture` for more details on this component.
"""
import abc
import six
@six.add_metaclass(abc.ABCMeta)
class Model(object):
class Model(object, metaclass=abc.ABCMeta):
@abc.abstractmethod
def to_string(self):

View File

@@ -110,7 +110,6 @@ import time
from oslo_config import cfg
from oslo_log import log
import six
from watcher.common import clients
from watcher.common.loader import loadable
@@ -120,8 +119,8 @@ LOG = log.getLogger(__name__)
CONF = cfg.CONF
@six.add_metaclass(abc.ABCMeta)
class BaseClusterDataModelCollector(loadable.LoadableSingleton):
class BaseClusterDataModelCollector(loadable.LoadableSingleton,
metaclass=abc.ABCMeta):
STALE_MODEL = model_root.ModelRoot(stale=True)

View File

@@ -13,8 +13,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
import six
from oslo_log import log
from watcher.common import cinder_helper
@@ -286,7 +284,7 @@ class CinderModelBuilder(base.BaseModelBuilder):
:param instance: Cinder Volume object.
:return: A volume node for the graph.
"""
attachments = [{k: v for k, v in six.iteritems(d) if k in (
attachments = [{k: v for k, v in iter(d.items()) if k in (
'server_id', 'attachment_id')} for d in volume.attachments]
volume_attributes = {

View File

@@ -16,14 +16,12 @@
import abc
import six
from watcher.decision_engine.model.element import base
from watcher.objects import fields as wfields
@six.add_metaclass(abc.ABCMeta)
class BaremetalResource(base.Element):
class BaremetalResource(base.Element, metaclass=abc.ABCMeta):
VERSION = '1.0'

View File

@@ -21,7 +21,6 @@ import collections
from lxml import etree
from oslo_log import log
import six
from watcher.objects import base
from watcher.objects import fields as wfields
@@ -29,9 +28,8 @@ from watcher.objects import fields as wfields
LOG = log.getLogger(__name__)
@six.add_metaclass(abc.ABCMeta)
class Element(base.WatcherObject, base.WatcherObjectDictCompat,
base.WatcherComparableObject):
base.WatcherComparableObject, metaclass=abc.ABCMeta):
# Initial version
VERSION = '1.0'

View File

@@ -16,14 +16,12 @@
import abc
import six
from watcher.decision_engine.model.element import base
from watcher.objects import fields as wfields
@six.add_metaclass(abc.ABCMeta)
class ComputeResource(base.Element):
class ComputeResource(base.Element, metaclass=abc.ABCMeta):
VERSION = '1.0'

View File

@@ -16,14 +16,12 @@
import abc
import six
from watcher.decision_engine.model.element import base
from watcher.objects import fields as wfields
@six.add_metaclass(abc.ABCMeta)
class StorageResource(base.Element):
class StorageResource(base.Element, metaclass=abc.ABCMeta):
VERSION = '1.0'

View File

@@ -21,7 +21,6 @@ from lxml import etree
import networkx as nx
from oslo_concurrency import lockutils
from oslo_log import log
import six
from watcher._i18n import _
from watcher.common import exception
@@ -93,9 +92,9 @@ class ModelRoot(nx.DiGraph, base.Model):
:param node: :py:class:`~.node.ComputeNode` object or node UUID
:type node: str or :py:class:`~.instance.Instance`
"""
if isinstance(instance, six.string_types):
if isinstance(instance, str):
instance = self.get_instance_by_uuid(instance)
if isinstance(node, six.string_types):
if isinstance(node, str):
node = self.get_node_by_uuid(node)
self.assert_node(node)
self.assert_instance(instance)
@@ -104,9 +103,9 @@ class ModelRoot(nx.DiGraph, base.Model):
@lockutils.synchronized("model_root")
def unmap_instance(self, instance, node):
if isinstance(instance, six.string_types):
if isinstance(instance, str):
instance = self.get_instance_by_uuid(instance)
if isinstance(node, six.string_types):
if isinstance(node, str):
node = self.get_node_by_uuid(node)
self.remove_edge(instance.uuid, node.uuid)
@@ -367,9 +366,9 @@ class StorageModelRoot(nx.DiGraph, base.Model):
:param pool: :py:class:`~.node.Pool` object or pool name
:param node: :py:class:`~.node.StorageNode` object or node host
"""
if isinstance(pool, six.string_types):
if isinstance(pool, str):
pool = self.get_pool_by_pool_name(pool)
if isinstance(node, six.string_types):
if isinstance(node, str):
node = self.get_node_by_name(node)
self.assert_node(node)
self.assert_pool(pool)
@@ -383,9 +382,9 @@ class StorageModelRoot(nx.DiGraph, base.Model):
:param pool: :py:class:`~.node.Pool` object or pool name
:param node: :py:class:`~.node.StorageNode` object or node name
"""
if isinstance(pool, six.string_types):
if isinstance(pool, str):
pool = self.get_pool_by_pool_name(pool)
if isinstance(node, six.string_types):
if isinstance(node, str):
node = self.get_node_by_name(node)
self.remove_edge(pool.name, node.host)
@@ -411,9 +410,9 @@ class StorageModelRoot(nx.DiGraph, base.Model):
:param volume: :py:class:`~.volume.Volume` object or volume UUID
:param pool: :py:class:`~.node.Pool` object or pool name
"""
if isinstance(volume, six.string_types):
if isinstance(volume, str):
volume = self.get_volume_by_uuid(volume)
if isinstance(pool, six.string_types):
if isinstance(pool, str):
pool = self.get_pool_by_pool_name(pool)
self.assert_pool(pool)
self.assert_volume(volume)
@@ -427,9 +426,9 @@ class StorageModelRoot(nx.DiGraph, base.Model):
:param volume: :py:class:`~.volume.Volume` object or volume UUID
:param pool: :py:class:`~.node.Pool` object or pool name
"""
if isinstance(volume, six.string_types):
if isinstance(volume, str):
volume = self.get_volume_by_uuid(volume)
if isinstance(pool, six.string_types):
if isinstance(pool, str):
pool = self.get_pool_by_pool_name(pool)
self.remove_edge(volume.uuid, pool.name)

View File

@@ -17,11 +17,9 @@
# limitations under the License.
import abc
import six
@six.add_metaclass(abc.ABCMeta)
class NotificationEndpoint(object):
class NotificationEndpoint(object, metaclass=abc.ABCMeta):
def __init__(self, collector):
super(NotificationEndpoint, self).__init__()

View File

@@ -14,8 +14,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
import six
from oslo_log import log
from watcher.common import cinder_helper
from watcher.common import exception
@@ -161,7 +159,7 @@ class CinderNotification(base.NotificationEndpoint):
return 'attachment_id'
attachments = [
{_keyReplace(k): v for k, v in six.iteritems(d)
{_keyReplace(k): v for k, v in iter(d.items())
if k in ('instance_uuid', 'id')}
for d in data['volume_attachment']
]

View File

@@ -19,7 +19,6 @@
import re
import oslo_messaging as om
import six
class NotificationFilter(om.NotificationFilter):
@@ -81,7 +80,7 @@ class NotificationFilter(om.NotificationFilter):
elif regex is not None and data is None:
return True
elif (regex is not None and
isinstance(data, six.string_types) and
isinstance(data, str) and
not regex.match(data)):
return True

View File

@@ -45,13 +45,11 @@ See :doc:`../architecture` for more details on this component.
"""
import abc
import six
from watcher.common.loader import loadable
@six.add_metaclass(abc.ABCMeta)
class BasePlanner(loadable.Loadable):
class BasePlanner(loadable.Loadable, metaclass=abc.ABCMeta):
@classmethod
def get_config_opts(cls):

View File

@@ -16,13 +16,11 @@
#
import abc
import six
from watcher.common import context
@six.add_metaclass(abc.ABCMeta)
class BaseScope(object):
class BaseScope(object, metaclass=abc.ABCMeta):
"""A base class for Scope mechanism
Child of this class is called when audit launches strategy. This strategy

View File

@@ -17,13 +17,11 @@
# limitations under the License.
import abc
import six
from watcher.common.loader import loadable
@six.add_metaclass(abc.ABCMeta)
class ScoringEngine(loadable.Loadable):
class ScoringEngine(loadable.Loadable, metaclass=abc.ABCMeta):
"""A base class for all the Scoring Engines.
A Scoring Engine is an instance of a data model, to which the learning
@@ -97,8 +95,7 @@ class ScoringEngine(loadable.Loadable):
return []
@six.add_metaclass(abc.ABCMeta)
class ScoringEngineContainer(loadable.Loadable):
class ScoringEngineContainer(loadable.Loadable, metaclass=abc.ABCMeta):
"""A base class for all the Scoring Engines Containers.
A Scoring Engine Container is an abstraction which allows to plugin

View File

@@ -56,13 +56,11 @@ Two approaches to dealing with this can be envisaged:
"""
import abc
import six
from watcher.decision_engine.solution import efficacy
@six.add_metaclass(abc.ABCMeta)
class BaseSolution(object):
class BaseSolution(object, metaclass=abc.ABCMeta):
def __init__(self, goal, strategy):
"""Base Solution constructor

View File

@@ -17,11 +17,9 @@
# limitations under the License.
#
import abc
import six
@six.add_metaclass(abc.ABCMeta)
class BaseSolutionComparator(object):
class BaseSolutionComparator(object, metaclass=abc.ABCMeta):
@abc.abstractmethod
def compare(self, sol1, sol2):
raise NotImplementedError()

View File

@@ -17,11 +17,9 @@
# limitations under the License.
#
import abc
import six
@six.add_metaclass(abc.ABCMeta)
class BaseSolutionEvaluator(object):
class BaseSolutionEvaluator(object, metaclass=abc.ABCMeta):
@abc.abstractmethod
def evaluate(self, solution):
raise NotImplementedError()

View File

@@ -18,14 +18,12 @@
# limitations under the License.
import abc
import six
from watcher import notifications
from watcher.objects import fields
@six.add_metaclass(abc.ABCMeta)
class StrategyContext(object):
class StrategyContext(object, metaclass=abc.ABCMeta):
def execute_strategy(self, audit, request_context):
"""Execute the strategy for the given an audit

View File

@@ -17,11 +17,9 @@
# limitations under the License.
#
import abc
import six
@six.add_metaclass(abc.ABCMeta)
class BaseSelector(object):
class BaseSelector(object, metaclass=abc.ABCMeta):
@abc.abstractmethod
def select(self):

View File

@@ -37,7 +37,6 @@ which are dynamically loaded by Watcher at launch time.
"""
import abc
import six
from oslo_config import cfg
from oslo_log import log
@@ -121,8 +120,7 @@ class StrategyEndpoint(object):
return [available_datasource, available_metrics, available_cdm]
@six.add_metaclass(abc.ABCMeta)
class BaseStrategy(loadable.Loadable):
class BaseStrategy(loadable.Loadable, metaclass=abc.ABCMeta):
"""A base class for all the strategies
A Strategy is an algorithm implementation which is able to find a
@@ -471,8 +469,7 @@ class BaseStrategy(loadable.Loadable):
input_parameters=parameters)
@six.add_metaclass(abc.ABCMeta)
class DummyBaseStrategy(BaseStrategy):
class DummyBaseStrategy(BaseStrategy, metaclass=abc.ABCMeta):
@classmethod
def get_goal_name(cls):
@@ -485,8 +482,7 @@ class DummyBaseStrategy(BaseStrategy):
return []
@six.add_metaclass(abc.ABCMeta)
class UnclassifiedStrategy(BaseStrategy):
class UnclassifiedStrategy(BaseStrategy, metaclass=abc.ABCMeta):
"""This base class is used to ease the development of new strategies
The goal defined within this strategy can be used to simplify the
@@ -500,8 +496,7 @@ class UnclassifiedStrategy(BaseStrategy):
return "unclassified"
@six.add_metaclass(abc.ABCMeta)
class ServerConsolidationBaseStrategy(BaseStrategy):
class ServerConsolidationBaseStrategy(BaseStrategy, metaclass=abc.ABCMeta):
REASON_FOR_DISABLE = 'watcher_disabled'
@@ -510,16 +505,14 @@ class ServerConsolidationBaseStrategy(BaseStrategy):
return "server_consolidation"
@six.add_metaclass(abc.ABCMeta)
class ThermalOptimizationBaseStrategy(BaseStrategy):
class ThermalOptimizationBaseStrategy(BaseStrategy, metaclass=abc.ABCMeta):
@classmethod
def get_goal_name(cls):
return "thermal_optimization"
@six.add_metaclass(abc.ABCMeta)
class WorkloadStabilizationBaseStrategy(BaseStrategy):
class WorkloadStabilizationBaseStrategy(BaseStrategy, metaclass=abc.ABCMeta):
def __init__(self, *args, **kwargs):
super(WorkloadStabilizationBaseStrategy, self
@@ -531,16 +524,14 @@ class WorkloadStabilizationBaseStrategy(BaseStrategy):
return "workload_balancing"
@six.add_metaclass(abc.ABCMeta)
class NoisyNeighborBaseStrategy(BaseStrategy):
class NoisyNeighborBaseStrategy(BaseStrategy, metaclass=abc.ABCMeta):
@classmethod
def get_goal_name(cls):
return "noisy_neighbor"
@six.add_metaclass(abc.ABCMeta)
class SavingEnergyBaseStrategy(BaseStrategy):
class SavingEnergyBaseStrategy(BaseStrategy, metaclass=abc.ABCMeta):
@classmethod
def get_goal_name(cls):
@@ -553,8 +544,7 @@ class SavingEnergyBaseStrategy(BaseStrategy):
return []
@six.add_metaclass(abc.ABCMeta)
class ZoneMigrationBaseStrategy(BaseStrategy):
class ZoneMigrationBaseStrategy(BaseStrategy, metaclass=abc.ABCMeta):
@classmethod
def get_goal_name(cls):
@@ -567,8 +557,7 @@ class ZoneMigrationBaseStrategy(BaseStrategy):
return []
@six.add_metaclass(abc.ABCMeta)
class HostMaintenanceBaseStrategy(BaseStrategy):
class HostMaintenanceBaseStrategy(BaseStrategy, metaclass=abc.ABCMeta):
REASON_FOR_MAINTAINING = 'watcher_maintaining'

View File

@@ -19,7 +19,6 @@
#
from oslo_log import log
import six
from watcher._i18n import _
from watcher.common import exception
@@ -132,7 +131,7 @@ class VMWorkloadConsolidation(base.ServerConsolidationBaseStrategy):
:param instance:
"""
if isinstance(instance.state, six.string_types):
if isinstance(instance.state, str):
return instance.state
elif isinstance(instance.state, element.InstanceState):
return instance.state.value
@@ -148,7 +147,7 @@ class VMWorkloadConsolidation(base.ServerConsolidationBaseStrategy):
:param node:
"""
if isinstance(node.status, six.string_types):
if isinstance(node.status, str):
return node.status
elif isinstance(node.status, element.ServiceState):
return node.status.value

View File

@@ -13,7 +13,6 @@
#
from dateutil.parser import parse
import six
from oslo_log import log
@@ -282,7 +281,7 @@ class ZoneMigration(base.ZoneMigrationBaseStrategy):
action_counter = ActionCounter(total_limit,
per_pool_limit, per_node_limit)
for k, targets in six.iteritems(filtered_targets):
for k, targets in iter(filtered_targets.items()):
if k == VOLUME:
self.volumes_migration(targets, action_counter)
elif k == INSTANCE:
@@ -580,7 +579,7 @@ class ZoneMigration(base.ZoneMigrationBaseStrategy):
filter_list = []
priority_filter_map = self.get_priority_filter_map()
for k, v in six.iteritems(self.priority):
for k, v in iter(self.priority.items()):
if k in priority_filter_map:
filter_list.append(priority_filter_map[k](v))
@@ -710,7 +709,7 @@ class BaseFilter(object):
return {}
for cond in list(reversed(self.condition)):
for k, v in six.iteritems(targets):
for k, v in iter(targets.items()):
if not self.is_allowed(k):
continue
LOG.debug("filter:%s with the key: %s", cond, k)

View File

@@ -19,7 +19,6 @@
import copy
import futurist
from futurist import waiters
import six
from oslo_config import cfg
from oslo_log import log
@@ -29,8 +28,7 @@ CONF = cfg.CONF
LOG = log.getLogger(__name__)
@six.add_metaclass(service.Singleton)
class DecisionEngineThreadPool(object):
class DecisionEngineThreadPool(object, metaclass=service.Singleton):
"""Singleton threadpool to submit general tasks to"""
def __init__(self):