Merge "Remove usage of six.add_metaclass"

This commit is contained in:
Zuul 2020-05-22 20:35:31 +00:00 committed by Gerrit Code Review
commit ef97c83e87
53 changed files with 74 additions and 187 deletions

View File

@ -16,8 +16,6 @@
import abc import abc
import contextlib import contextlib
import six
from neutron_lib.api.definitions import port_security as psec from neutron_lib.api.definitions import port_security as psec
from neutron_lib import constants as n_const from neutron_lib import constants as n_const
from neutron_lib.utils import runtime from neutron_lib.utils import runtime
@ -49,8 +47,7 @@ def load_firewall_driver_class(driver):
'neutron.agent.firewall_drivers', driver) 'neutron.agent.firewall_drivers', driver)
@six.add_metaclass(abc.ABCMeta) class FirewallDriver(object, metaclass=abc.ABCMeta):
class FirewallDriver(object):
"""Firewall Driver base class. """Firewall Driver base class.
Defines methods that any driver providing security groups Defines methods that any driver providing security groups

View File

@ -21,7 +21,6 @@ from neutron_lib import constants
from neutron_lib.services.qos import constants as qos_consts from neutron_lib.services.qos import constants as qos_consts
from oslo_concurrency import lockutils from oslo_concurrency import lockutils
from oslo_log import log as logging from oslo_log import log as logging
import six
from neutron.api.rpc.callbacks.consumer import registry from neutron.api.rpc.callbacks.consumer import registry
from neutron.api.rpc.callbacks import events from neutron.api.rpc.callbacks import events
@ -32,8 +31,7 @@ from neutron import manager
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)
@six.add_metaclass(abc.ABCMeta) class QosAgentDriver(object, metaclass=abc.ABCMeta):
class QosAgentDriver(object):
"""Defines stable abstract interface for QoS Agent Driver. """Defines stable abstract interface for QoS Agent Driver.
QoS Agent driver defines the interface to be implemented by Agent QoS Agent driver defines the interface to be implemented by Agent

View File

