use db utils from lib
The APIs our consumers are using from neutron.db_utils were rehomed into neutron-lib with https://review.openstack.org/#/c/540161/ This patch consumes them by removing the rehomed APIs and using lib's implementation where applicable. NeutronLibImpact Change-Id: I7ee53bce917feae8e37bf278eb3121a5af47131c
This commit is contained in:
parent
0dada3b26d
commit
6a89dd2feb
|
@ -24,7 +24,6 @@ from oslo_db.sqlalchemy import utils as sa_utils
|
||||||
from sqlalchemy import sql, or_, and_
|
from sqlalchemy import sql, or_, and_
|
||||||
from sqlalchemy.ext import associationproxy
|
from sqlalchemy.ext import associationproxy
|
||||||
|
|
||||||
from neutron.db import _utils as ndb_utils
|
|
||||||
|
|
||||||
# Classes implementing extensions will register hooks into this dictionary
|
# Classes implementing extensions will register hooks into this dictionary
|
||||||
# for "augmenting" the "core way" of building a query for retrieving objects
|
# for "augmenting" the "core way" of building a query for retrieving objects
|
||||||
|
@ -137,7 +136,7 @@ def query_with_hooks(context, model):
|
||||||
query = context.session.query(model)
|
query = context.session.query(model)
|
||||||
# define basic filter condition for model query
|
# define basic filter condition for model query
|
||||||
query_filter = None
|
query_filter = None
|
||||||
if ndb_utils.model_query_scope_is_project(context, model):
|
if db_utils.model_query_scope_is_project(context, model):
|
||||||
if hasattr(model, 'rbac_entries'):
|
if hasattr(model, 'rbac_entries'):
|
||||||
query = query.outerjoin(model.rbac_entries)
|
query = query.outerjoin(model.rbac_entries)
|
||||||
rbac_model = model.rbac_entries.property.mapper.class_
|
rbac_model = model.rbac_entries.property.mapper.class_
|
||||||
|
@ -237,8 +236,8 @@ def apply_filters(query, model, filters, context=None):
|
||||||
query.session.query(rbac.object_id).filter(is_shared)
|
query.session.query(rbac.object_id).filter(is_shared)
|
||||||
)
|
)
|
||||||
elif (not context or
|
elif (not context or
|
||||||
not ndb_utils.model_query_scope_is_project(context,
|
not db_utils.model_query_scope_is_project(
|
||||||
model)):
|
context, model)):
|
||||||
# we only want to join if we aren't using the subquery
|
# we only want to join if we aren't using the subquery
|
||||||
# and if we aren't already joined because this is a
|
# and if we aren't already joined because this is a
|
||||||
# scoped query
|
# scoped query
|
||||||
|
|
|
@ -17,10 +17,9 @@ NOTE: This module shall not be used by external projects. It will be moved
|
||||||
|
|
||||||
import contextlib
|
import contextlib
|
||||||
|
|
||||||
from neutron_lib.api import attributes
|
from neutron_lib.db import utils as db_utils
|
||||||
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 sqlalchemy.ext import associationproxy
|
|
||||||
|
|
||||||
|
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
|
@ -72,68 +71,13 @@ def safe_creation(context, create_fn, delete_fn, create_bindings,
|
||||||
return obj, value
|
return obj, value
|
||||||
|
|
||||||
|
|
||||||
def model_query_scope_is_project(context, model):
|
|
||||||
# Unless a context has 'admin' or 'advanced-service' rights the
|
|
||||||
# query will be scoped to a single project_id
|
|
||||||
return ((not context.is_admin and hasattr(model, 'project_id')) and
|
|
||||||
(not context.is_advsvc and hasattr(model, 'project_id')))
|
|
||||||
|
|
||||||
|
|
||||||
def model_query(context, model):
|
def model_query(context, model):
|
||||||
query = context.session.query(model)
|
query = context.session.query(model)
|
||||||
# define basic filter condition for model query
|
# define basic filter condition for model query
|
||||||
query_filter = None
|
query_filter = None
|
||||||
if model_query_scope_is_project(context, model):
|
if db_utils.model_query_scope_is_project(context, model):
|
||||||
query_filter = (model.tenant_id == context.tenant_id)
|
query_filter = (model.tenant_id == context.tenant_id)
|
||||||
|
|
||||||
if query_filter is not None:
|
if query_filter is not None:
|
||||||
query = query.filter(query_filter)
|
query = query.filter(query_filter)
|
||||||
return query
|
return query
|
||||||
|
|
||||||
|
|
||||||
# NOTE: This used to be CommonDbMixin._fields()
|
|
||||||
def resource_fields(resource, fields):
|
|
||||||
"""Return only the resource items that are in fields.
|
|
||||||
|
|
||||||
:param resource: a resource dictionary
|
|
||||||
:type resource: dict
|
|
||||||
:param fields: a list of fields to select from the resource
|
|
||||||
:type fields: list
|
|
||||||
|
|
||||||
"""
|
|
||||||
if fields:
|
|
||||||
resource = {key: item for key, item in resource.items()
|
|
||||||
if key in fields}
|
|
||||||
return attributes.populate_project_info(resource)
|
|
||||||
|
|
||||||
|
|
||||||
# NOTE: This used to be CommonDbMixin._filter_non_model_columns
|
|
||||||
def filter_non_model_columns(data, model):
|
|
||||||
"""Return the attributes from data which are model columns.
|
|
||||||
|
|
||||||
Return a new dict with items from data that whose keys are columns in
|
|
||||||
the model or are association proxies of the model.
|
|
||||||
"""
|
|
||||||
columns = [c.name for c in model.__table__.columns]
|
|
||||||
return dict((k, v) for (k, v) in
|
|
||||||
data.items() if k in columns or
|
|
||||||
isinstance(getattr(model, k, None),
|
|
||||||
associationproxy.AssociationProxy))
|
|
||||||
|
|
||||||
|
|
||||||
# NOTE: This used to be CommonDbMixin._get_marker_obj
|
|
||||||
def get_marker_obj(plugin, context, resource, limit, marker):
|
|
||||||
"""Retrieve a resource marker object.
|
|
||||||
|
|
||||||
This function is used to invoke:
|
|
||||||
plugin._get_<resource>(context, marker)
|
|
||||||
It is used for pagination.
|
|
||||||
|
|
||||||
:param plugin: The plugin processing the request.
|
|
||||||
:param context: The request context.
|
|
||||||
:param resource: The resource name.
|
|
||||||
:param limit: Indicates if pagination is in effect.
|
|
||||||
:param marker: The id of the marker object.
|
|
||||||
"""
|
|
||||||
if limit and marker:
|
|
||||||
return getattr(plugin, '_get_%s' % resource)(context, marker)
|
|
||||||
|
|
|
@ -15,12 +15,12 @@
|
||||||
from neutron_lib.api.definitions import address_scope as apidef
|
from neutron_lib.api.definitions import address_scope as apidef
|
||||||
from neutron_lib.api.definitions import network as net_def
|
from neutron_lib.api.definitions import network as net_def
|
||||||
from neutron_lib import constants
|
from neutron_lib import constants
|
||||||
|
from neutron_lib.db import utils as db_utils
|
||||||
from neutron_lib.exceptions import address_scope as api_err
|
from neutron_lib.exceptions import address_scope as api_err
|
||||||
from oslo_utils import uuidutils
|
from oslo_utils import uuidutils
|
||||||
|
|
||||||
from neutron._i18n import _
|
from neutron._i18n import _
|
||||||
from neutron.db import _resource_extend as resource_extend
|
from neutron.db import _resource_extend as resource_extend
|
||||||
from neutron.db import _utils as db_utils
|
|
||||||
from neutron.db import api as db_api
|
from neutron.db import api as db_api
|
||||||
from neutron.extensions import address_scope as ext_address_scope
|
from neutron.extensions import address_scope as ext_address_scope
|
||||||
from neutron.objects import address_scope as obj_addr_scope
|
from neutron.objects import address_scope as obj_addr_scope
|
||||||
|
|
|
@ -24,6 +24,7 @@ from neutron_lib.callbacks import registry
|
||||||
from neutron_lib.callbacks import resources
|
from neutron_lib.callbacks import resources
|
||||||
from neutron_lib import constants
|
from neutron_lib import constants
|
||||||
from neutron_lib import context
|
from neutron_lib import context
|
||||||
|
from neutron_lib.db import utils as db_utils
|
||||||
from neutron_lib.exceptions import agent as agent_exc
|
from neutron_lib.exceptions import agent as agent_exc
|
||||||
from neutron_lib.exceptions import availability_zone as az_exc
|
from neutron_lib.exceptions import availability_zone as az_exc
|
||||||
from neutron_lib.plugins import directory
|
from neutron_lib.plugins import directory
|
||||||
|
@ -39,7 +40,6 @@ from neutron.api.rpc.callbacks import version_manager
|
||||||
from neutron.common import constants as n_const
|
from neutron.common import constants as n_const
|
||||||
from neutron.conf.agent.database import agents_db
|
from neutron.conf.agent.database import agents_db
|
||||||
from neutron.db import _model_query as model_query
|
from neutron.db import _model_query as model_query
|
||||||
from neutron.db import _utils as db_utils
|
|
||||||
from neutron.db import api as db_api
|
from neutron.db import api as db_api
|
||||||
from neutron.db.models import agent as agent_model
|
from neutron.db.models import agent as agent_model
|
||||||
from neutron.extensions import agent as ext_agent
|
from neutron.extensions import agent as ext_agent
|
||||||
|
|
|
@ -16,12 +16,12 @@
|
||||||
from neutron_lib.api.definitions import allowedaddresspairs as addr_apidef
|
from neutron_lib.api.definitions import allowedaddresspairs as addr_apidef
|
||||||
from neutron_lib.api.definitions import port as port_def
|
from neutron_lib.api.definitions import port as port_def
|
||||||
from neutron_lib.api import validators
|
from neutron_lib.api import validators
|
||||||
|
from neutron_lib.db import utils as db_utils
|
||||||
from neutron_lib.exceptions import allowedaddresspairs as addr_exc
|
from neutron_lib.exceptions import allowedaddresspairs as addr_exc
|
||||||
from neutron_lib.objects import exceptions
|
from neutron_lib.objects import exceptions
|
||||||
|
|
||||||
from neutron.common import utils
|
from neutron.common import utils
|
||||||
from neutron.db import _resource_extend as resource_extend
|
from neutron.db import _resource_extend as resource_extend
|
||||||
from neutron.db import _utils as db_utils
|
|
||||||
from neutron.db import api as db_api
|
from neutron.db import api as db_api
|
||||||
from neutron.objects.port.extensions import (allowedaddresspairs
|
from neutron.objects.port.extensions import (allowedaddresspairs
|
||||||
as obj_addr_pair)
|
as obj_addr_pair)
|
||||||
|
|
|
@ -13,9 +13,10 @@
|
||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
|
from neutron_lib.db import utils as db_utils
|
||||||
|
|
||||||
from neutron.db import _model_query
|
from neutron.db import _model_query
|
||||||
from neutron.db import _resource_extend
|
from neutron.db import _resource_extend
|
||||||
from neutron.db import _utils as ndb_utils
|
|
||||||
|
|
||||||
|
|
||||||
# TODO(HenryG): Deprecate and schedule for removal
|
# TODO(HenryG): Deprecate and schedule for removal
|
||||||
|
@ -39,7 +40,7 @@ class CommonDbMixin(object):
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _fields(resource, fields):
|
def _fields(resource, fields):
|
||||||
return ndb_utils.resource_fields(resource, fields)
|
return db_utils.resource_fields(resource, fields)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _get_by_id(context, model, id):
|
def _get_by_id(context, model, id):
|
||||||
|
@ -79,8 +80,8 @@ class CommonDbMixin(object):
|
||||||
|
|
||||||
# TODO(HenryG): Remove this when available in neutron-lib
|
# TODO(HenryG): Remove this when available in neutron-lib
|
||||||
def _get_marker_obj(self, context, resource, limit, marker):
|
def _get_marker_obj(self, context, resource, limit, marker):
|
||||||
return ndb_utils.get_marker_obj(self, context, resource, limit, marker)
|
return db_utils.get_marker_obj(self, context, resource, limit, marker)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _filter_non_model_columns(data, model):
|
def _filter_non_model_columns(data, model):
|
||||||
return ndb_utils.filter_non_model_columns(data, model)
|
return db_utils.filter_non_model_columns(data, model)
|
||||||
|
|
|
@ -21,6 +21,7 @@ from neutron_lib.api.definitions import subnet as subnet_def
|
||||||
from neutron_lib.api.definitions import subnetpool as subnetpool_def
|
from neutron_lib.api.definitions import subnetpool as subnetpool_def
|
||||||
from neutron_lib.api import validators
|
from neutron_lib.api import validators
|
||||||
from neutron_lib import constants
|
from neutron_lib import constants
|
||||||
|
from neutron_lib.db import utils as db_utils
|
||||||
from neutron_lib import exceptions as n_exc
|
from neutron_lib import exceptions as n_exc
|
||||||
from neutron_lib.utils import net
|
from neutron_lib.utils import net
|
||||||
from oslo_config import cfg
|
from oslo_config import cfg
|
||||||
|
@ -31,7 +32,6 @@ from neutron.common import constants as n_const
|
||||||
from neutron.common import exceptions
|
from neutron.common import exceptions
|
||||||
from neutron.db import _model_query as model_query
|
from neutron.db import _model_query as model_query
|
||||||
from neutron.db import _resource_extend as resource_extend
|
from neutron.db import _resource_extend as resource_extend
|
||||||
from neutron.db import _utils as db_utils
|
|
||||||
from neutron.db import api as db_api
|
from neutron.db import api as db_api
|
||||||
from neutron.db import common_db_mixin
|
from neutron.db import common_db_mixin
|
||||||
from neutron.db import models_v2
|
from neutron.db import models_v2
|
||||||
|
|
|
@ -27,6 +27,7 @@ from neutron_lib.callbacks import resources
|
||||||
from neutron_lib import constants
|
from neutron_lib import constants
|
||||||
from neutron_lib import context as ctx
|
from neutron_lib import context as ctx
|
||||||
from neutron_lib.db import api as lib_db_api
|
from neutron_lib.db import api as lib_db_api
|
||||||
|
from neutron_lib.db import utils as ndb_utils
|
||||||
from neutron_lib import exceptions as exc
|
from neutron_lib import exceptions as exc
|
||||||
from neutron_lib.exceptions import l3 as l3_exc
|
from neutron_lib.exceptions import l3 as l3_exc
|
||||||
from neutron_lib.plugins import constants as plugin_constants
|
from neutron_lib.plugins import constants as plugin_constants
|
||||||
|
@ -47,7 +48,6 @@ from neutron.common import ipv6_utils
|
||||||
from neutron.common import utils
|
from neutron.common import utils
|
||||||
from neutron.db import _model_query as model_query
|
from neutron.db import _model_query as model_query
|
||||||
from neutron.db import _resource_extend as resource_extend
|
from neutron.db import _resource_extend as resource_extend
|
||||||
from neutron.db import _utils as ndb_utils
|
|
||||||
from neutron.db import api as db_api
|
from neutron.db import api as db_api
|
||||||
from neutron.db import db_base_plugin_common
|
from neutron.db import db_base_plugin_common
|
||||||
from neutron.db import ipam_pluggable_backend
|
from neutron.db import ipam_pluggable_backend
|
||||||
|
|
|
@ -20,6 +20,7 @@ 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 constants
|
from neutron_lib import constants
|
||||||
|
from neutron_lib.db import utils as db_utils
|
||||||
from neutron_lib import exceptions as n_exc
|
from neutron_lib import exceptions as n_exc
|
||||||
from neutron_lib.exceptions import external_net as extnet_exc
|
from neutron_lib.exceptions import external_net as extnet_exc
|
||||||
from neutron_lib.plugins import constants as plugin_constants
|
from neutron_lib.plugins import constants as plugin_constants
|
||||||
|
@ -29,7 +30,6 @@ from sqlalchemy.sql import expression as expr
|
||||||
from neutron._i18n import _
|
from neutron._i18n import _
|
||||||
from neutron.db import _model_query as model_query
|
from neutron.db import _model_query as model_query
|
||||||
from neutron.db import _resource_extend as resource_extend
|
from neutron.db import _resource_extend as resource_extend
|
||||||
from neutron.db import _utils as db_utils
|
|
||||||
from neutron.db import models_v2
|
from neutron.db import models_v2
|
||||||
from neutron.db import rbac_db_models as rbac_db
|
from neutron.db import rbac_db_models as rbac_db
|
||||||
from neutron.extensions import rbac as rbac_ext
|
from neutron.extensions import rbac as rbac_ext
|
||||||
|
|
|
@ -12,11 +12,11 @@
|
||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
|
from neutron_lib.db import utils as db_utils
|
||||||
from neutron_lib.exceptions import flavors as flav_exc
|
from neutron_lib.exceptions import flavors as flav_exc
|
||||||
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
|
||||||
|
|
||||||
from neutron.db import _utils as db_utils
|
|
||||||
from neutron.db import api as db_api
|
from neutron.db import api as db_api
|
||||||
from neutron.db import common_db_mixin
|
from neutron.db import common_db_mixin
|
||||||
from neutron.db import servicetype_db as sdb
|
from neutron.db import servicetype_db as sdb
|
||||||
|
|
|
@ -22,6 +22,7 @@ from neutron_lib.api.definitions import ip_allocation as ipalloc_apidef
|
||||||
from neutron_lib.api.definitions import portbindings
|
from neutron_lib.api.definitions import portbindings
|
||||||
from neutron_lib.api import validators
|
from neutron_lib.api import validators
|
||||||
from neutron_lib import constants as const
|
from neutron_lib import constants as const
|
||||||
|
from neutron_lib.db import utils as db_utils
|
||||||
from neutron_lib import exceptions as exc
|
from neutron_lib import exceptions as 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
|
||||||
|
@ -33,7 +34,6 @@ from neutron.common import exceptions as n_exc
|
||||||
from neutron.common import ipv6_utils
|
from neutron.common import ipv6_utils
|
||||||
from neutron.common import utils as common_utils
|
from neutron.common import utils as common_utils
|
||||||
from neutron.db import _model_query as model_query
|
from neutron.db import _model_query as model_query
|
||||||
from neutron.db import _utils as db_utils
|
|
||||||
from neutron.db import api as db_api
|
from neutron.db import api as db_api
|
||||||
from neutron.db import db_base_plugin_common
|
from neutron.db import db_base_plugin_common
|
||||||
from neutron.db.models import segment as segment_model
|
from neutron.db.models import segment as segment_model
|
||||||
|
|
|
@ -26,6 +26,7 @@ from neutron_lib.callbacks import registry
|
||||||
from neutron_lib.callbacks import resources
|
from neutron_lib.callbacks import resources
|
||||||
from neutron_lib import constants
|
from neutron_lib import constants
|
||||||
from neutron_lib import context as n_ctx
|
from neutron_lib import context as n_ctx
|
||||||
|
from neutron_lib.db import utils as lib_db_utils
|
||||||
from neutron_lib import exceptions as n_exc
|
from neutron_lib import exceptions as n_exc
|
||||||
from neutron_lib.exceptions import l3 as l3_exc
|
from neutron_lib.exceptions import l3 as l3_exc
|
||||||
from neutron_lib.plugins import constants as plugin_constants
|
from neutron_lib.plugins import constants as plugin_constants
|
||||||
|
@ -209,7 +210,7 @@ class L3_NAT_dbonly_mixin(l3.RouterPluginBase,
|
||||||
# plugins.
|
# plugins.
|
||||||
if process_extensions:
|
if process_extensions:
|
||||||
resource_extend.apply_funcs(l3_apidef.ROUTERS, res, router)
|
resource_extend.apply_funcs(l3_apidef.ROUTERS, res, router)
|
||||||
return db_utils.resource_fields(res, fields)
|
return lib_db_utils.resource_fields(res, fields)
|
||||||
|
|
||||||
def _create_router_db(self, context, router, tenant_id):
|
def _create_router_db(self, context, router, tenant_id):
|
||||||
"""Create the DB object."""
|
"""Create the DB object."""
|
||||||
|
@ -591,8 +592,8 @@ class L3_NAT_dbonly_mixin(l3.RouterPluginBase,
|
||||||
def get_routers(self, context, filters=None, fields=None,
|
def get_routers(self, context, filters=None, fields=None,
|
||||||
sorts=None, limit=None, marker=None,
|
sorts=None, limit=None, marker=None,
|
||||||
page_reverse=False):
|
page_reverse=False):
|
||||||
marker_obj = db_utils.get_marker_obj(self, context, 'router',
|
marker_obj = lib_db_utils.get_marker_obj(
|
||||||
limit, marker)
|
self, context, 'router', limit, marker)
|
||||||
return model_query.get_collection(context, l3_models.Router,
|
return model_query.get_collection(context, l3_models.Router,
|
||||||
self._make_router_dict,
|
self._make_router_dict,
|
||||||
filters=filters, fields=fields,
|
filters=filters, fields=fields,
|
||||||
|
@ -1072,7 +1073,7 @@ class L3_NAT_dbonly_mixin(l3.RouterPluginBase,
|
||||||
if process_extensions:
|
if process_extensions:
|
||||||
resource_extend.apply_funcs(
|
resource_extend.apply_funcs(
|
||||||
l3_apidef.FLOATINGIPS, res, floatingip.db_obj)
|
l3_apidef.FLOATINGIPS, res, floatingip.db_obj)
|
||||||
return db_utils.resource_fields(res, fields)
|
return lib_db_utils.resource_fields(res, fields)
|
||||||
|
|
||||||
def _get_router_for_floatingip(self, context, internal_port,
|
def _get_router_for_floatingip(self, context, internal_port,
|
||||||
internal_subnet_id,
|
internal_subnet_id,
|
||||||
|
|
|
@ -13,13 +13,13 @@
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
import netaddr
|
import netaddr
|
||||||
|
from neutron_lib.db import utils as db_utils
|
||||||
from neutron_lib.exceptions import metering as metering_exc
|
from neutron_lib.exceptions import metering as metering_exc
|
||||||
from oslo_db import exception as db_exc
|
from oslo_db import exception as db_exc
|
||||||
from oslo_utils import uuidutils
|
from oslo_utils import uuidutils
|
||||||
|
|
||||||
from neutron.api.rpc.agentnotifiers import metering_rpc_agent_api
|
from neutron.api.rpc.agentnotifiers import metering_rpc_agent_api
|
||||||
from neutron.common import constants
|
from neutron.common import constants
|
||||||
from neutron.db import _utils as db_utils
|
|
||||||
from neutron.db import api as db_api
|
from neutron.db import api as db_api
|
||||||
from neutron.db import common_db_mixin as base_db
|
from neutron.db import common_db_mixin as base_db
|
||||||
from neutron.db import l3_dvr_db
|
from neutron.db import l3_dvr_db
|
||||||
|
|
|
@ -13,8 +13,8 @@
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
from neutron_lib.api.definitions import port_security as psec
|
from neutron_lib.api.definitions import port_security as psec
|
||||||
|
from neutron_lib.db import utils as db_utils
|
||||||
|
|
||||||
from neutron.db import _utils as db_utils
|
|
||||||
from neutron.objects import network
|
from neutron.objects import network
|
||||||
from neutron.objects.port.extensions import port_security as p_ps
|
from neutron.objects.port.extensions import port_security as p_ps
|
||||||
|
|
||||||
|
|
|
@ -17,12 +17,12 @@ from neutron_lib.callbacks import events
|
||||||
from neutron_lib.callbacks import exceptions as c_exc
|
from neutron_lib.callbacks import exceptions as c_exc
|
||||||
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.db import utils as db_utils
|
||||||
from neutron_lib import exceptions as n_exc
|
from neutron_lib import exceptions as n_exc
|
||||||
from oslo_db import exception as db_exc
|
from oslo_db import exception as db_exc
|
||||||
from sqlalchemy.orm import exc
|
from sqlalchemy.orm import exc
|
||||||
|
|
||||||
from neutron.db import _model_query as model_query
|
from neutron.db import _model_query as model_query
|
||||||
from neutron.db import _utils as db_utils
|
|
||||||
from neutron.db import api as db_api
|
from neutron.db import api as db_api
|
||||||
from neutron.db import common_db_mixin
|
from neutron.db import common_db_mixin
|
||||||
from neutron.db import rbac_db_models as models
|
from neutron.db import rbac_db_models as models
|
||||||
|
|
|
@ -20,6 +20,7 @@ from neutron_lib.callbacks import exceptions
|
||||||
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 constants
|
from neutron_lib import constants
|
||||||
|
from neutron_lib.db import utils as db_utils
|
||||||
from neutron_lib import exceptions as n_exc
|
from neutron_lib import exceptions as n_exc
|
||||||
from neutron_lib.utils import helpers
|
from neutron_lib.utils import helpers
|
||||||
from neutron_lib.utils import net
|
from neutron_lib.utils import net
|
||||||
|
@ -32,7 +33,6 @@ from neutron.common import constants as n_const
|
||||||
from neutron.common import utils
|
from neutron.common import utils
|
||||||
from neutron.db import _model_query as model_query
|
from neutron.db import _model_query as model_query
|
||||||
from neutron.db import _resource_extend as resource_extend
|
from neutron.db import _resource_extend as resource_extend
|
||||||
from neutron.db import _utils as db_utils
|
|
||||||
from neutron.db import api as db_api
|
from neutron.db import api as db_api
|
||||||
from neutron.db.models import securitygroup as sg_models
|
from neutron.db.models import securitygroup as sg_models
|
||||||
from neutron.extensions import securitygroup as ext_sg
|
from neutron.extensions import securitygroup as ext_sg
|
||||||
|
|
|
@ -33,6 +33,7 @@ from neutron_lib.callbacks import exceptions
|
||||||
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 constants as const
|
from neutron_lib import constants as const
|
||||||
|
from neutron_lib.db import utils as db_utils
|
||||||
from neutron_lib import exceptions as exc
|
from neutron_lib import exceptions as exc
|
||||||
from neutron_lib.exceptions import allowedaddresspairs as addr_exc
|
from neutron_lib.exceptions import allowedaddresspairs as addr_exc
|
||||||
from neutron_lib.exceptions import port_security as psec_exc
|
from neutron_lib.exceptions import port_security as psec_exc
|
||||||
|
@ -65,7 +66,6 @@ from neutron.common import rpc as n_rpc
|
||||||
from neutron.common import utils
|
from neutron.common import utils
|
||||||
from neutron.db import _model_query as model_query
|
from neutron.db import _model_query as model_query
|
||||||
from neutron.db import _resource_extend as resource_extend
|
from neutron.db import _resource_extend as resource_extend
|
||||||
from neutron.db import _utils as db_utils
|
|
||||||
from neutron.db import address_scope_db
|
from neutron.db import address_scope_db
|
||||||
from neutron.db import agents_db
|
from neutron.db import agents_db
|
||||||
from neutron.db import agentschedulers_db
|
from neutron.db import agentschedulers_db
|
||||||
|
|
|
@ -20,6 +20,7 @@ from neutron_lib.api.definitions import network as net_def
|
||||||
from neutron_lib.callbacks import events
|
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.db import utils as db_utils
|
||||||
from neutron_lib import exceptions as n_exc
|
from neutron_lib import exceptions as n_exc
|
||||||
from neutron_lib.objects import exceptions as obj_exc
|
from neutron_lib.objects import exceptions as obj_exc
|
||||||
from neutron_lib.plugins import constants
|
from neutron_lib.plugins import constants
|
||||||
|
@ -29,7 +30,6 @@ from oslo_log import log as logging
|
||||||
from neutron._i18n import _
|
from neutron._i18n import _
|
||||||
from neutron.common import exceptions as c_exc
|
from neutron.common import exceptions as c_exc
|
||||||
from neutron.db import _resource_extend as resource_extend
|
from neutron.db import _resource_extend as resource_extend
|
||||||
from neutron.db import _utils as db_utils
|
|
||||||
from neutron.db import api as db_api
|
from neutron.db import api as db_api
|
||||||
from neutron.db import common_db_mixin
|
from neutron.db import common_db_mixin
|
||||||
from neutron.objects import auto_allocate as auto_allocate_obj
|
from neutron.objects import auto_allocate as auto_allocate_obj
|
||||||
|
|
|
@ -13,9 +13,9 @@
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
from neutron_lib.db import utils as db_utils
|
||||||
from neutron_lib import exceptions
|
from neutron_lib import exceptions
|
||||||
|
|
||||||
from neutron.db import _utils as db_utils
|
|
||||||
import neutron.db.db_base_plugin_v2 as db_base_plugin_v2
|
import neutron.db.db_base_plugin_v2 as db_base_plugin_v2
|
||||||
import neutron.db.network_ip_availability_db as ip_availability_db
|
import neutron.db.network_ip_availability_db as ip_availability_db
|
||||||
|
|
||||||
|
|
|
@ -18,6 +18,7 @@ import itertools
|
||||||
import os
|
import os
|
||||||
|
|
||||||
from neutron_lib.db import constants as db_const
|
from neutron_lib.db import constants as db_const
|
||||||
|
from neutron_lib.db import utils as db_utils
|
||||||
from neutron_lib import exceptions as n_exc
|
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
|
||||||
|
@ -26,7 +27,6 @@ import stevedore
|
||||||
|
|
||||||
from neutron._i18n import _
|
from neutron._i18n import _
|
||||||
from neutron.conf.services import provider_configuration as prov_config
|
from neutron.conf.services import provider_configuration as prov_config
|
||||||
from neutron.db import _utils as db_utils
|
|
||||||
|
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
|
@ -18,6 +18,7 @@ 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 constants
|
from neutron_lib import constants
|
||||||
|
from neutron_lib.db import utils as db_utils
|
||||||
from neutron_lib import exceptions as n_exc
|
from neutron_lib import exceptions as n_exc
|
||||||
from neutron_lib.plugins import directory
|
from neutron_lib.plugins import directory
|
||||||
from oslo_concurrency import lockutils
|
from oslo_concurrency import lockutils
|
||||||
|
@ -26,7 +27,6 @@ from oslo_log import helpers as log_helpers
|
||||||
from oslo_utils import uuidutils
|
from oslo_utils import uuidutils
|
||||||
|
|
||||||
from neutron.db import _resource_extend as resource_extend
|
from neutron.db import _resource_extend as resource_extend
|
||||||
from neutron.db import _utils as db_utils
|
|
||||||
from neutron.db import api as db_api
|
from neutron.db import api as db_api
|
||||||
from neutron.db import common_db_mixin
|
from neutron.db import common_db_mixin
|
||||||
from neutron.db import segments_db as db
|
from neutron.db import segments_db as db
|
||||||
|
|
|
@ -18,11 +18,11 @@ import copy
|
||||||
from neutron_lib.api.definitions import port_security as psec
|
from neutron_lib.api.definitions import port_security as psec
|
||||||
from neutron_lib.api import validators
|
from neutron_lib.api import validators
|
||||||
from neutron_lib import context
|
from neutron_lib import context
|
||||||
|
from neutron_lib.db import utils as db_utils
|
||||||
from neutron_lib.exceptions import port_security as psec_exc
|
from neutron_lib.exceptions import port_security as psec_exc
|
||||||
from neutron_lib.plugins import directory
|
from neutron_lib.plugins import directory
|
||||||
from webob import exc
|
from webob import exc
|
||||||
|
|
||||||
from neutron.db import _utils as db_utils
|
|
||||||
from neutron.db import api as db_api
|
from neutron.db import api as db_api
|
||||||
from neutron.db import db_base_plugin_v2
|
from neutron.db import db_base_plugin_v2
|
||||||
from neutron.db import portsecurity_db
|
from neutron.db import portsecurity_db
|
||||||
|
|
Loading…
Reference in New Issue