@ -20,7 +20,6 @@ from neutron_lib import constants as lib_constants
from neutron_lib.exceptions import l3 as l3_exc from neutron_lib.exceptions import l3 as l3_exc
from neutron_lib.utils import helpers from neutron_lib.utils import helpers
from oslo_log import log as logging from oslo_log import log as logging
import six
from neutron._i18n import _ from neutron._i18n import _
from neutron.agent.l3 import namespaces from neutron.agent.l3 import namespaces
@ -42,8 +41,7 @@ ADDRESS_SCOPE_MARK_ID_MAX = 2048
DEFAULT_ADDRESS_SCOPE = "noscope" DEFAULT_ADDRESS_SCOPE = "noscope"
@six.add_metaclass(abc.ABCMeta) class BaseRouterInfo(object, metaclass=abc.ABCMeta):
class BaseRouterInfo(object):
def __init__(self, def __init__(self,
agent, agent,

View File

@ -161,8 +161,7 @@ class NetModel(DictModel):
return self._ns_name return self._ns_name
@six.add_metaclass(abc.ABCMeta) class DhcpBase(object, metaclass=abc.ABCMeta):
class DhcpBase(object):
def __init__(self, conf, network, process_monitor, def __init__(self, conf, network, process_monitor,
version=None, plugin=None): version=None, plugin=None):
@ -216,8 +215,7 @@ class DhcpBase(object):
raise NotImplementedError() raise NotImplementedError()
@six.add_metaclass(abc.ABCMeta) class DhcpLocalProcess(DhcpBase, metaclass=abc.ABCMeta):
class DhcpLocalProcess(DhcpBase):
PORTS = [] PORTS = []
def __init__(self, conf, network, process_monitor, version=None, def __init__(self, conf, network, process_monitor, version=None,

View File

@ -22,7 +22,6 @@ from oslo_config import cfg
from oslo_log import log as logging from oslo_log import log as logging
from oslo_utils import fileutils from oslo_utils import fileutils
import psutil import psutil
import six
from neutron.agent.linux import ip_lib from neutron.agent.linux import ip_lib
from neutron.agent.linux import utils from neutron.agent.linux import utils
@ -37,8 +36,7 @@ agent_cfg.register_external_process_opts()
agent_cfg.register_process_monitor_opts(cfg.CONF) agent_cfg.register_process_monitor_opts(cfg.CONF)
@six.add_metaclass(abc.ABCMeta) class MonitoredProcess(object, metaclass=abc.ABCMeta):
class MonitoredProcess(object):
@abc.abstractproperty @abc.abstractproperty
def active(self): def active(self):
"""Boolean representing the running state of the process.""" """Boolean representing the running state of the process."""

View File

@ -22,7 +22,6 @@ from neutron_lib import exceptions
from oslo_log import log as logging from oslo_log import log as logging
from oslo_utils import excutils from oslo_utils import excutils
from pyroute2.netlink import exceptions as pyroute2_exc from pyroute2.netlink import exceptions as pyroute2_exc
import six
from neutron.agent.common import ovs_lib from neutron.agent.common import ovs_lib
from neutron.agent.linux import ip_lib from neutron.agent.linux import ip_lib
@ -36,8 +35,7 @@ def _get_veth(name1, name2, namespace2):
ip_lib.IPDevice(name2, namespace=namespace2)) ip_lib.IPDevice(name2, namespace=namespace2))
@six.add_metaclass(abc.ABCMeta) class LinuxInterfaceDriver(object, metaclass=abc.ABCMeta):
class LinuxInterfaceDriver(object):
DEV_NAME_LEN = constants.LINUX_DEV_LEN DEV_NAME_LEN = constants.LINUX_DEV_LEN
DEV_NAME_PREFIX = constants.TAP_DEVICE_PREFIX DEV_NAME_PREFIX = constants.TAP_DEVICE_PREFIX

View File

@ -15,15 +15,12 @@
import abc import abc
import six
from neutron.conf.agent import common as agent_conf from neutron.conf.agent import common as agent_conf
agent_conf.register_pddriver_opts() agent_conf.register_pddriver_opts()
@six.add_metaclass(abc.ABCMeta) class PDDriverBase(object, metaclass=abc.ABCMeta):
class PDDriverBase(object):
def __init__(self, router_id, subnet_id, ri_ifname): def __init__(self, router_id, subnet_id, ri_ifname):
self.router_id = router_id self.router_id = router_id

View File

@ -15,7 +15,6 @@ import collections
from neutron_lib.callbacks import exceptions from neutron_lib.callbacks import exceptions
from oslo_log import log as logging from oslo_log import log as logging
import six
from neutron.api.rpc.callbacks import exceptions as rpc_exc from neutron.api.rpc.callbacks import exceptions as rpc_exc
from neutron.api.rpc.callbacks import resources from neutron.api.rpc.callbacks import resources
@ -31,8 +30,7 @@ def _validate_resource_type(resource_type):
raise exceptions.Invalid(element='resource', value=resource_type) raise exceptions.Invalid(element='resource', value=resource_type)
@six.add_metaclass(abc.ABCMeta) class ResourceCallbacksManager(object, metaclass=abc.ABCMeta):
class ResourceCallbacksManager(object):
"""A callback system that allows information providers in a loose manner. """A callback system that allows information providers in a loose manner.
""" """

View File

@ -14,11 +14,8 @@
import abc import abc
import six
class BaseChecks(object, metaclass=abc.ABCMeta):
@six.add_metaclass(abc.ABCMeta)
class BaseChecks(object):
"""Base class providing upgrade checks. """Base class providing upgrade checks.

View File

@ -15,8 +15,6 @@
import abc import abc
import six
NETWORK = 'network' NETWORK = 'network'
PORT = 'port' PORT = 'port'
@ -27,8 +25,7 @@ EVENT_UPDATE = 'update'
CORE_RESOURCES = [NETWORK, PORT] CORE_RESOURCES = [NETWORK, PORT]
@six.add_metaclass(abc.ABCMeta) class CoreResourceExtension(object, metaclass=abc.ABCMeta):
class CoreResourceExtension(object):
@abc.abstractmethod @abc.abstractmethod
def process_fields(self, context, resource_type, event_type, def process_fields(self, context, resource_type, event_type,

View File

@ -17,7 +17,6 @@ import abc
from neutron_lib.api.definitions import address_scope as apidef from neutron_lib.api.definitions import address_scope as apidef
from neutron_lib.api import extensions as api_extensions from neutron_lib.api import extensions as api_extensions
from neutron_lib.plugins import directory from neutron_lib.plugins import directory
import six
from neutron.api import extensions from neutron.api import extensions
from neutron.api.v2 import base from neutron.api.v2 import base
@ -45,8 +44,7 @@ class Address_scope(api_extensions.APIExtensionDescriptor):
return [ex] return [ex]
@six.add_metaclass(abc.ABCMeta) class AddressScopePluginBase(object, metaclass=abc.ABCMeta):
class AddressScopePluginBase(object):
@abc.abstractmethod @abc.abstractmethod
def create_address_scope(self, context, address_scope): def create_address_scope(self, context, address_scope):

View File

@ -19,7 +19,6 @@ from neutron_lib.api.definitions import agent as apidef
from neutron_lib.api import extensions as api_extensions from neutron_lib.api import extensions as api_extensions
from neutron_lib import exceptions from neutron_lib import exceptions
from neutron_lib.plugins import directory from neutron_lib.plugins import directory
import six
from neutron.api import extensions from neutron.api import extensions
from neutron.api.v2 import base from neutron.api.v2 import base
@ -45,8 +44,7 @@ class Agent(api_extensions.APIExtensionDescriptor):
return [ex] return [ex]
@six.add_metaclass(abc.ABCMeta) class AgentPluginBase(object, metaclass=abc.ABCMeta):
class AgentPluginBase(object):
"""REST API to operate the Agent. """REST API to operate the Agent.
All of method must be in an admin context. All of method must be in an admin context.

View File

@ -17,7 +17,6 @@ import abc
from neutron_lib.api.definitions import availability_zone as az_def from neutron_lib.api.definitions import availability_zone as az_def
from neutron_lib.api import extensions as api_extensions from neutron_lib.api import extensions as api_extensions
from neutron_lib.plugins import directory from neutron_lib.plugins import directory
import six
from neutron.api import extensions from neutron.api import extensions
from neutron.api.v2 import base from neutron.api.v2 import base
@ -40,8 +39,7 @@ class Availability_zone(api_extensions.APIExtensionDescriptor):
return [ex] return [ex]
@six.add_metaclass(abc.ABCMeta) class AvailabilityZonePluginBase(object, metaclass=abc.ABCMeta):
class AvailabilityZonePluginBase(object):
"""REST API to operate the Availability Zone.""" """REST API to operate the Availability Zone."""
@abc.abstractmethod @abc.abstractmethod

View File

@ -22,7 +22,6 @@ from neutron_lib.api import extensions as api_extensions
from neutron_lib.api import faults from neutron_lib.api import faults
from neutron_lib.plugins import directory from neutron_lib.plugins import directory
from neutron_lib import rpc as n_rpc from neutron_lib import rpc as n_rpc
import six
from neutron.api import extensions from neutron.api import extensions
from neutron.api.v2 import resource from neutron.api.v2 import resource
@ -100,8 +99,7 @@ class Dhcpagentscheduler(api_extensions.APIExtensionDescriptor):
return exts return exts
@six.add_metaclass(abc.ABCMeta) class DhcpAgentSchedulerPluginBase(object, metaclass=abc.ABCMeta):
class DhcpAgentSchedulerPluginBase(object):
"""REST API to operate the DHCP agent scheduler. """REST API to operate the DHCP agent scheduler.
All of method must be in an admin context. All of method must be in an admin context.

View File

@ -16,7 +16,6 @@ import abc
from neutron_lib.api.definitions import dvr as apidef from neutron_lib.api.definitions import dvr as apidef
from neutron_lib.api import extensions from neutron_lib.api import extensions
import six
class Dvr(extensions.APIExtensionDescriptor): class Dvr(extensions.APIExtensionDescriptor):
@ -25,8 +24,7 @@ class Dvr(extensions.APIExtensionDescriptor):
api_definition = apidef api_definition = apidef
@six.add_metaclass(abc.ABCMeta) class DVRMacAddressPluginBase(object, metaclass=abc.ABCMeta):
class DVRMacAddressPluginBase(object):
@abc.abstractmethod @abc.abstractmethod
def get_dvr_mac_address_list(self, context): def get_dvr_mac_address_list(self, context):

View File

@ -21,7 +21,6 @@ from neutron_lib.api import extensions as api_extensions
from neutron_lib.plugins import constants as plugin_consts from neutron_lib.plugins import constants as plugin_consts
from neutron_lib.plugins import directory from neutron_lib.plugins import directory
from neutron_lib.services import base as service_base from neutron_lib.services import base as service_base
import six
from neutron.api import extensions from neutron.api import extensions
from neutron.api.v2 import base from neutron.api.v2 import base
@ -77,8 +76,8 @@ class Floating_ip_port_forwarding(api_extensions.APIExtensionDescriptor):
return resources return resources
@six.add_metaclass(abc.ABCMeta) class PortForwardingPluginBase(service_base.ServicePluginBase,
class PortForwardingPluginBase(service_base.ServicePluginBase): metaclass=abc.ABCMeta):
path_prefix = apidef.API_PREFIX path_prefix = apidef.API_PREFIX

View File

@ -16,7 +16,6 @@ import itertools
from neutron_lib.api.definitions import floatingip_pools as apidef from neutron_lib.api.definitions import floatingip_pools as apidef
from neutron_lib.api import extensions as api_extensions from neutron_lib.api import extensions as api_extensions
from neutron_lib.plugins import constants from neutron_lib.plugins import constants
import six
from neutron.api.v2 import resource_helper from neutron.api.v2 import resource_helper
@ -42,8 +41,7 @@ class Floatingip_pools(api_extensions.APIExtensionDescriptor):
return resources return resources
@six.add_metaclass(abc.ABCMeta) class FloatingIPPoolPluginBase(object, metaclass=abc.ABCMeta):
class FloatingIPPoolPluginBase(object):
@abc.abstractmethod @abc.abstractmethod
def get_floatingip_pools(self, context, filters=None, fields=None, def get_floatingip_pools(self, context, filters=None, fields=None,

View File

@ -18,7 +18,6 @@ import abc
from neutron_lib.api.definitions import l3 as l3_apidef from neutron_lib.api.definitions import l3 as l3_apidef
from neutron_lib.api import extensions from neutron_lib.api import extensions
from neutron_lib.plugins import constants from neutron_lib.plugins import constants
import six
from neutron.api.v2 import resource_helper from neutron.api.v2 import resource_helper
from neutron.conf import quota from neutron.conf import quota
@ -42,8 +41,7 @@ class L3(extensions.APIExtensionDescriptor):
register_quota=True) register_quota=True)
@six.add_metaclass(abc.ABCMeta) class RouterPluginBase(object, metaclass=abc.ABCMeta):
class RouterPluginBase(object):
@abc.abstractmethod @abc.abstractmethod
def create_router(self, context, router): def create_router(self, context, router):

View File

@ -21,7 +21,6 @@ from neutron_lib.api import extensions as api_extensions
from neutron_lib.plugins import constants as plugin_consts from neutron_lib.plugins import constants as plugin_consts
from neutron_lib.plugins import directory from neutron_lib.plugins import directory
from neutron_lib.services import base as service_base from neutron_lib.services import base as service_base
import six
from neutron.api import extensions from neutron.api import extensions
from neutron.api.v2 import base from neutron.api.v2 import base
@ -81,8 +80,8 @@ class L3_conntrack_helper(api_extensions.APIExtensionDescriptor):
return resources return resources
@six.add_metaclass(abc.ABCMeta) class ConntrackHelperPluginBase(service_base.ServicePluginBase,
class ConntrackHelperPluginBase(service_base.ServicePluginBase): metaclass=abc.ABCMeta):
path_prefix = apidef.API_PREFIX path_prefix = apidef.API_PREFIX

View File

@ -24,7 +24,6 @@ from neutron_lib.plugins import constants as plugin_constants
from neutron_lib.plugins import directory from neutron_lib.plugins import directory
from neutron_lib import rpc as n_rpc from neutron_lib import rpc as n_rpc
from oslo_log import log as logging from oslo_log import log as logging
import six
import webob.exc import webob.exc
from neutron._i18n import _ from neutron._i18n import _
@ -187,8 +186,7 @@ class RouterDoesntSupportScheduling(exceptions.Conflict):
message = _("Router %(router_id)s does not support agent scheduling.") message = _("Router %(router_id)s does not support agent scheduling.")
@six.add_metaclass(abc.ABCMeta) class L3AgentSchedulerPluginBase(object, metaclass=abc.ABCMeta):
class L3AgentSchedulerPluginBase(object):
"""REST API to operate the l3 agent scheduler. """REST API to operate the l3 agent scheduler.
All of method must be in an admin context. All of method must be in an admin context.

View File

@ -20,7 +20,6 @@ from neutron_lib.api.definitions import logging as apidef
from neutron_lib.api import extensions as api_extensions from neutron_lib.api import extensions as api_extensions
from neutron_lib.plugins import constants as plugin_const from neutron_lib.plugins import constants as plugin_const
from neutron_lib.services import base as service_base from neutron_lib.services import base as service_base
import six
from neutron.api.v2 import resource_helper from neutron.api.v2 import resource_helper
@ -50,8 +49,7 @@ class Logging(api_extensions.APIExtensionDescriptor):
return resources return resources
@six.add_metaclass(abc.ABCMeta) class LoggingPluginBase(service_base.ServicePluginBase, metaclass=abc.ABCMeta):
class LoggingPluginBase(service_base.ServicePluginBase):
path_prefix = apidef.API_PREFIX path_prefix = apidef.API_PREFIX

View File

@ -18,7 +18,6 @@ from neutron_lib.api.definitions import metering as metering_apidef
from neutron_lib.api import extensions from neutron_lib.api import extensions
from neutron_lib.plugins import constants from neutron_lib.plugins import constants
from neutron_lib.services import base as service_base from neutron_lib.services import base as service_base
import six
from neutron.api.v2 import resource_helper from neutron.api.v2 import resource_helper
@ -42,8 +41,8 @@ class Metering(extensions.APIExtensionDescriptor):
constants.METERING, translate_name=True, allow_bulk=True) constants.METERING, translate_name=True, allow_bulk=True)
@six.add_metaclass(abc.ABCMeta) class MeteringPluginBase(service_base.ServicePluginBase,
class MeteringPluginBase(service_base.ServicePluginBase): metaclass=abc.ABCMeta):
def get_plugin_description(self): def get_plugin_description(self):
return constants.METERING return constants.METERING

View File

@ -16,7 +16,6 @@ import abc
from neutron_lib.api.definitions import network_availability_zone as apidef from neutron_lib.api.definitions import network_availability_zone as apidef
from neutron_lib.api import extensions from neutron_lib.api import extensions
import six
class Network_availability_zone(extensions.APIExtensionDescriptor): class Network_availability_zone(extensions.APIExtensionDescriptor):
@ -25,8 +24,7 @@ class Network_availability_zone(extensions.APIExtensionDescriptor):
api_definition = apidef api_definition = apidef
@six.add_metaclass(abc.ABCMeta) class NetworkAvailabilityZonePluginBase(object, metaclass=abc.ABCMeta):
class NetworkAvailabilityZonePluginBase(object):
@abc.abstractmethod @abc.abstractmethod
def get_network_availability_zones(self, network): def get_network_availability_zones(self, network):

View File

@ -20,7 +20,6 @@ from neutron_lib.plugins import constants as plugin_constants
from neutron_lib.plugins import directory from neutron_lib.plugins import directory
from neutron_lib.services import base as service_base from neutron_lib.services import base as service_base
from oslo_log import log as logging from oslo_log import log as logging
import six
from neutron.api import extensions from neutron.api import extensions
from neutron.api.v2 import base from neutron.api.v2 import base
@ -63,8 +62,8 @@ class Network_segment_range(api_extensions.APIExtensionDescriptor):
return NetworkSegmentRangePluginBase return NetworkSegmentRangePluginBase
@six.add_metaclass(abc.ABCMeta) class NetworkSegmentRangePluginBase(service_base.ServicePluginBase,
class NetworkSegmentRangePluginBase(service_base.ServicePluginBase): metaclass=abc.ABCMeta):
"""REST API to manage network segment ranges. """REST API to manage network segment ranges.
All methods must be in an admin context. All methods must be in an admin context.

View File

@ -22,7 +22,6 @@ from neutron_lib.api import extensions as api_extensions
from neutron_lib.plugins import constants from neutron_lib.plugins import constants
from neutron_lib.plugins import directory from neutron_lib.plugins import directory
from neutron_lib.services import base as service_base from neutron_lib.services import base as service_base
import six
from neutron.api import extensions from neutron.api import extensions
from neutron.api.v2 import base from neutron.api.v2 import base
@ -80,8 +79,7 @@ class Qos(api_extensions.APIExtensionDescriptor):
return resources return resources
@six.add_metaclass(abc.ABCMeta) class QoSPluginBase(service_base.ServicePluginBase, metaclass=abc.ABCMeta):
class QoSPluginBase(service_base.ServicePluginBase):
path_prefix = apidef.API_PREFIX path_prefix = apidef.API_PREFIX

View File

@ -16,7 +16,6 @@ import abc
from neutron_lib.api.definitions import router_availability_zone as apidef from neutron_lib.api.definitions import router_availability_zone as apidef
from neutron_lib.api import extensions from neutron_lib.api import extensions
import six
class Router_availability_zone(extensions.APIExtensionDescriptor): class Router_availability_zone(extensions.APIExtensionDescriptor):
@ -25,8 +24,7 @@ class Router_availability_zone(extensions.APIExtensionDescriptor):
api_definition = apidef api_definition = apidef
@six.add_metaclass(abc.ABCMeta) class RouterAvailabilityZonePluginBase(object, metaclass=abc.ABCMeta):
class RouterAvailabilityZonePluginBase(object):
@abc.abstractmethod @abc.abstractmethod
def get_router_availability_zones(self, router): def get_router_availability_zones(self, router):

View File

@ -355,8 +355,7 @@ class Securitygroup(api_extensions.ExtensionDescriptor):
return [stdattr_ext.Standardattrdescription.get_alias()] return [stdattr_ext.Standardattrdescription.get_alias()]
@six.add_metaclass(abc.ABCMeta) class SecurityGroupPluginBase(object, metaclass=abc.ABCMeta):
class SecurityGroupPluginBase(object):
@abc.abstractmethod @abc.abstractmethod
def create_security_group(self, context, security_group): def create_security_group(self, context, security_group):

View File

@ -21,7 +21,6 @@ from neutron_lib.api import extensions as api_extensions
from neutron_lib import constants from neutron_lib import constants
from neutron_lib.db import constants as db_const from neutron_lib.db import constants as db_const
from neutron_lib.plugins import directory from neutron_lib.plugins import directory
import six
from neutron.api import extensions from neutron.api import extensions
from neutron.api.v2 import base from neutron.api.v2 import base
@ -149,8 +148,7 @@ class Segment(api_extensions.ExtensionDescriptor):
stdattrseg_apidef.ALIAS] stdattrseg_apidef.ALIAS]
@six.add_metaclass(abc.ABCMeta) class SegmentPluginBase(object, metaclass=abc.ABCMeta):
class SegmentPluginBase(object):
@abc.abstractmethod @abc.abstractmethod
def create_segment(self, context, segment): def create_segment(self, context, segment):

View File

@ -22,7 +22,6 @@ from neutron_lib import exceptions
from neutron_lib.plugins import directory from neutron_lib.plugins import directory
from neutron_lib import rpc as n_rpc from neutron_lib import rpc as n_rpc
from neutron_lib.services import base as service_base from neutron_lib.services import base as service_base
import six
import webob.exc import webob.exc
from neutron._i18n import _ from neutron._i18n import _
@ -226,8 +225,7 @@ class Tagging(api_extensions.ExtensionDescriptor):
return EXTENDED_ATTRIBUTES_2_0 return EXTENDED_ATTRIBUTES_2_0
@six.add_metaclass(abc.ABCMeta) class TagPluginBase(service_base.ServicePluginBase, metaclass=abc.ABCMeta):
class TagPluginBase(service_base.ServicePluginBase):
"""REST API to operate the Tag.""" """REST API to operate the Tag."""
def get_plugin_description(self): def get_plugin_description(self):

View File

@ -13,14 +13,12 @@
import abc import abc
from oslo_config import cfg from oslo_config import cfg
import six
from neutron.ipam import requests as ipam_req from neutron.ipam import requests as ipam_req
from neutron import manager from neutron import manager
@six.add_metaclass(abc.ABCMeta) class Pool(object, metaclass=abc.ABCMeta):
class Pool(object):
"""Interface definition for an IPAM driver. """Interface definition for an IPAM driver.
There should be an instance of the driver for every subnet pool. There should be an instance of the driver for every subnet pool.
@ -128,8 +126,7 @@ class Pool(object):
return True return True
@six.add_metaclass(abc.ABCMeta) class Subnet(object, metaclass=abc.ABCMeta):
class Subnet(object):
"""Interface definition for an IPAM subnet """Interface definition for an IPAM subnet
A subnet would typically be associated with a network but may not be. It A subnet would typically be associated with a network but may not be. It
@ -167,8 +164,7 @@ class Subnet(object):
""" """
@six.add_metaclass(abc.ABCMeta) class SubnetGroup(object, metaclass=abc.ABCMeta):
class SubnetGroup(object):
"""Interface definition for a filtered group of IPAM Subnets """Interface definition for a filtered group of IPAM Subnets
Allocates from a group of semantically equivalent subnets. The list of Allocates from a group of semantically equivalent subnets. The list of

View File

@ -17,20 +17,17 @@ from neutron_lib.api import validators
from neutron_lib import constants from neutron_lib import constants
from oslo_utils import netutils from oslo_utils import netutils
from oslo_utils import uuidutils from oslo_utils import uuidutils
import six
from neutron._i18n import _ from neutron._i18n import _
from neutron.common import utils as common_utils from neutron.common import utils as common_utils
from neutron.ipam import exceptions as ipam_exc from neutron.ipam import exceptions as ipam_exc
@six.add_metaclass(abc.ABCMeta) class SubnetPool(object, metaclass=abc.ABCMeta):
class SubnetPool(object):
"""Represents a pool of IPs available inside an address scope.""" """Represents a pool of IPs available inside an address scope."""
@six.add_metaclass(abc.ABCMeta) class SubnetRequest(object, metaclass=abc.ABCMeta):
class SubnetRequest(object):
"""Carries the data needed to make a subnet request """Carries the data needed to make a subnet request
The data validated and carried by an instance of this class is the data The data validated and carried by an instance of this class is the data
@ -184,8 +181,7 @@ class SpecificSubnetRequest(SubnetRequest):
return self._subnet_cidr.prefixlen return self._subnet_cidr.prefixlen
@six.add_metaclass(abc.ABCMeta) class AddressRequest(object, metaclass=abc.ABCMeta):
class AddressRequest(object):
"""Abstract base class for address requests""" """Abstract base class for address requests"""

View File

@ -24,7 +24,6 @@ import oslo_messaging
from oslo_service import periodic_task from oslo_service import periodic_task
from oslo_utils import excutils from oslo_utils import excutils
from osprofiler import profiler from osprofiler import profiler
import six
from neutron._i18n import _ from neutron._i18n import _
from neutron.common import utils from neutron.common import utils
@ -40,8 +39,7 @@ class ManagerMeta(profiler.TracedMeta, type(periodic_task.PeriodicTasks)):
pass pass
@six.add_metaclass(ManagerMeta) class Manager(periodic_task.PeriodicTasks, metaclass=ManagerMeta):
class Manager(periodic_task.PeriodicTasks):
__trace_args__ = {"name": "rpc"} __trace_args__ = {"name": "rpc"}
# Set RPC API version to 1.0 by default. # Set RPC API version to 1.0 by default.
@ -91,8 +89,7 @@ def validate_pre_plugin_load():
return msg return msg
@six.add_metaclass(profiler.TracedMeta) class NeutronManager(object, metaclass=profiler.TracedMeta):
class NeutronManager(object):
"""Neutron's Manager class. """Neutron's Manager class.
Neutron's Manager class is responsible for parsing a config file and Neutron's Manager class is responsible for parsing a config file and

View File

@ -23,11 +23,9 @@ methods that needs to be implemented by a v2 Neutron Plug-in.
import abc import abc
from neutron_lib.services import base as base_services from neutron_lib.services import base as base_services
import six
@six.add_metaclass(abc.ABCMeta) class NeutronPluginBaseV2(base_services.WorkerBase, metaclass=abc.ABCMeta):
class NeutronPluginBaseV2(base_services.WorkerBase):
@abc.abstractmethod @abc.abstractmethod
def create_subnet(self, context, subnet): def create_subnet(self, context, subnet):

View File

@ -142,10 +142,10 @@ class NeutronObjectRegistry(obj_base.VersionedObjectRegistry):
return self return self
@six.add_metaclass(abc.ABCMeta)
class NeutronObject(obj_base.VersionedObject, class NeutronObject(obj_base.VersionedObject,
obj_base.VersionedObjectDictCompat, obj_base.VersionedObjectDictCompat,
obj_base.ComparableVersionedObject): obj_base.ComparableVersionedObject,
metaclass=abc.ABCMeta):
synthetic_fields = [] synthetic_fields = []
extra_filter_names = set() extra_filter_names = set()
@ -398,8 +398,7 @@ class DeclarativeObject(abc.ABCMeta):
raise o_exc.NeutronObjectValidatorException(fields=invalid_fields) raise o_exc.NeutronObjectValidatorException(fields=invalid_fields)
@six.add_metaclass(DeclarativeObject) class NeutronDbObject(NeutronObject, metaclass=DeclarativeObject):
class NeutronDbObject(NeutronObject):
# should be overridden for all persistent objects # should be overridden for all persistent objects
db_model = None db_model = None

View File

@ -23,7 +23,6 @@ from neutron_lib.utils import helpers
from oslo_utils import versionutils from oslo_utils import versionutils
from oslo_versionedobjects import exception from oslo_versionedobjects import exception
from oslo_versionedobjects import fields as obj_fields from oslo_versionedobjects import fields as obj_fields
import six
from neutron.db.qos import models as qos_db_model from neutron.db.qos import models as qos_db_model
from neutron.objects import base from neutron.objects import base
@ -43,8 +42,7 @@ def get_rules(obj_cls, context, qos_policy_id):
return all_rules return all_rules
@six.add_metaclass(abc.ABCMeta) class QosRule(base.NeutronDbObject, metaclass=abc.ABCMeta):
class QosRule(base.NeutronDbObject):
# Version 1.0: Initial version, only BandwidthLimitRule # Version 1.0: Initial version, only BandwidthLimitRule
# 1.1: Added DscpMarkingRule # 1.1: Added DscpMarkingRule
# 1.2: Added QosMinimumBandwidthRule # 1.2: Added QosMinimumBandwidthRule

View File

@ -17,14 +17,12 @@ import abc
from neutron_lib.objects import common_types from neutron_lib.objects import common_types
from oslo_versionedobjects import fields as obj_fields from oslo_versionedobjects import fields as obj_fields
from six import add_metaclass
from sqlalchemy import and_ from sqlalchemy import and_
from neutron.objects import base from neutron.objects import base
@add_metaclass(abc.ABCMeta) class RBACBaseObject(base.NeutronDbObject, metaclass=abc.ABCMeta):
class RBACBaseObject(base.NeutronDbObject):
# Version 1.0: Initial version # Version 1.0: Initial version
VERSION = '1.0' VERSION = '1.0'

View File

@ -19,7 +19,6 @@ from neutron_lib.callbacks import events
from neutron_lib.callbacks import registry from neutron_lib.callbacks import registry
from neutron_lib.callbacks import resources from neutron_lib.callbacks import resources
from neutron_lib import exceptions from neutron_lib import exceptions
from six import add_metaclass
from six import with_metaclass from six import with_metaclass
from sqlalchemy import and_ from sqlalchemy import and_
@ -32,9 +31,9 @@ from neutron.objects import base
from neutron.objects.db import api as obj_db_api from neutron.objects.db import api as obj_db_api
@add_metaclass(abc.ABCMeta)
class RbacNeutronDbObjectMixin(rbac_db_mixin.RbacPluginMixin, class RbacNeutronDbObjectMixin(rbac_db_mixin.RbacPluginMixin,
base.NeutronDbObject): base.NeutronDbObject,
metaclass=abc.ABCMeta):
rbac_db_cls = None rbac_db_cls = None

View File

@ -16,8 +16,6 @@
import abc import abc
import six
class NetworkSegment(object): class NetworkSegment(object):
"""Represents a Neutron network segment""" """Represents a Neutron network segment"""
@ -29,8 +27,7 @@ class NetworkSegment(object):
self.mtu = mtu self.mtu = mtu
@six.add_metaclass(abc.ABCMeta) class CommonAgentManagerRpcCallBackBase(object, metaclass=abc.ABCMeta):
class CommonAgentManagerRpcCallBackBase(object):
"""Base class for managers RPC callbacks. """Base class for managers RPC callbacks.
This class must be inherited by a RPC callback class that is used This class must be inherited by a RPC callback class that is used
@ -81,8 +78,7 @@ class CommonAgentManagerRpcCallBackBase(object):
return updated_devices return updated_devices
@six.add_metaclass(abc.ABCMeta) class CommonAgentManagerBase(object, metaclass=abc.ABCMeta):
class CommonAgentManagerBase(object):
"""Base class for managers that are used with the common agent loop. """Base class for managers that are used with the common agent loop.
This class must be inherited by a manager class that is used This class must be inherited by a manager class that is used

View File

@ -19,14 +19,12 @@ import itertools
from neutron_lib import constants as n_const from neutron_lib import constants as n_const
from oslo_config import cfg from oslo_config import cfg
from oslo_log import helpers as log_helpers from oslo_log import helpers as log_helpers
import six
from neutron.plugins.ml2.drivers.l2pop import rpc as l2pop_rpc from neutron.plugins.ml2.drivers.l2pop import rpc as l2pop_rpc
from neutron.plugins.ml2.drivers.openvswitch.agent import vlanmanager from neutron.plugins.ml2.drivers.openvswitch.agent import vlanmanager
@six.add_metaclass(abc.ABCMeta) class L2populationRpcCallBackMixin(object, metaclass=abc.ABCMeta):
class L2populationRpcCallBackMixin(object):
'''General mixin class of L2-population RPC call back. '''General mixin class of L2-population RPC call back.
The following methods are called through RPC. The following methods are called through RPC.
@ -105,8 +103,8 @@ class L2populationRpcCallBackMixin(object):
pass pass
@six.add_metaclass(abc.ABCMeta) class L2populationRpcCallBackTunnelMixin(L2populationRpcCallBackMixin,
class L2populationRpcCallBackTunnelMixin(L2populationRpcCallBackMixin): metaclass=abc.ABCMeta):
'''Mixin class of L2-population call back for Tunnel. '''Mixin class of L2-population call back for Tunnel.
The following methods are all used in agents as internal methods. The following methods are all used in agents as internal methods.

View File

@ -22,7 +22,6 @@ from neutron_lib import constants as const
from neutron_lib.placement import utils as place_utils from neutron_lib.placement import utils as place_utils
from neutron_lib.plugins.ml2 import api from neutron_lib.plugins.ml2 import api
from oslo_log import log from oslo_log import log
import six
from neutron._i18n import _ from neutron._i18n import _
from neutron.db import provisioning_blocks from neutron.db import provisioning_blocks
@ -30,8 +29,7 @@ from neutron.db import provisioning_blocks
LOG = log.getLogger(__name__) LOG = log.getLogger(__name__)
@six.add_metaclass(abc.ABCMeta) class AgentMechanismDriverBase(api.MechanismDriver, metaclass=abc.ABCMeta):
class AgentMechanismDriverBase(api.MechanismDriver):
"""Base class for drivers that attach to networks using an L2 agent. """Base class for drivers that attach to networks using an L2 agent.
The AgentMechanismDriverBase provides common code for mechanism The AgentMechanismDriverBase provides common code for mechanism
@ -236,8 +234,8 @@ class AgentMechanismDriverBase(api.MechanismDriver):
return False return False
@six.add_metaclass(abc.ABCMeta) class SimpleAgentMechanismDriverBase(AgentMechanismDriverBase,
class SimpleAgentMechanismDriverBase(AgentMechanismDriverBase): metaclass=abc.ABCMeta):
"""Base class for simple drivers using an L2 agent. """Base class for simple drivers using an L2 agent.
The SimpleAgentMechanismDriverBase provides common code for The SimpleAgentMechanismDriverBase provides common code for

View File

@ -15,13 +15,11 @@
import abc import abc
from ovsdbapp import api from ovsdbapp import api
import six
from neutron.common.ovn import constants as ovn_const from neutron.common.ovn import constants as ovn_const
@six.add_metaclass(abc.ABCMeta) class API(api.API, metaclass=abc.ABCMeta):
class API(api.API):
@abc.abstractmethod @abc.abstractmethod
def create_lswitch_port(self, lport_name, lswitch_name, may_exist=True, def create_lswitch_port(self, lport_name, lswitch_name, may_exist=True,
@ -627,8 +625,7 @@ class API(api.API):
""" """
@six.add_metaclass(abc.ABCMeta) class SbAPI(api.API, metaclass=abc.ABCMeta):
class SbAPI(api.API):
@abc.abstractmethod @abc.abstractmethod
def chassis_exists(self, hostname): def chassis_exists(self, hostname):

View File

@ -24,7 +24,6 @@ from neutron_lib.plugins import constants as plugin_constants
from neutron_lib.plugins import directory from neutron_lib.plugins import directory
from neutron_lib.utils import helpers from neutron_lib.utils import helpers
from oslo_log import log from oslo_log import log
import six
from neutron.common.ovn import acl as acl_utils from neutron.common.ovn import acl as acl_utils
from neutron.common.ovn import constants as ovn_const from neutron.common.ovn import constants as ovn_const
@ -41,8 +40,7 @@ SYNC_MODE_LOG = 'log'
SYNC_MODE_REPAIR = 'repair' SYNC_MODE_REPAIR = 'repair'
@six.add_metaclass(abc.ABCMeta) class OvnDbSynchronizer(object, metaclass=abc.ABCMeta):
class OvnDbSynchronizer(object):
def __init__(self, core_plugin, ovn_api, ovn_driver): def __init__(self, core_plugin, ovn_api, ovn_driver):
self.ovn_driver = ovn_driver self.ovn_driver = ovn_driver

View File

@ -30,7 +30,6 @@ from oslo_config import cfg
from oslo_db import exception as db_exc from oslo_db import exception as db_exc
from oslo_log import log from oslo_log import log
from oslo_utils import uuidutils from oslo_utils import uuidutils
import six
from six import moves from six import moves
from sqlalchemy import or_ from sqlalchemy import or_
@ -54,8 +53,7 @@ def chunks(iterable, chunk_size):
chunk = list(itertools.islice(iterator, 0, chunk_size)) chunk = list(itertools.islice(iterator, 0, chunk_size))
@six.add_metaclass(abc.ABCMeta) class _TunnelTypeDriverBase(helpers.SegmentTypeDriver, metaclass=abc.ABCMeta):
class _TunnelTypeDriverBase(helpers.SegmentTypeDriver):
BULK_SIZE = 100 BULK_SIZE = 100
@ -281,8 +279,7 @@ class _TunnelTypeDriverBase(helpers.SegmentTypeDriver):
return ranges return ranges
@six.add_metaclass(abc.ABCMeta) class TunnelTypeDriver(_TunnelTypeDriverBase, metaclass=abc.ABCMeta):
class TunnelTypeDriver(_TunnelTypeDriverBase):
"""Define stable abstract interface for ML2 type drivers. """Define stable abstract interface for ML2 type drivers.
tunnel type networks rely on tunnel endpoints. This class defines abstract tunnel type networks rely on tunnel endpoints. This class defines abstract
@ -354,8 +351,7 @@ class TunnelTypeDriver(_TunnelTypeDriverBase):
first()) first())
@six.add_metaclass(abc.ABCMeta) class ML2TunnelTypeDriver(_TunnelTypeDriverBase, metaclass=abc.ABCMeta):
class ML2TunnelTypeDriver(_TunnelTypeDriverBase):
"""Define stable abstract interface for ML2 type drivers. """Define stable abstract interface for ML2 type drivers.
tunnel type networks rely on tunnel endpoints. This class defines abstract tunnel type networks rely on tunnel endpoints. This class defines abstract

View File

@ -16,11 +16,9 @@
import abc import abc
from neutron_lib.db import api as db_api from neutron_lib.db import api as db_api
import six
@six.add_metaclass(abc.ABCMeta) class BaseResourceFilter(object, metaclass=abc.ABCMeta):
class BaseResourceFilter(object):
"""Encapsulate logic that is specific to the resource type.""" """Encapsulate logic that is specific to the resource type."""
@abc.abstractmethod @abc.abstractmethod
def filter_agents(self, plugin, context, resource): def filter_agents(self, plugin, context, resource):

View File

@ -18,13 +18,11 @@ from operator import attrgetter
import random import random
from oslo_log import log as logging from oslo_log import log as logging
import six
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)
@six.add_metaclass(abc.ABCMeta) class BaseScheduler(object, metaclass=abc.ABCMeta):
class BaseScheduler(object):
"""The base scheduler (agnostic to resource type). """The base scheduler (agnostic to resource type).
Child classes of BaseScheduler must define the Child classes of BaseScheduler must define the
self.resource_filter to filter agents of self.resource_filter to filter agents of

View File

@ -26,7 +26,6 @@ from neutron_lib.exceptions import l3 as l3_exc
from oslo_config import cfg from oslo_config import cfg
from oslo_db import exception as db_exc from oslo_db import exception as db_exc
from oslo_log import log as logging from oslo_log import log as logging
import six
from neutron.common import utils from neutron.common import utils
from neutron.conf.db import l3_hamode_db from neutron.conf.db import l3_hamode_db
@ -38,8 +37,7 @@ LOG = logging.getLogger(__name__)
cfg.CONF.register_opts(l3_hamode_db.L3_HA_OPTS) cfg.CONF.register_opts(l3_hamode_db.L3_HA_OPTS)
@six.add_metaclass(abc.ABCMeta) class L3Scheduler(object, metaclass=abc.ABCMeta):
class L3Scheduler(object):
def __init__(self): def __init__(self):
self.max_ha_agents = cfg.CONF.max_l3_agents_per_router self.max_ha_agents = cfg.CONF.max_l3_agents_per_router

View File

@ -17,7 +17,6 @@ import copy
import random import random
from oslo_log import log from oslo_log import log
import six
from neutron.common.ovn import constants as ovn_const from neutron.common.ovn import constants as ovn_const
from neutron.common.ovn import utils from neutron.common.ovn import utils
@ -30,8 +29,7 @@ OVN_SCHEDULER_CHANCE = 'chance'
OVN_SCHEDULER_LEAST_LOADED = 'leastloaded' OVN_SCHEDULER_LEAST_LOADED = 'leastloaded'
@six.add_metaclass(abc.ABCMeta) class OVNGatewayScheduler(object, metaclass=abc.ABCMeta):
class OVNGatewayScheduler(object):
def __init__(self): def __init__(self):
pass pass

View File

@ -17,15 +17,13 @@ import abc
from oslo_config import cfg from oslo_config import cfg
from oslo_log import log from oslo_log import log
import six
from neutron import manager from neutron import manager
LOG = log.getLogger(__name__) LOG = log.getLogger(__name__)
@six.add_metaclass(abc.ABCMeta) class ExternalDNSService(object, metaclass=abc.ABCMeta):
class ExternalDNSService(object):
"""Interface definition for an external dns service driver.""" """Interface definition for an external dns service driver."""
def __init__(self): def __init__(self):

View File

@ -19,7 +19,6 @@ import contextlib
from neutron_lib.agent import extension from neutron_lib.agent import extension
from neutron_lib import constants from neutron_lib import constants
from oslo_concurrency import lockutils from oslo_concurrency import lockutils
import six
from neutron.api.rpc.callbacks.consumer import registry from neutron.api.rpc.callbacks.consumer import registry
from neutron.api.rpc.callbacks import events from neutron.api.rpc.callbacks import events
@ -34,8 +33,7 @@ log_cfg.register_log_driver_opts()
LOGGING_DRIVERS_NAMESPACE = 'neutron.services.logapi.drivers' LOGGING_DRIVERS_NAMESPACE = 'neutron.services.logapi.drivers'
@six.add_metaclass(abc.ABCMeta) class LoggingDriver(object, metaclass=abc.ABCMeta):
class LoggingDriver(object):
"""Defines abstract interface for logging driver""" """Defines abstract interface for logging driver"""
# specific logging types are supported # specific logging types are supported

View File

@ -14,11 +14,8 @@
import abc import abc
import six
class MeteringAbstractDriver(object, metaclass=abc.ABCMeta):
@six.add_metaclass(abc.ABCMeta)
class MeteringAbstractDriver(object):
"""Abstract Metering driver.""" """Abstract Metering driver."""
def __init__(self, plugin, conf): def __init__(self, plugin, conf):

View File

@ -215,8 +215,7 @@ class _CatchTimeoutMetaclass(abc.ABCMeta):
# kills the whole worker, with all test cases scheduled to it. This metaclass # kills the whole worker, with all test cases scheduled to it. This metaclass
# makes all test cases convert Timeout exceptions into unittest friendly # makes all test cases convert Timeout exceptions into unittest friendly
# failure mode (self.fail). # failure mode (self.fail).
@six.add_metaclass(_CatchTimeoutMetaclass) class DietTestCase(base.BaseTestCase, metaclass=_CatchTimeoutMetaclass):
class DietTestCase(base.BaseTestCase):
"""Same great taste, less filling. """Same great taste, less filling.
BaseTestCase is responsible for doing lots of plugin-centric setup BaseTestCase is responsible for doing lots of plugin-centric setup

View File

@ -32,7 +32,6 @@ from neutron_lib import exceptions as n_exc
from oslo_config import cfg from oslo_config import cfg
from oslo_log import log as logging from oslo_log import log as logging
from oslo_utils import uuidutils from oslo_utils import uuidutils
import six
from neutron.agent.common import ovs_lib from neutron.agent.common import ovs_lib
from neutron.agent.linux import bridge_lib from neutron.agent.linux import bridge_lib
@ -717,8 +716,7 @@ class MacvtapFixture(fixtures.Fixture):
pass pass
@six.add_metaclass(abc.ABCMeta) class PortFixture(fixtures.Fixture, metaclass=abc.ABCMeta):
class PortFixture(fixtures.Fixture):
"""Create a port. """Create a port.
:ivar port: created port :ivar port: created port

View File

@ -18,7 +18,6 @@ import abc
from neutron_lib.api import extensions as api_extensions from neutron_lib.api import extensions as api_extensions
from neutron_lib.services import base from neutron_lib.services import base
from oslo_serialization import jsonutils from oslo_serialization import jsonutils
import six
from neutron.api import extensions from neutron.api import extensions
from neutron import wsgi from neutron import wsgi
@ -30,8 +29,7 @@ class FoxInSocksController(wsgi.Controller):
return "Try to say this Mr. Knox, sir..." return "Try to say this Mr. Knox, sir..."
@six.add_metaclass(abc.ABCMeta) class FoxInSocksPluginInterface(base.ServicePluginBase, metaclass=abc.ABCMeta):
class FoxInSocksPluginInterface(base.ServicePluginBase):
@abc.abstractmethod @abc.abstractmethod
def method_to_support_foxnsox_extension(self): def method_to_support_foxnsox_extension(self):