From ca751a1486812e498d9539980d8cd7bf6d7ebab7 Mon Sep 17 00:00:00 2001 From: Armando Migliaccio Date: Wed, 30 Nov 2016 20:37:28 -0800 Subject: [PATCH] Spin off context module NeutronLibImpact Partially-implements: blueprint neutron-lib Change-Id: I48cf45dc1b07035d952152eac2548a3bd9fc2832 --- neutron/agent/dhcp/agent.py | 2 +- neutron/agent/l3/agent.py | 2 +- neutron/agent/metadata/agent.py | 2 +- neutron/api/rpc/handlers/l3_rpc.py | 2 +- neutron/auth.py | 3 +- neutron/cmd/eventlet/usage_audit.py | 2 +- neutron/common/profiler.py | 2 +- neutron/common/rpc.py | 2 +- neutron/context.py | 175 ------------------ neutron/db/agents_db.py | 2 +- neutron/db/agentschedulers_db.py | 2 +- neutron/db/api.py | 6 +- neutron/db/db_base_plugin_v2.py | 2 +- neutron/db/l3_db.py | 2 +- neutron/notifiers/nova.py | 2 +- .../ml2/drivers/agent/_common_agent.py | 2 +- neutron/plugins/ml2/drivers/helpers.py | 2 +- .../plugins/ml2/drivers/l2pop/mech_driver.py | 2 +- .../mech_sriov/agent/sriov_nic_agent.py | 2 +- .../openvswitch/agent/ovs_neutron_agent.py | 2 +- neutron/plugins/ml2/drivers/type_tunnel.py | 2 +- neutron/plugins/ml2/drivers/type_vlan.py | 2 +- neutron/plugins/ml2/ovo_rpc.py | 2 +- neutron/policy.py | 23 +-- neutron/service.py | 2 +- neutron/services/externaldns/driver.py | 2 +- .../metering/agents/metering_agent.py | 2 +- neutron/services/qos/qos_plugin.py | 2 +- .../openvswitch/agent/ovsdb_handler.py | 2 +- neutron/services/trunk/plugin.py | 2 +- neutron/tests/common/helpers.py | 2 +- neutron/tests/functional/api/test_policies.py | 6 +- neutron/tests/functional/db/test_ipam.py | 2 +- .../functional/pecan_wsgi/test_controllers.py | 8 +- .../functional/pecan_wsgi/test_functional.py | 2 +- .../tests/functional/pecan_wsgi/test_hooks.py | 2 +- .../functional/plugins/ml2/test_plugin.py | 2 +- .../scheduler/test_dhcp_agent_scheduler.py | 2 +- .../scheduler/test_l3_agent_scheduler.py | 2 +- .../l3_router/test_l3_dvr_router_plugin.py | 2 +- neutron/tests/retargetable/client_fixtures.py | 2 +- .../unit/_test_extension_portbindings.py | 2 +- .../unit/agent/l2/extensions/test_qos.py | 2 +- .../unit/agent/test_securitygroups_rpc.py | 2 +- .../unit/api/rpc/handlers/test_l3_rpc.py | 2 +- .../api/rpc/handlers/test_resources_rpc.py | 2 +- neutron/tests/unit/api/v2/test_attributes.py | 2 +- neutron/tests/unit/api/v2/test_base.py | 2 +- neutron/tests/unit/api/v2/test_resource.py | 2 +- neutron/tests/unit/common/test_rpc.py | 27 ++- .../tests/unit/core_extensions/test_qos.py | 2 +- .../unit/db/metering/test_metering_db.py | 2 +- neutron/tests/unit/db/quota/test_api.py | 2 +- neutron/tests/unit/db/quota/test_driver.py | 2 +- neutron/tests/unit/db/test_agents_db.py | 2 +- .../tests/unit/db/test_agentschedulers_db.py | 4 +- neutron/tests/unit/db/test_common_db_mixin.py | 2 +- .../tests/unit/db/test_db_base_plugin_v2.py | 2 +- neutron/tests/unit/db/test_dvr_mac_db.py | 2 +- neutron/tests/unit/db/test_extraroute_db.py | 2 +- neutron/tests/unit/db/test_l3_dvr_db.py | 2 +- neutron/tests/unit/db/test_l3_hamode_db.py | 2 +- .../tests/unit/db/test_provisioning_blocks.py | 2 +- .../tests/unit/db/test_securitygroups_db.py | 2 +- neutron/tests/unit/db/test_sqlalchemytypes.py | 2 +- neutron/tests/unit/db/test_standard_attr.py | 2 +- .../unit/extensions/test_address_scope.py | 2 +- neutron/tests/unit/extensions/test_agent.py | 2 +- .../unit/extensions/test_availability_zone.py | 3 +- neutron/tests/unit/extensions/test_dns.py | 2 +- .../unit/extensions/test_external_net.py | 2 +- .../tests/unit/extensions/test_extraroute.py | 2 +- neutron/tests/unit/extensions/test_flavors.py | 2 +- neutron/tests/unit/extensions/test_l3.py | 2 +- .../unit/extensions/test_l3_ext_gw_mode.py | 4 +- .../unit/extensions/test_portsecurity.py | 2 +- .../tests/unit/extensions/test_providernet.py | 2 +- .../tests/unit/extensions/test_quotasv2.py | 2 +- .../unit/extensions/test_securitygroup.py | 2 +- neutron/tests/unit/extensions/test_segment.py | 2 +- .../tests/unit/extensions/test_servicetype.py | 2 +- .../tests/unit/extensions/test_timestamp.py | 2 +- .../drivers/neutrondb_ipam/test_db_api.py | 2 +- .../drivers/neutrondb_ipam/test_driver.py | 2 +- neutron/tests/unit/ipam/test_requests.py | 2 +- neutron/tests/unit/ipam/test_subnet_alloc.py | 2 +- neutron/tests/unit/objects/db/test_api.py | 2 +- .../extensions/test_allowedaddresspairs.py | 3 +- neutron/tests/unit/objects/test_base.py | 2 +- neutron/tests/unit/objects/test_rbac_db.py | 2 +- neutron/tests/unit/objects/test_subnet.py | 2 +- .../plugins/ml2/drivers/base_type_tunnel.py | 2 +- .../unit/plugins/ml2/drivers/l2pop/test_db.py | 2 +- .../ml2/drivers/l2pop/test_mech_driver.py | 2 +- .../extension_drivers/test_qos_driver.py | 2 +- .../extension_drivers/test_qos_driver.py | 2 +- .../unit/plugins/ml2/drivers/test_helpers.py | 2 +- .../plugins/ml2/drivers/test_type_flat.py | 2 +- .../plugins/ml2/drivers/test_type_vlan.py | 2 +- .../ml2/extensions/test_dns_integration.py | 2 +- neutron/tests/unit/plugins/ml2/test_db.py | 2 +- .../unit/plugins/ml2/test_ext_portsecurity.py | 2 +- .../plugins/ml2/test_extension_driver_api.py | 2 +- .../tests/unit/plugins/ml2/test_ovo_rpc.py | 2 +- neutron/tests/unit/plugins/ml2/test_plugin.py | 2 +- .../unit/plugins/ml2/test_port_binding.py | 2 +- .../unit/plugins/ml2/test_security_group.py | 2 +- .../plugins/ml2/test_tracked_resources.py | 2 +- neutron/tests/unit/quota/test_resource.py | 2 +- .../unit/quota/test_resource_registry.py | 2 +- .../scheduler/test_dhcp_agent_scheduler.py | 4 +- .../unit/scheduler/test_l3_agent_scheduler.py | 2 +- .../unit/services/auto_allocate/test_db.py | 2 +- .../test_driver_controller.py | 2 +- .../services/metering/test_metering_plugin.py | 6 +- .../qos/notification_drivers/test_manager.py | 2 +- .../unit/services/qos/test_qos_plugin.py | 2 +- .../revisions/test_revision_plugin.py | 2 +- neutron/tests/unit/test_context.py | 169 ----------------- neutron/tests/unit/test_policy.py | 41 +--- neutron/wsgi.py | 4 +- 121 files changed, 152 insertions(+), 544 deletions(-) delete mode 100644 neutron/context.py delete mode 100644 neutron/tests/unit/test_context.py diff --git a/neutron/agent/dhcp/agent.py b/neutron/agent/dhcp/agent.py index 276e5ac2413..57988e71b75 100644 --- a/neutron/agent/dhcp/agent.py +++ b/neutron/agent/dhcp/agent.py @@ -18,6 +18,7 @@ import os import eventlet from neutron_lib import constants +from neutron_lib import context from neutron_lib import exceptions from oslo_concurrency import lockutils from oslo_config import cfg @@ -37,7 +38,6 @@ from neutron.common import constants as n_const from neutron.common import rpc as n_rpc from neutron.common import topics from neutron.common import utils -from neutron import context from neutron import manager LOG = logging.getLogger(__name__) diff --git a/neutron/agent/l3/agent.py b/neutron/agent/l3/agent.py index 64c15cb6ab8..2f8b2559e14 100644 --- a/neutron/agent/l3/agent.py +++ b/neutron/agent/l3/agent.py @@ -16,6 +16,7 @@ import eventlet import netaddr from neutron_lib import constants as lib_const +from neutron_lib import context as n_context from oslo_config import cfg from oslo_context import context as common_context from oslo_log import log as logging @@ -53,7 +54,6 @@ from neutron.common import ipv6_utils from neutron.common import rpc as n_rpc from neutron.common import topics from neutron.common import utils -from neutron import context as n_context from neutron import manager LOG = logging.getLogger(__name__) diff --git a/neutron/agent/metadata/agent.py b/neutron/agent/metadata/agent.py index 707b31124a9..f849945ce03 100644 --- a/neutron/agent/metadata/agent.py +++ b/neutron/agent/metadata/agent.py @@ -17,6 +17,7 @@ import hmac import httplib2 from neutron_lib import constants +from neutron_lib import context from oslo_config import cfg from oslo_log import log as logging import oslo_messaging @@ -34,7 +35,6 @@ from neutron.common import constants as n_const from neutron.common import rpc as n_rpc from neutron.common import topics from neutron.conf.agent.metadata import config -from neutron import context LOG = logging.getLogger(__name__) diff --git a/neutron/api/rpc/handlers/l3_rpc.py b/neutron/api/rpc/handlers/l3_rpc.py index c75389f6988..079271fbb3d 100644 --- a/neutron/api/rpc/handlers/l3_rpc.py +++ b/neutron/api/rpc/handlers/l3_rpc.py @@ -14,6 +14,7 @@ # limitations under the License. from neutron_lib import constants +from neutron_lib import context as neutron_context from neutron_lib import exceptions from neutron_lib.plugins import directory from oslo_config import cfg @@ -23,7 +24,6 @@ import six from neutron.common import constants as n_const from neutron.common import utils -from neutron import context as neutron_context from neutron.db import api as db_api from neutron.extensions import l3 from neutron.extensions import portbindings diff --git a/neutron/auth.py b/neutron/auth.py index 5d972b8840e..23150f36f3e 100644 --- a/neutron/auth.py +++ b/neutron/auth.py @@ -12,6 +12,7 @@ # License for the specific language governing permissions and limitations # under the License. +from neutron_lib import context from oslo_config import cfg from oslo_log import log as logging from oslo_middleware import base @@ -19,8 +20,6 @@ from oslo_middleware import request_id import webob.dec import webob.exc -from neutron import context - LOG = logging.getLogger(__name__) diff --git a/neutron/cmd/eventlet/usage_audit.py b/neutron/cmd/eventlet/usage_audit.py index 56fe7a0d06a..44eb85b0d3e 100644 --- a/neutron/cmd/eventlet/usage_audit.py +++ b/neutron/cmd/eventlet/usage_audit.py @@ -20,11 +20,11 @@ subnets. import sys from neutron_lib import constants +from neutron_lib import context from neutron_lib.plugins import directory from neutron.common import config from neutron.common import rpc as n_rpc -from neutron import context from neutron import manager diff --git a/neutron/common/profiler.py b/neutron/common/profiler.py index b68d8cc1b7a..5d7afaefd68 100644 --- a/neutron/common/profiler.py +++ b/neutron/common/profiler.py @@ -10,6 +10,7 @@ # License for the specific language governing permissions and limitations # under the License. +from neutron_lib import context from oslo_config import cfg from oslo_log import log as logging import osprofiler.initializer @@ -17,7 +18,6 @@ from osprofiler import opts as profiler_opts import osprofiler.web from neutron._i18n import _LI -from neutron import context CONF = cfg.CONF diff --git a/neutron/common/rpc.py b/neutron/common/rpc.py index 5d801448d3d..01bd99d6b74 100644 --- a/neutron/common/rpc.py +++ b/neutron/common/rpc.py @@ -18,6 +18,7 @@ import collections import random import time +from neutron_lib import context from neutron_lib import exceptions as lib_exceptions from oslo_config import cfg from oslo_log import log as logging @@ -30,7 +31,6 @@ from osprofiler import profiler from neutron._i18n import _LE, _LW from neutron.common import exceptions -from neutron import context LOG = logging.getLogger(__name__) diff --git a/neutron/context.py b/neutron/context.py deleted file mode 100644 index f8c49ca0737..00000000000 --- a/neutron/context.py +++ /dev/null @@ -1,175 +0,0 @@ -# Copyright 2012 OpenStack Foundation. -# All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -"""Context: context for security/db session.""" - -import copy -import datetime - -from oslo_context import context as oslo_context -from oslo_db.sqlalchemy import enginefacade - -from neutron.db import api as db_api -from neutron import policy - - -class ContextBase(oslo_context.RequestContext): - """Security context and request information. - - Represents the user taking a given action within the system. - - """ - - def __init__(self, user_id=None, tenant_id=None, is_admin=None, - timestamp=None, tenant_name=None, user_name=None, - is_advsvc=None, **kwargs): - """Object initialization. - - :param overwrite: Set to False to ensure that the greenthread local - copy of the index is not overwritten. - """ - # NOTE(jamielennox): We maintain these arguments in order for tests - # that pass arguments positionally. - kwargs.setdefault('user', user_id) - kwargs.setdefault('tenant', tenant_id) - super(ContextBase, self).__init__(is_admin=is_admin, **kwargs) - - self.user_name = user_name - # NOTE(sdague): tenant* is a deprecated set of names from - # keystone, and is no longer set in modern keystone middleware - # code, as such this is almost always going to be None. - self.tenant_name = tenant_name - - if not timestamp: - timestamp = datetime.datetime.utcnow() - self.timestamp = timestamp - self.is_advsvc = is_advsvc - if self.is_advsvc is None: - self.is_advsvc = self.is_admin or policy.check_is_advsvc(self) - if self.is_admin is None: - self.is_admin = policy.check_is_admin(self) - - @property - def project_id(self): - return self.tenant - - @property - def tenant_id(self): - return self.tenant - - @tenant_id.setter - def tenant_id(self, tenant_id): - self.tenant = tenant_id - - @property - def user_id(self): - return self.user - - @user_id.setter - def user_id(self, user_id): - self.user = user_id - - def to_dict(self): - context = super(ContextBase, self).to_dict() - context.update({ - 'user_id': self.user_id, - 'tenant_id': self.tenant_id, - 'project_id': self.project_id, - 'timestamp': str(self.timestamp), - # prefer project_name, as that's what's going to be set by - # keystone. Fall back if for some reason it's blank. - 'tenant_name': self.project_name or self.tenant_name, - 'project_name': self.project_name or self.tenant_name, - 'user_name': self.user_name, - }) - return context - - def to_policy_values(self): - values = super(ContextBase, self).to_policy_values() - values['tenant_id'] = self.tenant_id - values['is_admin'] = self.is_admin - - # NOTE(jamielennox): These are almost certainly unused and non-standard - # but kept for backwards compatibility. Remove them in Pike - # (oslo.context from Ocata release already issues deprecation warnings - # for non-standard keys). - values['user'] = self.user - values['tenant'] = self.tenant - values['domain'] = self.domain - values['user_domain'] = self.user_domain - values['project_domain'] = self.project_domain - # prefer project_name, as that's what's going to be set by - # keystone. Fall back if for some reason it's blank. - values['tenant_name'] = self.project_name or self.tenant_name - values['project_name'] = self.project_name or self.tenant_name - values['user_name'] = self.user_name - - return values - - @classmethod - def from_dict(cls, values): - return cls(user_id=values.get('user_id', values.get('user')), - tenant_id=values.get('tenant_id', values.get('project_id')), - is_admin=values.get('is_admin'), - roles=values.get('roles'), - timestamp=values.get('timestamp'), - request_id=values.get('request_id'), - tenant_name=values.get('tenant_name'), - user_name=values.get('user_name'), - auth_token=values.get('auth_token')) - - def elevated(self): - """Return a version of this context with admin flag set.""" - context = copy.copy(self) - context.is_admin = True - - if 'admin' not in [x.lower() for x in context.roles]: - context.roles = context.roles + ["admin"] - - return context - - -@enginefacade.transaction_context_provider -class ContextBaseWithSession(ContextBase): - pass - - -class Context(ContextBaseWithSession): - def __init__(self, *args, **kwargs): - super(Context, self).__init__(*args, **kwargs) - self._session = None - - @property - def session(self): - # TODO(akamyshnikova): checking for session attribute won't be needed - # when reader and writer will be used - if hasattr(super(Context, self), 'session'): - return super(Context, self).session - if self._session is None: - self._session = db_api.get_writer_session() - return self._session - - -def get_admin_context(): - return Context(user_id=None, - tenant_id=None, - is_admin=True, - overwrite=False) - - -def get_admin_context_without_session(): - return ContextBase(user_id=None, - tenant_id=None, - is_admin=True) diff --git a/neutron/db/agents_db.py b/neutron/db/agents_db.py index 0d27ac23a2b..0928d25c90a 100644 --- a/neutron/db/agents_db.py +++ b/neutron/db/agents_db.py @@ -19,6 +19,7 @@ import debtcollector from eventlet import greenthread from neutron_lib.api import converters from neutron_lib import constants +from neutron_lib import context from neutron_lib.plugins import directory from oslo_config import cfg from oslo_log import log as logging @@ -37,7 +38,6 @@ from neutron.callbacks import events from neutron.callbacks import registry from neutron.callbacks import resources from neutron.common import constants as n_const -from neutron import context from neutron.db import _utils as db_utils from neutron.db import api as db_api from neutron.db.models import agent as agent_model diff --git a/neutron/db/agentschedulers_db.py b/neutron/db/agentschedulers_db.py index c900e3eb163..716889deae3 100644 --- a/neutron/db/agentschedulers_db.py +++ b/neutron/db/agentschedulers_db.py @@ -18,6 +18,7 @@ import random import time from neutron_lib import constants +from neutron_lib import context as ncontext from oslo_config import cfg from oslo_log import log as logging import oslo_messaging @@ -29,7 +30,6 @@ from neutron._i18n import _, _LE, _LI, _LW from neutron.agent.common import utils as agent_utils from neutron.common import constants as n_const from neutron.common import utils -from neutron import context as ncontext from neutron.db import agents_db from neutron.db.availability_zone import network as network_az from neutron.db.models import agent as agent_model diff --git a/neutron/db/api.py b/neutron/db/api.py index affd3c43f7b..3f1e687b92c 100644 --- a/neutron/db/api.py +++ b/neutron/db/api.py @@ -17,11 +17,11 @@ import contextlib import copy from debtcollector import removals +from neutron_lib.db import api from neutron_lib import exceptions from oslo_config import cfg from oslo_db import api as oslo_db_api from oslo_db import exception as db_exc -from oslo_db.sqlalchemy import enginefacade from oslo_log import log as logging from oslo_utils import excutils from osprofiler import opts as profiler_opts @@ -44,9 +44,7 @@ def set_hook(engine): osprofiler.sqlalchemy.add_tracing(sqlalchemy, engine, 'neutron.db') -context_manager = enginefacade.transaction_context() - -context_manager.configure(sqlite_fk=True) +context_manager = api.get_context_manager() # TODO(ihrachys) the hook assumes options defined by osprofiler, and the only # public function that is provided by osprofiler that will register them is diff --git a/neutron/db/db_base_plugin_v2.py b/neutron/db/db_base_plugin_v2.py index 34f6b76da70..e1258388278 100644 --- a/neutron/db/db_base_plugin_v2.py +++ b/neutron/db/db_base_plugin_v2.py @@ -18,6 +18,7 @@ import functools import netaddr from neutron_lib.api import validators from neutron_lib import constants +from neutron_lib import context as ctx from neutron_lib import exceptions as exc from neutron_lib.plugins import directory from oslo_config import cfg @@ -39,7 +40,6 @@ from neutron.common import constants as n_const from neutron.common import exceptions as n_exc from neutron.common import ipv6_utils from neutron.common import utils -from neutron import context as ctx from neutron.db import _utils as ndb_utils from neutron.db import api as db_api from neutron.db import db_base_plugin_common diff --git a/neutron/db/l3_db.py b/neutron/db/l3_db.py index 6bfd57f75b9..9a66069b13e 100644 --- a/neutron/db/l3_db.py +++ b/neutron/db/l3_db.py @@ -20,6 +20,7 @@ from debtcollector import removals import netaddr from neutron_lib.api import validators from neutron_lib import constants +from neutron_lib import context as n_ctx from neutron_lib import exceptions as n_exc from neutron_lib.plugins import directory from oslo_log import log as logging @@ -38,7 +39,6 @@ from neutron.common import constants as n_const from neutron.common import ipv6_utils from neutron.common import rpc as n_rpc from neutron.common import utils -from neutron import context as n_ctx from neutron.db import _utils as db_utils from neutron.db import api as db_api from neutron.db import common_db_mixin diff --git a/neutron/notifiers/nova.py b/neutron/notifiers/nova.py index 17290389916..0971f467763 100644 --- a/neutron/notifiers/nova.py +++ b/neutron/notifiers/nova.py @@ -15,6 +15,7 @@ from keystoneauth1 import loading as ks_loading from neutron_lib import constants +from neutron_lib import context from neutron_lib import exceptions as exc from neutron_lib.plugins import directory from novaclient import api_versions @@ -29,7 +30,6 @@ from neutron._i18n import _LE, _LI, _LW from neutron.callbacks import events from neutron.callbacks import registry from neutron.callbacks import resources -from neutron import context from neutron.notifiers import batch_notifier diff --git a/neutron/plugins/ml2/drivers/agent/_common_agent.py b/neutron/plugins/ml2/drivers/agent/_common_agent.py index f40d0e72cd4..a31134cd59d 100644 --- a/neutron/plugins/ml2/drivers/agent/_common_agent.py +++ b/neutron/plugins/ml2/drivers/agent/_common_agent.py @@ -20,6 +20,7 @@ import sys import time from neutron_lib import constants +from neutron_lib import context from oslo_config import cfg from oslo_log import log as logging from oslo_service import loopingcall @@ -39,7 +40,6 @@ from neutron.callbacks import resources as local_resources from neutron.common import config as common_config from neutron.common import constants as n_const from neutron.common import topics -from neutron import context from neutron.plugins.ml2.drivers.agent import _agent_manager_base as amb from neutron.plugins.ml2.drivers.agent import capabilities from neutron.plugins.ml2.drivers.agent import config as cagt_config # noqa diff --git a/neutron/plugins/ml2/drivers/helpers.py b/neutron/plugins/ml2/drivers/helpers.py index 1996ff88179..91dc3ccd088 100644 --- a/neutron/plugins/ml2/drivers/helpers.py +++ b/neutron/plugins/ml2/drivers/helpers.py @@ -15,6 +15,7 @@ import random +from neutron_lib import context as neutron_ctx from neutron_lib.utils import helpers from oslo_config import cfg from oslo_db import exception as db_exc @@ -22,7 +23,6 @@ from oslo_log import log from neutron._i18n import _LE from neutron.common import exceptions as exc -from neutron import context as neutron_ctx from neutron.plugins.common import utils as p_utils from neutron.plugins.ml2 import driver_api as api diff --git a/neutron/plugins/ml2/drivers/l2pop/mech_driver.py b/neutron/plugins/ml2/drivers/l2pop/mech_driver.py index 74aa035b804..e1f5a1371b3 100644 --- a/neutron/plugins/ml2/drivers/l2pop/mech_driver.py +++ b/neutron/plugins/ml2/drivers/l2pop/mech_driver.py @@ -14,6 +14,7 @@ # under the License. from neutron_lib import constants as const +from neutron_lib import context as n_context from neutron_lib import exceptions from neutron_lib.plugins import directory from oslo_config import cfg @@ -21,7 +22,6 @@ from oslo_log import log as logging from neutron._i18n import _, _LW from neutron.conf.plugins.ml2.drivers import l2pop as config -from neutron import context as n_context from neutron.db import api as db_api from neutron.db import l3_hamode_db from neutron.plugins.ml2 import driver_api as api diff --git a/neutron/plugins/ml2/drivers/mech_sriov/agent/sriov_nic_agent.py b/neutron/plugins/ml2/drivers/mech_sriov/agent/sriov_nic_agent.py index 0527bb8e95b..1625f74f7e9 100644 --- a/neutron/plugins/ml2/drivers/mech_sriov/agent/sriov_nic_agent.py +++ b/neutron/plugins/ml2/drivers/mech_sriov/agent/sriov_nic_agent.py @@ -21,6 +21,7 @@ import sys import time from neutron_lib import constants as n_constants +from neutron_lib import context from neutron_lib.utils import helpers from oslo_config import cfg from oslo_log import log as logging @@ -38,7 +39,6 @@ from neutron.api.rpc.handlers import securitygroups_rpc as sg_rpc from neutron.common import config as common_config from neutron.common import profiler as setup_profiler from neutron.common import topics -from neutron import context from neutron.extensions import portbindings from neutron.plugins.ml2.drivers.mech_sriov.agent.common import config from neutron.plugins.ml2.drivers.mech_sriov.agent.common \ diff --git a/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py b/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py index 6b8adc593cb..4975358f942 100644 --- a/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py +++ b/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py @@ -23,6 +23,7 @@ import time import netaddr from neutron_lib import constants as n_const +from neutron_lib import context from neutron_lib.utils import helpers from oslo_config import cfg from oslo_log import log as logging @@ -53,7 +54,6 @@ from neutron.common import config from neutron.common import constants as c_const from neutron.common import topics from neutron.conf.agent import xenapi_conf -from neutron import context from neutron.extensions import portbindings from neutron.plugins.common import constants as p_const from neutron.plugins.common import utils as p_utils diff --git a/neutron/plugins/ml2/drivers/type_tunnel.py b/neutron/plugins/ml2/drivers/type_tunnel.py index d1cf3434109..9ba44b79466 100644 --- a/neutron/plugins/ml2/drivers/type_tunnel.py +++ b/neutron/plugins/ml2/drivers/type_tunnel.py @@ -17,6 +17,7 @@ import itertools import operator import netaddr +from neutron_lib import context from neutron_lib import exceptions as exc from oslo_config import cfg from oslo_db import api as oslo_db_api @@ -28,7 +29,6 @@ from sqlalchemy import or_ from neutron._i18n import _, _LI, _LW from neutron.common import topics -from neutron import context from neutron.db import api as db_api from neutron.plugins.common import constants as p_const from neutron.plugins.common import utils as plugin_utils diff --git a/neutron/plugins/ml2/drivers/type_vlan.py b/neutron/plugins/ml2/drivers/type_vlan.py index d6966859b65..bf56fcf129e 100644 --- a/neutron/plugins/ml2/drivers/type_vlan.py +++ b/neutron/plugins/ml2/drivers/type_vlan.py @@ -15,6 +15,7 @@ import sys +from neutron_lib import context from neutron_lib import exceptions as exc from oslo_config import cfg from oslo_log import log @@ -22,7 +23,6 @@ from six import moves from neutron._i18n import _, _LE, _LI, _LW from neutron.conf.plugins.ml2.drivers import driver_type -from neutron import context from neutron.db import api as db_api from neutron.db.models.plugins.ml2 import vlanallocation as vlan_alloc_model from neutron.plugins.common import constants as p_const diff --git a/neutron/plugins/ml2/ovo_rpc.py b/neutron/plugins/ml2/ovo_rpc.py index ec7d84d2665..ad8d3764502 100644 --- a/neutron/plugins/ml2/ovo_rpc.py +++ b/neutron/plugins/ml2/ovo_rpc.py @@ -14,6 +14,7 @@ import traceback import eventlet +from neutron_lib import context as n_ctx from oslo_concurrency import lockutils from oslo_log import log as logging @@ -23,7 +24,6 @@ from neutron.api.rpc.handlers import resources_rpc from neutron.callbacks import events from neutron.callbacks import registry from neutron.callbacks import resources -from neutron import context as n_ctx from neutron.db import api as db_api from neutron.objects import network from neutron.objects import ports diff --git a/neutron/policy.py b/neutron/policy.py index 247edd7aee7..ed9e2f17562 100644 --- a/neutron/policy.py +++ b/neutron/policy.py @@ -17,6 +17,7 @@ import collections import re from neutron_lib import constants +from neutron_lib import context from neutron_lib import exceptions from neutron_lib.plugins import directory from oslo_config import cfg @@ -24,7 +25,6 @@ from oslo_db import exception as db_exc from oslo_log import log as logging from oslo_policy import policy from oslo_utils import excutils -from oslo_utils import importutils import six from neutron._i18n import _, _LE, _LW @@ -222,7 +222,6 @@ class OwnerCheck(policy.Check): f = getattr(directory.get_plugin(), 'get_%s' % resource_type) # f *must* exist, if not found it is better to let neutron # explode. Check will be performed with admin context - context = importutils.import_module('neutron.context') try: data = f(context.get_admin_context(), resource_id, @@ -409,23 +408,3 @@ def enforce(context, action, target, plugin=None, pluralized=None): log_rule_list(rule) LOG.debug("Failed policy check for '%s'", action) return result - - -def check_is_admin(context): - """Verify context has admin rights according to policy settings.""" - init() - # the target is user-self - credentials = context.to_policy_values() - if ADMIN_CTX_POLICY not in _ENFORCER.rules: - return False - return _ENFORCER.enforce(ADMIN_CTX_POLICY, credentials, credentials) - - -def check_is_advsvc(context): - """Verify context has advsvc rights according to policy settings.""" - init() - # the target is user-self - credentials = context.to_policy_values() - if ADVSVC_CTX_POLICY not in _ENFORCER.rules: - return False - return _ENFORCER.enforce(ADVSVC_CTX_POLICY, credentials, credentials) diff --git a/neutron/service.py b/neutron/service.py index bf9d10b966b..c3942fd46dc 100644 --- a/neutron/service.py +++ b/neutron/service.py @@ -17,6 +17,7 @@ import inspect import os import random +from neutron_lib import context from neutron_lib.plugins import directory from oslo_concurrency import processutils from oslo_config import cfg @@ -35,7 +36,6 @@ from neutron.common import config from neutron.common import profiler from neutron.common import rpc as n_rpc from neutron.conf import service -from neutron import context from neutron.db import api as session from neutron import worker as neutron_worker from neutron import wsgi diff --git a/neutron/services/externaldns/driver.py b/neutron/services/externaldns/driver.py index e25de81e038..ae9feef7c79 100644 --- a/neutron/services/externaldns/driver.py +++ b/neutron/services/externaldns/driver.py @@ -46,7 +46,7 @@ class ExternalDNSService(object): """Create a record set in the specified zone. :param context: neutron api request context - :type context: neutron.context.Context + :type context: neutron_lib.context.Context :param dns_domain: the dns_domain where the record set will be created :type dns_domain: String :param dns_name: the name associated with the record set diff --git a/neutron/services/metering/agents/metering_agent.py b/neutron/services/metering/agents/metering_agent.py index f8c5bd377db..14a7a1d39bd 100644 --- a/neutron/services/metering/agents/metering_agent.py +++ b/neutron/services/metering/agents/metering_agent.py @@ -15,6 +15,7 @@ import sys from neutron_lib import constants +from neutron_lib import context from oslo_config import cfg from oslo_log import log as logging import oslo_messaging @@ -33,7 +34,6 @@ from neutron.common import rpc as n_rpc from neutron.common import topics from neutron.common import utils from neutron.conf.services import metering_agent -from neutron import context from neutron import manager from neutron import service as neutron_service diff --git a/neutron/services/qos/qos_plugin.py b/neutron/services/qos/qos_plugin.py index 3f434a979fd..56d1ef41829 100644 --- a/neutron/services/qos/qos_plugin.py +++ b/neutron/services/qos/qos_plugin.py @@ -52,7 +52,7 @@ class QoSPlugin(qos.QoSPluginBase): """Create a QoS policy. :param context: neutron api request context - :type context: neutron.context.Context + :type context: neutron_lib.context.Context :param policy: policy data to be applied :type policy: dict diff --git a/neutron/services/trunk/drivers/openvswitch/agent/ovsdb_handler.py b/neutron/services/trunk/drivers/openvswitch/agent/ovsdb_handler.py index 3814c311325..f5463dbd523 100644 --- a/neutron/services/trunk/drivers/openvswitch/agent/ovsdb_handler.py +++ b/neutron/services/trunk/drivers/openvswitch/agent/ovsdb_handler.py @@ -16,6 +16,7 @@ import functools import eventlet +from neutron_lib import context as n_context from oslo_concurrency import lockutils from oslo_context import context as o_context from oslo_log import log as logging @@ -28,7 +29,6 @@ from neutron.api.rpc.handlers import resources_rpc from neutron.callbacks import events from neutron.callbacks import registry from neutron.common import utils as common_utils -from neutron import context as n_context from neutron.plugins.ml2.drivers.openvswitch.agent.common \ import constants as ovs_agent_constants from neutron.services.trunk import constants diff --git a/neutron/services/trunk/plugin.py b/neutron/services/trunk/plugin.py index 9473d9687c5..924785cf1e6 100644 --- a/neutron/services/trunk/plugin.py +++ b/neutron/services/trunk/plugin.py @@ -14,6 +14,7 @@ import copy +from neutron_lib import context from oslo_log import log as logging from oslo_utils import uuidutils @@ -21,7 +22,6 @@ from neutron.api.v2 import attributes from neutron.callbacks import events from neutron.callbacks import registry from neutron.callbacks import resources -from neutron import context from neutron.db import api as db_api from neutron.db import common_db_mixin from neutron.db import db_base_plugin_common diff --git a/neutron/tests/common/helpers.py b/neutron/tests/common/helpers.py index 63a132b8cdb..8d76c192424 100644 --- a/neutron/tests/common/helpers.py +++ b/neutron/tests/common/helpers.py @@ -19,6 +19,7 @@ import os import random from neutron_lib import constants +from neutron_lib import context from oslo_utils import timeutils import six import testtools @@ -26,7 +27,6 @@ import testtools import neutron from neutron.agent.common import ovs_lib from neutron.common import topics -from neutron import context from neutron.db import agents_db from neutron.db import common_db_mixin diff --git a/neutron/tests/functional/api/test_policies.py b/neutron/tests/functional/api/test_policies.py index 9ad485126e2..9f0515c8f8d 100644 --- a/neutron/tests/functional/api/test_policies.py +++ b/neutron/tests/functional/api/test_policies.py @@ -15,9 +15,10 @@ import os.path +from neutron_lib import context + from neutron.api import extensions from neutron.api.v2 import attributes -from neutron import context from neutron import policy from neutron.tests import base from neutron.tests import tools @@ -41,7 +42,6 @@ class APIPolicyTestCase(base.BaseTestCase): self.useFixture(tools.AttributeMapMemento()) self.extension_path = os.path.abspath(os.path.join( TEST_PATH, "../../../extensions")) - policy.reset() self.addCleanup(policy.reset) def _network_definition(self): @@ -79,9 +79,11 @@ class APIPolicyTestCase(base.BaseTestCase): populating extensions and extending the resource map results in networks with router:external are visible to regular tenants. """ + policy.reset() extension_manager = extensions.ExtensionManager(self.extension_path) extension_manager.extend_resources(self.api_version, attributes.RESOURCE_ATTRIBUTE_MAP) + policy.init() admin_context = context.get_admin_context() tenant_context = context.Context('test_user', 'test_tenant_id', False) self.assertTrue(self._check_external_router_policy(admin_context)) diff --git a/neutron/tests/functional/db/test_ipam.py b/neutron/tests/functional/db/test_ipam.py index bc3be1b01d2..a2924b9f55a 100644 --- a/neutron/tests/functional/db/test_ipam.py +++ b/neutron/tests/functional/db/test_ipam.py @@ -14,12 +14,12 @@ # under the License. from neutron_lib import constants +from neutron_lib import context from neutron_lib import exceptions as n_exc from oslo_config import cfg from oslo_utils import uuidutils import testtools -from neutron import context from neutron.db import db_base_plugin_v2 as base_plugin from neutron.db import models_v2 from neutron.tests.unit import testlib_api diff --git a/neutron/tests/functional/pecan_wsgi/test_controllers.py b/neutron/tests/functional/pecan_wsgi/test_controllers.py index 0187a8b1a42..797dcdbc8f6 100644 --- a/neutron/tests/functional/pecan_wsgi/test_controllers.py +++ b/neutron/tests/functional/pecan_wsgi/test_controllers.py @@ -14,6 +14,7 @@ import uuid import mock from neutron_lib import constants as n_const +from neutron_lib import context from neutron_lib.plugins import directory from oslo_config import cfg from oslo_db import exception as db_exc @@ -23,7 +24,6 @@ import pecan from pecan import request from neutron.api import extensions -from neutron import context from neutron import manager from neutron.pecan_wsgi.controllers import root as controllers from neutron.pecan_wsgi.controllers import utils as controller_utils @@ -297,6 +297,8 @@ class TestResourceController(TestRootController): def setUp(self): super(TestResourceController, self).setUp() + policy.init() + self.addCleanup(policy.reset) self._gen_port() def _gen_port(self): @@ -456,6 +458,8 @@ class TestPaginationAndSorting(test_functional.PecanFunctionalTest): def setUp(self): super(TestPaginationAndSorting, self).setUp() + policy.init() + self.addCleanup(policy.reset) self.plugin = directory.get_plugin() self.ctx = context.get_admin_context() self._create_networks(self.RESOURCE_COUNT) @@ -702,6 +706,8 @@ class TestRouterController(TestResourceController): ['neutron.services.l3_router.l3_router_plugin.L3RouterPlugin', 'neutron.services.flavors.flavors_plugin.FlavorsPlugin']) super(TestRouterController, self).setUp() + policy.init() + self.addCleanup(policy.reset) plugin = directory.get_plugin() ctx = context.get_admin_context() l3_plugin = directory.get_plugin(n_const.L3) diff --git a/neutron/tests/functional/pecan_wsgi/test_functional.py b/neutron/tests/functional/pecan_wsgi/test_functional.py index bc74ee9d5e6..38b27ab2972 100644 --- a/neutron/tests/functional/pecan_wsgi/test_functional.py +++ b/neutron/tests/functional/pecan_wsgi/test_functional.py @@ -17,6 +17,7 @@ import os import mock from neutron_lib import constants +from neutron_lib import context from neutron_lib import exceptions as n_exc from oslo_config import cfg from oslo_middleware import base @@ -27,7 +28,6 @@ import webob.dec import webtest from neutron.api import extensions as exts -from neutron import context from neutron import manager from neutron import tests from neutron.tests.unit import testlib_api diff --git a/neutron/tests/functional/pecan_wsgi/test_hooks.py b/neutron/tests/functional/pecan_wsgi/test_hooks.py index 24def5e9ccc..b1e1b5c00e5 100644 --- a/neutron/tests/functional/pecan_wsgi/test_hooks.py +++ b/neutron/tests/functional/pecan_wsgi/test_hooks.py @@ -14,6 +14,7 @@ # under the License. import mock +from neutron_lib import context from neutron_lib.db import constants as db_const from neutron_lib.plugins import directory from oslo_policy import policy as oslo_policy @@ -21,7 +22,6 @@ from oslo_serialization import jsonutils from neutron.api.v2 import attributes from neutron.callbacks import events -from neutron import context from neutron.db.quota import driver as quota_driver from neutron import manager from neutron.pecan_wsgi.controllers import resource diff --git a/neutron/tests/functional/plugins/ml2/test_plugin.py b/neutron/tests/functional/plugins/ml2/test_plugin.py index 97c46a6f44d..e14584e31e1 100644 --- a/neutron/tests/functional/plugins/ml2/test_plugin.py +++ b/neutron/tests/functional/plugins/ml2/test_plugin.py @@ -14,8 +14,8 @@ # under the License. from neutron_lib import constants +from neutron_lib import context -from neutron import context from neutron.db import agents_db from neutron.extensions import portbindings from neutron.tests.common import helpers diff --git a/neutron/tests/functional/scheduler/test_dhcp_agent_scheduler.py b/neutron/tests/functional/scheduler/test_dhcp_agent_scheduler.py index 5cef44f7d46..1e7d7079ad8 100644 --- a/neutron/tests/functional/scheduler/test_dhcp_agent_scheduler.py +++ b/neutron/tests/functional/scheduler/test_dhcp_agent_scheduler.py @@ -17,10 +17,10 @@ import collections from operator import attrgetter from neutron_lib import constants +from neutron_lib import context import six import testscenarios -from neutron import context from neutron.db import agents_db from neutron.db import agentschedulers_db from neutron.db import common_db_mixin diff --git a/neutron/tests/functional/scheduler/test_l3_agent_scheduler.py b/neutron/tests/functional/scheduler/test_l3_agent_scheduler.py index f206442206d..76369dfa62d 100644 --- a/neutron/tests/functional/scheduler/test_l3_agent_scheduler.py +++ b/neutron/tests/functional/scheduler/test_l3_agent_scheduler.py @@ -17,10 +17,10 @@ import collections import random from neutron_lib import constants +from neutron_lib import context from oslo_utils import uuidutils import testscenarios -from neutron import context from neutron.db.models import external_net as ext_net_models from neutron.scheduler import l3_agent_scheduler from neutron.services.l3_router import l3_router_plugin diff --git a/neutron/tests/functional/services/l3_router/test_l3_dvr_router_plugin.py b/neutron/tests/functional/services/l3_router/test_l3_dvr_router_plugin.py index df4d705509b..a5f761f4775 100644 --- a/neutron/tests/functional/services/l3_router/test_l3_dvr_router_plugin.py +++ b/neutron/tests/functional/services/l3_router/test_l3_dvr_router_plugin.py @@ -14,13 +14,13 @@ import mock from neutron_lib import constants +from neutron_lib import context from neutron.api.rpc.handlers import l3_rpc from neutron.callbacks import events from neutron.callbacks import registry from neutron.callbacks import resources from neutron.common import topics -from neutron import context from neutron.extensions import external_net from neutron.extensions import l3 from neutron.extensions import portbindings diff --git a/neutron/tests/retargetable/client_fixtures.py b/neutron/tests/retargetable/client_fixtures.py index 86be75334ff..f4c5a811bdf 100644 --- a/neutron/tests/retargetable/client_fixtures.py +++ b/neutron/tests/retargetable/client_fixtures.py @@ -18,11 +18,11 @@ Neutron API via different methods. import abc import fixtures +from neutron_lib import context from neutron_lib import exceptions as n_exc from neutron_lib.plugins import directory import six -from neutron import context from neutron import manager from neutron.tests import base from neutron.tests.unit import testlib_api diff --git a/neutron/tests/unit/_test_extension_portbindings.py b/neutron/tests/unit/_test_extension_portbindings.py index f56b005b6c5..22314ae5db6 100644 --- a/neutron/tests/unit/_test_extension_portbindings.py +++ b/neutron/tests/unit/_test_extension_portbindings.py @@ -13,12 +13,12 @@ # License for the specific language governing permissions and limitations # under the License. +from neutron_lib import context from neutron_lib.plugins import directory from oslo_config import cfg from six.moves import http_client as httplib from webob import exc -from neutron import context from neutron.extensions import portbindings from neutron.tests.unit.db import test_db_base_plugin_v2 diff --git a/neutron/tests/unit/agent/l2/extensions/test_qos.py b/neutron/tests/unit/agent/l2/extensions/test_qos.py index c226bf77e60..30bb643a365 100644 --- a/neutron/tests/unit/agent/l2/extensions/test_qos.py +++ b/neutron/tests/unit/agent/l2/extensions/test_qos.py @@ -14,6 +14,7 @@ # under the License. import mock +from neutron_lib import context from neutron_lib import exceptions from oslo_utils import uuidutils @@ -23,7 +24,6 @@ from neutron.api.rpc.callbacks.consumer import registry from neutron.api.rpc.callbacks import events from neutron.api.rpc.callbacks import resources from neutron.api.rpc.handlers import resources_rpc -from neutron import context from neutron.objects.qos import policy from neutron.objects.qos import rule from neutron.plugins.ml2.drivers.openvswitch.agent import ( diff --git a/neutron/tests/unit/agent/test_securitygroups_rpc.py b/neutron/tests/unit/agent/test_securitygroups_rpc.py index 50259e48943..67b0e7d3427 100644 --- a/neutron/tests/unit/agent/test_securitygroups_rpc.py +++ b/neutron/tests/unit/agent/test_securitygroups_rpc.py @@ -18,6 +18,7 @@ import contextlib import mock from neutron_lib import constants as const +from neutron_lib import context from neutron_lib.plugins import directory from oslo_config import cfg import oslo_messaging @@ -30,7 +31,6 @@ from neutron.agent.linux import iptables_manager from neutron.agent import securitygroups_rpc as sg_rpc from neutron.api.rpc.handlers import securitygroups_rpc from neutron.common import rpc as n_rpc -from neutron import context from neutron.db import securitygroups_rpc_base as sg_db_rpc from neutron.extensions import allowedaddresspairs as addr_pair from neutron.extensions import securitygroup as ext_sg diff --git a/neutron/tests/unit/api/rpc/handlers/test_l3_rpc.py b/neutron/tests/unit/api/rpc/handlers/test_l3_rpc.py index bbc54fe5a3f..f1b17d65a32 100644 --- a/neutron/tests/unit/api/rpc/handlers/test_l3_rpc.py +++ b/neutron/tests/unit/api/rpc/handlers/test_l3_rpc.py @@ -14,11 +14,11 @@ # limitations under the License. from neutron_lib import constants +from neutron_lib import context from neutron_lib.plugins import directory from oslo_config import cfg from neutron.api.rpc.handlers import l3_rpc -from neutron import context from neutron.tests.unit.db import test_db_base_plugin_v2 from neutron.tests.unit import testlib_api diff --git a/neutron/tests/unit/api/rpc/handlers/test_resources_rpc.py b/neutron/tests/unit/api/rpc/handlers/test_resources_rpc.py index 843ced2c948..6a5aad2d812 100644 --- a/neutron/tests/unit/api/rpc/handlers/test_resources_rpc.py +++ b/neutron/tests/unit/api/rpc/handlers/test_resources_rpc.py @@ -14,6 +14,7 @@ # limitations under the License. import mock +from neutron_lib import context from oslo_utils import uuidutils from oslo_versionedobjects import fields as obj_fields from oslo_versionedobjects import fixture @@ -23,7 +24,6 @@ from neutron.api.rpc.callbacks import resources from neutron.api.rpc.callbacks import version_manager from neutron.api.rpc.handlers import resources_rpc from neutron.common import topics -from neutron import context from neutron.objects import base as objects_base from neutron.objects import common_types from neutron.tests import base diff --git a/neutron/tests/unit/api/v2/test_attributes.py b/neutron/tests/unit/api/v2/test_attributes.py index d6223aff5cb..c63efeb87e3 100644 --- a/neutron/tests/unit/api/v2/test_attributes.py +++ b/neutron/tests/unit/api/v2/test_attributes.py @@ -15,12 +15,12 @@ from neutron_lib.api import converters from neutron_lib import constants +from neutron_lib import context from neutron_lib import exceptions as n_exc from oslo_utils import uuidutils import webob.exc from neutron.api.v2 import attributes -from neutron import context from neutron.tests import base diff --git a/neutron/tests/unit/api/v2/test_base.py b/neutron/tests/unit/api/v2/test_base.py index 2382066f1a7..d02622bd186 100644 --- a/neutron/tests/unit/api/v2/test_base.py +++ b/neutron/tests/unit/api/v2/test_base.py @@ -18,6 +18,7 @@ import os import mock from neutron_lib.api import converters from neutron_lib import constants +from neutron_lib import context from neutron_lib import exceptions as n_exc from neutron_lib.plugins import directory from oslo_config import cfg @@ -36,7 +37,6 @@ from neutron.api.v2 import attributes from neutron.api.v2 import base as v2_base from neutron.api.v2 import router from neutron.callbacks import registry -from neutron import context from neutron import policy from neutron import quota from neutron.quota import resource_registry diff --git a/neutron/tests/unit/api/v2/test_resource.py b/neutron/tests/unit/api/v2/test_resource.py index 24d25ce22ed..0d3c20af19a 100644 --- a/neutron/tests/unit/api/v2/test_resource.py +++ b/neutron/tests/unit/api/v2/test_resource.py @@ -14,6 +14,7 @@ # under the License. import mock +from neutron_lib import context from neutron_lib import exceptions as n_exc import oslo_i18n from webob import exc @@ -22,7 +23,6 @@ import webtest from neutron._i18n import _ from neutron.api.v2 import resource as wsgi_resource from neutron.common import utils -from neutron import context from neutron.tests import base from neutron import wsgi diff --git a/neutron/tests/unit/common/test_rpc.py b/neutron/tests/unit/common/test_rpc.py index 2a011e17f11..d09931a19c3 100644 --- a/neutron/tests/unit/common/test_rpc.py +++ b/neutron/tests/unit/common/test_rpc.py @@ -234,46 +234,41 @@ class TestRequestContextSerializer(base.DietTestCase): context.to_dict.assert_called_once_with() - @mock.patch('neutron.policy.check_is_advsvc', return_val=False) - @mock.patch('neutron.policy.check_is_admin', return_val=False) - def test_deserialize_context(self, m, n): + def test_deserialize_context(self): context_dict = {'foo': 'bar', 'user_id': 1, - 'tenant_id': 1} + 'tenant_id': 1, + 'is_admin': True} c = self.ser.deserialize_context(context_dict) self.assertEqual(1, c.user_id) self.assertEqual(1, c.project_id) - @mock.patch('neutron.policy.check_is_advsvc', return_val=False) - @mock.patch('neutron.policy.check_is_admin', return_val=False) - def test_deserialize_context_no_user_id(self, m, n): + def test_deserialize_context_no_user_id(self): context_dict = {'foo': 'bar', 'user': 1, - 'tenant_id': 1} + 'tenant_id': 1, + 'is_admin': True} c = self.ser.deserialize_context(context_dict) self.assertEqual(1, c.user_id) self.assertEqual(1, c.project_id) - @mock.patch('neutron.policy.check_is_advsvc', return_val=False) - @mock.patch('neutron.policy.check_is_admin', return_val=False) - def test_deserialize_context_no_tenant_id(self, m, n): + def test_deserialize_context_no_tenant_id(self): context_dict = {'foo': 'bar', 'user_id': 1, - 'project_id': 1} + 'project_id': 1, + 'is_admin': True} c = self.ser.deserialize_context(context_dict) self.assertEqual(1, c.user_id) self.assertEqual(1, c.project_id) - @mock.patch('neutron.policy.check_is_advsvc', return_val=False) - @mock.patch('neutron.policy.check_is_admin', return_val=False) - def test_deserialize_context_no_ids(self, m, n): - context_dict = {'foo': 'bar'} + def test_deserialize_context_no_ids(self): + context_dict = {'foo': 'bar', 'is_admin': True} c = self.ser.deserialize_context(context_dict) diff --git a/neutron/tests/unit/core_extensions/test_qos.py b/neutron/tests/unit/core_extensions/test_qos.py index 00ebd8bec5b..a550e8fdf56 100644 --- a/neutron/tests/unit/core_extensions/test_qos.py +++ b/neutron/tests/unit/core_extensions/test_qos.py @@ -14,9 +14,9 @@ # under the License. import mock +from neutron_lib import context from neutron.common import exceptions as n_exc -from neutron import context from neutron.core_extensions import base as base_core from neutron.core_extensions import qos as qos_core from neutron.plugins.common import constants as plugin_constants diff --git a/neutron/tests/unit/db/metering/test_metering_db.py b/neutron/tests/unit/db/metering/test_metering_db.py index 5c69e7391e6..2d3193a494b 100644 --- a/neutron/tests/unit/db/metering/test_metering_db.py +++ b/neutron/tests/unit/db/metering/test_metering_db.py @@ -15,13 +15,13 @@ import contextlib from neutron_lib import constants as n_consts +from neutron_lib import context from neutron_lib.db import constants as db_const from oslo_utils import uuidutils import webob.exc from neutron.api import extensions from neutron.common import config -from neutron import context import neutron.extensions from neutron.extensions import metering from neutron.plugins.common import constants diff --git a/neutron/tests/unit/db/quota/test_api.py b/neutron/tests/unit/db/quota/test_api.py index 15647f91613..839a9468742 100644 --- a/neutron/tests/unit/db/quota/test_api.py +++ b/neutron/tests/unit/db/quota/test_api.py @@ -15,8 +15,8 @@ import datetime import mock +from neutron_lib import context -from neutron import context from neutron.db.quota import api as quota_api from neutron.tests.unit import testlib_api diff --git a/neutron/tests/unit/db/quota/test_driver.py b/neutron/tests/unit/db/quota/test_driver.py index 6f4041d4b36..6156ed308cb 100644 --- a/neutron/tests/unit/db/quota/test_driver.py +++ b/neutron/tests/unit/db/quota/test_driver.py @@ -13,10 +13,10 @@ # See the License for the specific language governing permissions and # limitations under the License. +from neutron_lib import context from neutron_lib import exceptions as lib_exc from neutron.common import exceptions -from neutron import context from neutron.db import db_base_plugin_v2 as base_plugin from neutron.db.quota import driver from neutron.tests.unit import testlib_api diff --git a/neutron/tests/unit/db/test_agents_db.py b/neutron/tests/unit/db/test_agents_db.py index a6d9d4fc2de..19245ad7b04 100644 --- a/neutron/tests/unit/db/test_agents_db.py +++ b/neutron/tests/unit/db/test_agents_db.py @@ -19,13 +19,13 @@ import datetime import mock from neutron_lib import constants +from neutron_lib import context from neutron_lib import exceptions as n_exc from oslo_config import cfg from oslo_db import exception as exc from oslo_utils import timeutils import testscenarios -from neutron import context from neutron.db import agents_db from neutron.db import db_base_plugin_v2 as base_plugin from neutron.db.models import agent as agent_model diff --git a/neutron/tests/unit/db/test_agentschedulers_db.py b/neutron/tests/unit/db/test_agentschedulers_db.py index f09ee2eb116..6780a11929f 100644 --- a/neutron/tests/unit/db/test_agentschedulers_db.py +++ b/neutron/tests/unit/db/test_agentschedulers_db.py @@ -17,6 +17,7 @@ import datetime import mock from neutron_lib import constants +from neutron_lib import context from neutron_lib.plugins import directory from oslo_config import cfg from oslo_db import exception as db_exc @@ -30,7 +31,6 @@ from neutron.api.rpc.handlers import dhcp_rpc from neutron.api.rpc.handlers import l3_rpc from neutron.api.v2 import attributes from neutron.common import constants as n_const -from neutron import context from neutron.db import agents_db from neutron.db import agentschedulers_db from neutron.db.models import agent as agent_model @@ -706,7 +706,7 @@ class OvsAgentSchedulerTestCase(OvsAgentSchedulerTestCaseBase): self._take_down_agent_and_run_reschedule(L3_HOSTA) # Exception def test_router_rescheduler_catches_exceptions_on_fetching_bindings(self): - with mock.patch('neutron.context.get_admin_context') as get_ctx: + with mock.patch('neutron_lib.context.get_admin_context') as get_ctx: mock_ctx = mock.Mock() get_ctx.return_value = mock_ctx mock_ctx.session.query.side_effect = db_exc.DBError() diff --git a/neutron/tests/unit/db/test_common_db_mixin.py b/neutron/tests/unit/db/test_common_db_mixin.py index b35fc9754ba..fc50c0f1339 100644 --- a/neutron/tests/unit/db/test_common_db_mixin.py +++ b/neutron/tests/unit/db/test_common_db_mixin.py @@ -14,8 +14,8 @@ # under the License. import mock +from neutron_lib import context -from neutron import context from neutron.db import _utils as db_utils from neutron.tests.unit import testlib_api diff --git a/neutron/tests/unit/db/test_db_base_plugin_v2.py b/neutron/tests/unit/db/test_db_base_plugin_v2.py index 255b0246f7c..467b91183fa 100644 --- a/neutron/tests/unit/db/test_db_base_plugin_v2.py +++ b/neutron/tests/unit/db/test_db_base_plugin_v2.py @@ -22,6 +22,7 @@ import eventlet import mock import netaddr from neutron_lib import constants +from neutron_lib import context from neutron_lib import exceptions as lib_exc from neutron_lib.plugins import directory from neutron_lib.utils import helpers @@ -47,7 +48,6 @@ from neutron.common import exceptions as n_exc from neutron.common import ipv6_utils from neutron.common import test_lib from neutron.common import utils -from neutron import context from neutron.db import api as db_api from neutron.db import db_base_plugin_common from neutron.db import ipam_backend_mixin diff --git a/neutron/tests/unit/db/test_dvr_mac_db.py b/neutron/tests/unit/db/test_dvr_mac_db.py index 86a37404cb8..4b4532f0cf9 100644 --- a/neutron/tests/unit/db/test_dvr_mac_db.py +++ b/neutron/tests/unit/db/test_dvr_mac_db.py @@ -15,12 +15,12 @@ import mock from neutron_lib import constants +from neutron_lib import context from neutron_lib.plugins import directory from neutron.callbacks import events from neutron.callbacks import registry from neutron.callbacks import resources -from neutron import context from neutron.db import api as db_api from neutron.db import dvr_mac_db from neutron.db.models import dvr as dvr_models diff --git a/neutron/tests/unit/db/test_extraroute_db.py b/neutron/tests/unit/db/test_extraroute_db.py index 62570a6bc6f..fff5cc8e8a7 100644 --- a/neutron/tests/unit/db/test_extraroute_db.py +++ b/neutron/tests/unit/db/test_extraroute_db.py @@ -14,8 +14,8 @@ # under the License. import mock +from neutron_lib import context -from neutron import context from neutron.db import common_db_mixin from neutron.db import extraroute_db from neutron.tests.unit import testlib_api diff --git a/neutron/tests/unit/db/test_l3_dvr_db.py b/neutron/tests/unit/db/test_l3_dvr_db.py index f7e21cd1e41..7ba7fba3b3b 100644 --- a/neutron/tests/unit/db/test_l3_dvr_db.py +++ b/neutron/tests/unit/db/test_l3_dvr_db.py @@ -15,6 +15,7 @@ import mock from neutron_lib import constants as const +from neutron_lib import context from neutron_lib import exceptions from neutron_lib.plugins import directory from oslo_utils import uuidutils @@ -23,7 +24,6 @@ from neutron.callbacks import events from neutron.callbacks import registry from neutron.callbacks import resources from neutron.common import constants as n_const -from neutron import context from neutron.db import agents_db from neutron.db import common_db_mixin from neutron.db import l3_agentschedulers_db diff --git a/neutron/tests/unit/db/test_l3_hamode_db.py b/neutron/tests/unit/db/test_l3_hamode_db.py index 09266e67c74..94254c8802a 100644 --- a/neutron/tests/unit/db/test_l3_hamode_db.py +++ b/neutron/tests/unit/db/test_l3_hamode_db.py @@ -14,6 +14,7 @@ import mock from neutron_lib import constants +from neutron_lib import context from neutron_lib import exceptions as n_exc from neutron_lib.plugins import directory from oslo_config import cfg @@ -30,7 +31,6 @@ from neutron.callbacks import exceptions as c_exc from neutron.callbacks import registry from neutron.callbacks import resources from neutron.common import constants as n_const -from neutron import context from neutron.db import agents_db from neutron.db import common_db_mixin from neutron.db import l3_agentschedulers_db diff --git a/neutron/tests/unit/db/test_provisioning_blocks.py b/neutron/tests/unit/db/test_provisioning_blocks.py index c0fee0062aa..b1202431240 100644 --- a/neutron/tests/unit/db/test_provisioning_blocks.py +++ b/neutron/tests/unit/db/test_provisioning_blocks.py @@ -13,11 +13,11 @@ # under the License. import mock +from neutron_lib import context as n_ctx import testtools from neutron.callbacks import registry from neutron.callbacks import resources -from neutron import context as n_ctx from neutron.db import models_v2 from neutron.db import provisioning_blocks as pb from neutron.tests.unit import testlib_api diff --git a/neutron/tests/unit/db/test_securitygroups_db.py b/neutron/tests/unit/db/test_securitygroups_db.py index 7d0637ef96c..548a0ad2d15 100644 --- a/neutron/tests/unit/db/test_securitygroups_db.py +++ b/neutron/tests/unit/db/test_securitygroups_db.py @@ -13,6 +13,7 @@ import mock from neutron_lib import constants +from neutron_lib import context import sqlalchemy import testtools @@ -20,7 +21,6 @@ from neutron.callbacks import events from neutron.callbacks import exceptions from neutron.callbacks import registry from neutron.callbacks import resources -from neutron import context from neutron.db import common_db_mixin from neutron.db import securitygroups_db from neutron.extensions import securitygroup diff --git a/neutron/tests/unit/db/test_sqlalchemytypes.py b/neutron/tests/unit/db/test_sqlalchemytypes.py index f22deec6afe..c2ef7f49c27 100644 --- a/neutron/tests/unit/db/test_sqlalchemytypes.py +++ b/neutron/tests/unit/db/test_sqlalchemytypes.py @@ -13,6 +13,7 @@ import abc import netaddr +from neutron_lib import context from oslo_db import exception from oslo_db.tests.sqlalchemy import base as test_base from oslo_utils import timeutils @@ -20,7 +21,6 @@ from oslo_utils import uuidutils import six import sqlalchemy as sa -from neutron import context from neutron.db import sqlalchemytypes from neutron.tests import tools diff --git a/neutron/tests/unit/db/test_standard_attr.py b/neutron/tests/unit/db/test_standard_attr.py index 58378bb51f2..dc71be234f5 100644 --- a/neutron/tests/unit/db/test_standard_attr.py +++ b/neutron/tests/unit/db/test_standard_attr.py @@ -14,10 +14,10 @@ import gc +from neutron_lib import context from sqlalchemy.ext import declarative import testtools -from neutron import context from neutron.db import standard_attr from neutron.tests import base from neutron.tests.unit import testlib_api diff --git a/neutron/tests/unit/extensions/test_address_scope.py b/neutron/tests/unit/extensions/test_address_scope.py index dbee1ab021f..ceba993da02 100644 --- a/neutron/tests/unit/extensions/test_address_scope.py +++ b/neutron/tests/unit/extensions/test_address_scope.py @@ -17,13 +17,13 @@ import contextlib import mock import netaddr from neutron_lib import constants +from neutron_lib import context import webob.exc from neutron.api.v2 import attributes as attr from neutron.callbacks import events from neutron.callbacks import registry from neutron.callbacks import resources -from neutron import context from neutron.db import address_scope_db from neutron.db import db_base_plugin_v2 from neutron.extensions import address_scope as ext_address_scope diff --git a/neutron/tests/unit/extensions/test_agent.py b/neutron/tests/unit/extensions/test_agent.py index 5fc814a9c00..32cb98445cb 100644 --- a/neutron/tests/unit/extensions/test_agent.py +++ b/neutron/tests/unit/extensions/test_agent.py @@ -18,12 +18,12 @@ from datetime import datetime import time from neutron_lib import constants +from neutron_lib import context from oslo_config import cfg from oslo_utils import uuidutils from webob import exc from neutron.api.v2 import attributes -from neutron import context from neutron.db import agents_db from neutron.db import db_base_plugin_v2 from neutron.extensions import agent diff --git a/neutron/tests/unit/extensions/test_availability_zone.py b/neutron/tests/unit/extensions/test_availability_zone.py index 918bf439c42..a78fef652ce 100644 --- a/neutron/tests/unit/extensions/test_availability_zone.py +++ b/neutron/tests/unit/extensions/test_availability_zone.py @@ -11,7 +11,8 @@ # License for the specific language governing permissions and limitations # under the License. -from neutron import context +from neutron_lib import context + from neutron.db import agents_db from neutron.db import db_base_plugin_v2 from neutron.extensions import agent diff --git a/neutron/tests/unit/extensions/test_dns.py b/neutron/tests/unit/extensions/test_dns.py index 084a40b205e..53cddebdccc 100644 --- a/neutron/tests/unit/extensions/test_dns.py +++ b/neutron/tests/unit/extensions/test_dns.py @@ -16,11 +16,11 @@ import math import netaddr from neutron_lib import constants +from neutron_lib import context from neutron_lib.plugins import directory from oslo_config import cfg from neutron.common import utils -from neutron import context from neutron.db import db_base_plugin_v2 from neutron.extensions import dns from neutron.plugins.ml2 import config diff --git a/neutron/tests/unit/extensions/test_external_net.py b/neutron/tests/unit/extensions/test_external_net.py index 43c80553326..148f6edde18 100644 --- a/neutron/tests/unit/extensions/test_external_net.py +++ b/neutron/tests/unit/extensions/test_external_net.py @@ -15,12 +15,12 @@ import mock from neutron_lib import constants +from neutron_lib import context from neutron_lib.plugins import directory from oslo_utils import uuidutils import testtools from webob import exc -from neutron import context from neutron.db import models_v2 from neutron.extensions import external_net as external_net from neutron.tests.unit.api.v2 import test_base diff --git a/neutron/tests/unit/extensions/test_extraroute.py b/neutron/tests/unit/extensions/test_extraroute.py index 448c8537c38..33f580daa4b 100644 --- a/neutron/tests/unit/extensions/test_extraroute.py +++ b/neutron/tests/unit/extensions/test_extraroute.py @@ -14,12 +14,12 @@ # under the License. from neutron_lib import constants +from neutron_lib import context from neutron_lib.utils import helpers from oslo_config import cfg from oslo_utils import uuidutils from webob import exc -from neutron import context from neutron.db import extraroute_db from neutron.extensions import extraroute from neutron.extensions import l3 diff --git a/neutron/tests/unit/extensions/test_flavors.py b/neutron/tests/unit/extensions/test_flavors.py index 163e725ddf3..5498ccbcea9 100644 --- a/neutron/tests/unit/extensions/test_flavors.py +++ b/neutron/tests/unit/extensions/test_flavors.py @@ -17,12 +17,12 @@ import copy import fixtures import mock +from neutron_lib import context from neutron_lib.db import constants as db_const from oslo_config import cfg from oslo_utils import uuidutils from webob import exc -from neutron import context from neutron.db import api as dbapi from neutron.db.models import l3 as l3_models from neutron.db import servicetype_db diff --git a/neutron/tests/unit/extensions/test_l3.py b/neutron/tests/unit/extensions/test_l3.py index e16fe4a026c..be328c07466 100644 --- a/neutron/tests/unit/extensions/test_l3.py +++ b/neutron/tests/unit/extensions/test_l3.py @@ -20,6 +20,7 @@ import copy import mock import netaddr from neutron_lib import constants as lib_constants +from neutron_lib import context from neutron_lib import exceptions as n_exc from neutron_lib.plugins import directory from oslo_config import cfg @@ -36,7 +37,6 @@ from neutron.callbacks import events from neutron.callbacks import exceptions from neutron.callbacks import registry from neutron.callbacks import resources -from neutron import context from neutron.db import common_db_mixin from neutron.db import db_base_plugin_v2 from neutron.db import dns_db diff --git a/neutron/tests/unit/extensions/test_l3_ext_gw_mode.py b/neutron/tests/unit/extensions/test_l3_ext_gw_mode.py index 303db1f888f..f1ea8d5674b 100644 --- a/neutron/tests/unit/extensions/test_l3_ext_gw_mode.py +++ b/neutron/tests/unit/extensions/test_l3_ext_gw_mode.py @@ -17,6 +17,7 @@ import mock import netaddr from neutron_lib import constants +from neutron_lib import context as nctx from neutron_lib.plugins import directory from oslo_config import cfg from oslo_db import exception as db_exc @@ -26,7 +27,6 @@ import testscenarios from webob import exc from neutron.common import utils -from neutron import context as nctx from neutron.db import api as db_api from neutron.db import l3_db from neutron.db import l3_gwmode_db @@ -121,7 +121,7 @@ class TestL3GwModeMixin(testlib_api.SqlTestCase): self.setup_coreplugin(plugin) self.target_object = TestDbIntPlugin() # Patch the context - ctx_patcher = mock.patch('neutron.context', autospec=True) + ctx_patcher = mock.patch('neutron_lib.context', autospec=True) mock_context = ctx_patcher.start() self.context = mock_context.get_admin_context() # This ensure also calls to elevated work in unit tests diff --git a/neutron/tests/unit/extensions/test_portsecurity.py b/neutron/tests/unit/extensions/test_portsecurity.py index 9ccb3a2370a..7b4080bac5c 100644 --- a/neutron/tests/unit/extensions/test_portsecurity.py +++ b/neutron/tests/unit/extensions/test_portsecurity.py @@ -14,10 +14,10 @@ # limitations under the License. from neutron_lib.api import validators +from neutron_lib import context from neutron_lib.plugins import directory from webob import exc -from neutron import context from neutron.db import _utils as db_utils from neutron.db import db_base_plugin_v2 from neutron.db import portsecurity_db diff --git a/neutron/tests/unit/extensions/test_providernet.py b/neutron/tests/unit/extensions/test_providernet.py index c94da7b9d24..1018990aad3 100644 --- a/neutron/tests/unit/extensions/test_providernet.py +++ b/neutron/tests/unit/extensions/test_providernet.py @@ -15,6 +15,7 @@ import mock from neutron_lib import constants +from neutron_lib import context from neutron_lib.plugins import directory from oslo_config import cfg from oslo_utils import uuidutils @@ -23,7 +24,6 @@ import webtest from neutron.api import extensions from neutron.api.v2 import router -from neutron import context from neutron.extensions import providernet as pnet from neutron import quota from neutron.tests import tools diff --git a/neutron/tests/unit/extensions/test_quotasv2.py b/neutron/tests/unit/extensions/test_quotasv2.py index ec8db310576..19e7827c3f5 100644 --- a/neutron/tests/unit/extensions/test_quotasv2.py +++ b/neutron/tests/unit/extensions/test_quotasv2.py @@ -16,6 +16,7 @@ import sys import mock +from neutron_lib import context from oslo_config import cfg import testtools from webob import exc @@ -26,7 +27,6 @@ from neutron.api.v2 import router from neutron.common import config from neutron.common import constants from neutron.common import exceptions -from neutron import context from neutron.db.quota import driver from neutron import quota from neutron.quota import resource_registry diff --git a/neutron/tests/unit/extensions/test_securitygroup.py b/neutron/tests/unit/extensions/test_securitygroup.py index ed1c255239e..17edb8d8cc1 100644 --- a/neutron/tests/unit/extensions/test_securitygroup.py +++ b/neutron/tests/unit/extensions/test_securitygroup.py @@ -18,6 +18,7 @@ import contextlib import mock from neutron_lib.api import validators from neutron_lib import constants as const +from neutron_lib import context from neutron_lib.plugins import directory from oslo_config import cfg import oslo_db.exception as exc @@ -27,7 +28,6 @@ import webob.exc from neutron.api.v2 import attributes as attr from neutron.common import exceptions as n_exc -from neutron import context from neutron.db import db_base_plugin_v2 from neutron.db import securitygroups_db from neutron.extensions import securitygroup as ext_sg diff --git a/neutron/tests/unit/extensions/test_segment.py b/neutron/tests/unit/extensions/test_segment.py index be04b901513..ee287927fa3 100644 --- a/neutron/tests/unit/extensions/test_segment.py +++ b/neutron/tests/unit/extensions/test_segment.py @@ -18,6 +18,7 @@ from keystoneauth1 import exceptions as ks_exc import mock import netaddr from neutron_lib import constants +from neutron_lib import context from neutron_lib import exceptions as n_exc from neutron_lib.plugins import directory from novaclient import exceptions as nova_exc @@ -32,7 +33,6 @@ from neutron.callbacks import registry from neutron.callbacks import resources from neutron.common import exceptions as neutron_exc from neutron.conf.plugins.ml2.drivers import driver_type -from neutron import context from neutron.db import agents_db from neutron.db import agentschedulers_db from neutron.db import db_base_plugin_v2 diff --git a/neutron/tests/unit/extensions/test_servicetype.py b/neutron/tests/unit/extensions/test_servicetype.py index 435270610cc..a5b31005aae 100644 --- a/neutron/tests/unit/extensions/test_servicetype.py +++ b/neutron/tests/unit/extensions/test_servicetype.py @@ -14,6 +14,7 @@ # under the License. import mock +from neutron_lib import context from neutron_lib import exceptions as n_exc from oslo_config import cfg from oslo_utils import uuidutils @@ -21,7 +22,6 @@ import webob.exc as webexc import webtest from neutron.api import extensions -from neutron import context from neutron.db.models import servicetype as st_model from neutron.db import servicetype_db as st_db from neutron.extensions import servicetype diff --git a/neutron/tests/unit/extensions/test_timestamp.py b/neutron/tests/unit/extensions/test_timestamp.py index 9989034ced9..6aed29d8dd9 100644 --- a/neutron/tests/unit/extensions/test_timestamp.py +++ b/neutron/tests/unit/extensions/test_timestamp.py @@ -16,10 +16,10 @@ import datetime import six import mock +from neutron_lib import context from neutron_lib.plugins import directory from oslo_utils import timeutils -from neutron import context from neutron.db import db_base_plugin_v2 from neutron.db.models import tag as tag_model from neutron.db import models_v2 diff --git a/neutron/tests/unit/ipam/drivers/neutrondb_ipam/test_db_api.py b/neutron/tests/unit/ipam/drivers/neutrondb_ipam/test_db_api.py index 329f601be4c..9f5f284af13 100644 --- a/neutron/tests/unit/ipam/drivers/neutrondb_ipam/test_db_api.py +++ b/neutron/tests/unit/ipam/drivers/neutrondb_ipam/test_db_api.py @@ -13,9 +13,9 @@ # License for the specific language governing permissions and limitations # under the License. +from neutron_lib import context from oslo_utils import uuidutils -from neutron import context from neutron.ipam.drivers.neutrondb_ipam import db_api from neutron.objects import ipam as ipam_obj from neutron.tests.unit import testlib_api diff --git a/neutron/tests/unit/ipam/drivers/neutrondb_ipam/test_driver.py b/neutron/tests/unit/ipam/drivers/neutrondb_ipam/test_driver.py index a0a882de674..a607c9e5846 100644 --- a/neutron/tests/unit/ipam/drivers/neutrondb_ipam/test_driver.py +++ b/neutron/tests/unit/ipam/drivers/neutrondb_ipam/test_driver.py @@ -16,12 +16,12 @@ import mock import netaddr from neutron_lib import constants +from neutron_lib import context from neutron_lib import exceptions as n_exc from neutron_lib.plugins import directory from oslo_utils import uuidutils from neutron.common import constants as n_const -from neutron import context from neutron.ipam.drivers.neutrondb_ipam import driver from neutron.ipam import exceptions as ipam_exc from neutron.ipam import requests as ipam_req diff --git a/neutron/tests/unit/ipam/test_requests.py b/neutron/tests/unit/ipam/test_requests.py index 59a45a2771b..e283bb8179d 100644 --- a/neutron/tests/unit/ipam/test_requests.py +++ b/neutron/tests/unit/ipam/test_requests.py @@ -13,11 +13,11 @@ import mock import netaddr from neutron_lib import constants +from neutron_lib import context from oslo_config import cfg from oslo_utils import netutils from oslo_utils import uuidutils -from neutron import context from neutron.ipam import driver from neutron.ipam import exceptions as ipam_exc from neutron.ipam import requests as ipam_req diff --git a/neutron/tests/unit/ipam/test_subnet_alloc.py b/neutron/tests/unit/ipam/test_subnet_alloc.py index 4a666bdbd9f..eaf51229203 100644 --- a/neutron/tests/unit/ipam/test_subnet_alloc.py +++ b/neutron/tests/unit/ipam/test_subnet_alloc.py @@ -16,13 +16,13 @@ import mock import netaddr from neutron_lib import constants +from neutron_lib import context from neutron_lib.plugins import directory from oslo_config import cfg from oslo_db import exception as db_exc from oslo_utils import uuidutils from neutron.common import exceptions as n_exc -from neutron import context from neutron.ipam import requests as ipam_req from neutron.ipam import subnet_alloc from neutron.tests.unit.db import test_db_base_plugin_v2 diff --git a/neutron/tests/unit/objects/db/test_api.py b/neutron/tests/unit/objects/db/test_api.py index dd0326590d5..447199225fc 100644 --- a/neutron/tests/unit/objects/db/test_api.py +++ b/neutron/tests/unit/objects/db/test_api.py @@ -11,10 +11,10 @@ # under the License. import mock +from neutron_lib import context from neutron_lib import exceptions as n_exc from neutron_lib.plugins import directory -from neutron import context from neutron.db import models_v2 from neutron.objects import base from neutron.objects.db import api diff --git a/neutron/tests/unit/objects/port/extensions/test_allowedaddresspairs.py b/neutron/tests/unit/objects/port/extensions/test_allowedaddresspairs.py index d62f6f423a0..6323db17678 100644 --- a/neutron/tests/unit/objects/port/extensions/test_allowedaddresspairs.py +++ b/neutron/tests/unit/objects/port/extensions/test_allowedaddresspairs.py @@ -10,7 +10,8 @@ # License for the specific language governing permissions and limitations # under the License. -from neutron import context +from neutron_lib import context + from neutron.objects.port.extensions import allowedaddresspairs from neutron.tests.unit.objects import test_base as obj_test_base from neutron.tests.unit import testlib_api diff --git a/neutron/tests/unit/objects/test_base.py b/neutron/tests/unit/objects/test_base.py index 3c30a1d6fa5..f26f0fad13f 100644 --- a/neutron/tests/unit/objects/test_base.py +++ b/neutron/tests/unit/objects/test_base.py @@ -18,6 +18,7 @@ import random import mock import netaddr +from neutron_lib import context from neutron_lib import exceptions as n_exc from neutron_lib.utils import helpers from oslo_db import exception as obj_exc @@ -30,7 +31,6 @@ import testtools from neutron.common import constants from neutron.common import utils -from neutron import context from neutron.db import db_base_plugin_v2 from neutron.db.models import external_net as ext_net_model from neutron.db.models import l3 as l3_model diff --git a/neutron/tests/unit/objects/test_rbac_db.py b/neutron/tests/unit/objects/test_rbac_db.py index ebd4bb292df..920f5b0694a 100644 --- a/neutron/tests/unit/objects/test_rbac_db.py +++ b/neutron/tests/unit/objects/test_rbac_db.py @@ -12,6 +12,7 @@ import mock +from neutron_lib import context as n_context from neutron_lib.db import model_base from neutron_lib import exceptions as n_exc from oslo_versionedobjects import base as obj_base @@ -19,7 +20,6 @@ from oslo_versionedobjects import fields as obj_fields import sqlalchemy as sa from neutron.callbacks import events -from neutron import context as n_context from neutron.db import rbac_db_models from neutron.extensions import rbac as ext_rbac from neutron.objects import common_types diff --git a/neutron/tests/unit/objects/test_subnet.py b/neutron/tests/unit/objects/test_subnet.py index d37c35ffb6a..cc119df8fb3 100644 --- a/neutron/tests/unit/objects/test_subnet.py +++ b/neutron/tests/unit/objects/test_subnet.py @@ -10,9 +10,9 @@ # License for the specific language governing permissions and limitations # under the License. +from neutron_lib import context from oslo_utils import uuidutils -from neutron import context from neutron.db import rbac_db_models from neutron.objects import base as obj_base from neutron.objects.db import api as obj_db_api diff --git a/neutron/tests/unit/plugins/ml2/drivers/base_type_tunnel.py b/neutron/tests/unit/plugins/ml2/drivers/base_type_tunnel.py index 80a33fb176c..ef9aa4588b9 100644 --- a/neutron/tests/unit/plugins/ml2/drivers/base_type_tunnel.py +++ b/neutron/tests/unit/plugins/ml2/drivers/base_type_tunnel.py @@ -14,12 +14,12 @@ # limitations under the License. import mock +from neutron_lib import context from neutron_lib import exceptions as exc from six import moves import testtools from testtools import matchers -from neutron import context from neutron.plugins.common import constants as p_const from neutron.plugins.ml2 import config from neutron.plugins.ml2 import driver_api as api diff --git a/neutron/tests/unit/plugins/ml2/drivers/l2pop/test_db.py b/neutron/tests/unit/plugins/ml2/drivers/l2pop/test_db.py index c2e163a8d79..48e5f92d81a 100644 --- a/neutron/tests/unit/plugins/ml2/drivers/l2pop/test_db.py +++ b/neutron/tests/unit/plugins/ml2/drivers/l2pop/test_db.py @@ -13,11 +13,11 @@ # under the License. from neutron_lib import constants +from neutron_lib import context from oslo_utils import uuidutils from neutron.common import constants as n_const from neutron.common import utils -from neutron import context from neutron.db.models import l3 as l3_models from neutron.db.models import l3_attrs from neutron.db.models import l3ha as l3ha_model diff --git a/neutron/tests/unit/plugins/ml2/drivers/l2pop/test_mech_driver.py b/neutron/tests/unit/plugins/ml2/drivers/l2pop/test_mech_driver.py index e52c043e7a9..ab5292ffede 100644 --- a/neutron/tests/unit/plugins/ml2/drivers/l2pop/test_mech_driver.py +++ b/neutron/tests/unit/plugins/ml2/drivers/l2pop/test_mech_driver.py @@ -15,6 +15,7 @@ import mock from neutron_lib import constants +from neutron_lib import context from neutron_lib import exceptions from neutron_lib.plugins import directory from oslo_serialization import jsonutils @@ -23,7 +24,6 @@ import testtools from neutron.api.v2 import attributes from neutron.common import constants as n_const from neutron.common import topics -from neutron import context from neutron.db import agents_db from neutron.db import common_db_mixin from neutron.db import l3_agentschedulers_db diff --git a/neutron/tests/unit/plugins/ml2/drivers/mech_sriov/agent/extension_drivers/test_qos_driver.py b/neutron/tests/unit/plugins/ml2/drivers/mech_sriov/agent/extension_drivers/test_qos_driver.py index 1a3d8ed0f90..01a64c55649 100644 --- a/neutron/tests/unit/plugins/ml2/drivers/mech_sriov/agent/extension_drivers/test_qos_driver.py +++ b/neutron/tests/unit/plugins/ml2/drivers/mech_sriov/agent/extension_drivers/test_qos_driver.py @@ -14,10 +14,10 @@ # limitations under the License. import mock +from neutron_lib import context from oslo_utils import uuidutils from neutron.common import constants -from neutron import context from neutron.objects.qos import policy from neutron.objects.qos import rule from neutron.plugins.ml2.drivers.mech_sriov.agent.common import exceptions diff --git a/neutron/tests/unit/plugins/ml2/drivers/openvswitch/agent/extension_drivers/test_qos_driver.py b/neutron/tests/unit/plugins/ml2/drivers/openvswitch/agent/extension_drivers/test_qos_driver.py index 9bbeca299b9..dd294a92f0a 100644 --- a/neutron/tests/unit/plugins/ml2/drivers/openvswitch/agent/extension_drivers/test_qos_driver.py +++ b/neutron/tests/unit/plugins/ml2/drivers/openvswitch/agent/extension_drivers/test_qos_driver.py @@ -13,9 +13,9 @@ import copy import mock +from neutron_lib import context from oslo_utils import uuidutils -from neutron import context from neutron.objects.qos import policy from neutron.objects.qos import rule from neutron.plugins.ml2.drivers.openvswitch.agent import ( diff --git a/neutron/tests/unit/plugins/ml2/drivers/test_helpers.py b/neutron/tests/unit/plugins/ml2/drivers/test_helpers.py index 68485f0f558..8b9cddd1d7b 100644 --- a/neutron/tests/unit/plugins/ml2/drivers/test_helpers.py +++ b/neutron/tests/unit/plugins/ml2/drivers/test_helpers.py @@ -14,10 +14,10 @@ # under the License. import mock +from neutron_lib import context from oslo_db import exception as exc from sqlalchemy.orm import query -from neutron import context from neutron.plugins.ml2.drivers import type_vlan from neutron.tests.unit import testlib_api diff --git a/neutron/tests/unit/plugins/ml2/drivers/test_type_flat.py b/neutron/tests/unit/plugins/ml2/drivers/test_type_flat.py index 5d2d0555310..0c55cf55df2 100644 --- a/neutron/tests/unit/plugins/ml2/drivers/test_type_flat.py +++ b/neutron/tests/unit/plugins/ml2/drivers/test_type_flat.py @@ -13,10 +13,10 @@ # License for the specific language governing permissions and limitations # under the License. +from neutron_lib import context from neutron_lib import exceptions as exc from neutron.common import exceptions as n_exc -from neutron import context from neutron.objects.plugins.ml2 import flatallocation as flat_obj from neutron.plugins.common import constants as p_const from neutron.plugins.ml2 import config diff --git a/neutron/tests/unit/plugins/ml2/drivers/test_type_vlan.py b/neutron/tests/unit/plugins/ml2/drivers/test_type_vlan.py index 3ab5d3adeae..a6a9189e148 100644 --- a/neutron/tests/unit/plugins/ml2/drivers/test_type_vlan.py +++ b/neutron/tests/unit/plugins/ml2/drivers/test_type_vlan.py @@ -14,10 +14,10 @@ # under the License. import mock +from neutron_lib import context from neutron_lib import exceptions as exc from testtools import matchers -from neutron import context from neutron.db.models.plugins.ml2 import vlanallocation as vlan_alloc_model from neutron.plugins.common import constants as p_const from neutron.plugins.common import utils as plugin_utils diff --git a/neutron/tests/unit/plugins/ml2/extensions/test_dns_integration.py b/neutron/tests/unit/plugins/ml2/extensions/test_dns_integration.py index a47a2afd402..66a05dc6171 100644 --- a/neutron/tests/unit/plugins/ml2/extensions/test_dns_integration.py +++ b/neutron/tests/unit/plugins/ml2/extensions/test_dns_integration.py @@ -20,10 +20,10 @@ from keystoneauth1 import session import mock import netaddr from neutron_lib import constants +from neutron_lib import context from neutron_lib.plugins import directory import testtools -from neutron import context from neutron.extensions import dns from neutron.extensions import providernet as pnet from neutron.objects import ports as port_obj diff --git a/neutron/tests/unit/plugins/ml2/test_db.py b/neutron/tests/unit/plugins/ml2/test_db.py index 9ee5aa3fed6..f5dc1d0ed8e 100644 --- a/neutron/tests/unit/plugins/ml2/test_db.py +++ b/neutron/tests/unit/plugins/ml2/test_db.py @@ -18,11 +18,11 @@ import warnings import mock import netaddr from neutron_lib import constants +from neutron_lib import context from oslo_utils import uuidutils from sqlalchemy.orm import exc from sqlalchemy.orm import query -from neutron import context from neutron.db import db_base_plugin_v2 from neutron.db.models import l3 as l3_models from neutron.db import models_v2 diff --git a/neutron/tests/unit/plugins/ml2/test_ext_portsecurity.py b/neutron/tests/unit/plugins/ml2/test_ext_portsecurity.py index 4d7f1d343a7..b25353a1e14 100644 --- a/neutron/tests/unit/plugins/ml2/test_ext_portsecurity.py +++ b/neutron/tests/unit/plugins/ml2/test_ext_portsecurity.py @@ -13,9 +13,9 @@ # License for the specific language governing permissions and limitations # under the License. +from neutron_lib import context from neutron_lib.plugins import directory -from neutron import context from neutron.extensions import portsecurity as psec from neutron.plugins.ml2 import config from neutron.tests.unit.extensions import test_portsecurity as test_psec diff --git a/neutron/tests/unit/plugins/ml2/test_extension_driver_api.py b/neutron/tests/unit/plugins/ml2/test_extension_driver_api.py index d0be38da320..b81c2b23b7c 100644 --- a/neutron/tests/unit/plugins/ml2/test_extension_driver_api.py +++ b/neutron/tests/unit/plugins/ml2/test_extension_driver_api.py @@ -11,10 +11,10 @@ # under the License. import mock +from neutron_lib import context from neutron_lib.plugins import directory from oslo_utils import uuidutils -from neutron import context from neutron.plugins.ml2 import config from neutron.tests.unit.plugins.ml2.drivers import ext_test from neutron.tests.unit.plugins.ml2 import test_plugin diff --git a/neutron/tests/unit/plugins/ml2/test_ovo_rpc.py b/neutron/tests/unit/plugins/ml2/test_ovo_rpc.py index 7ca8017eb7d..55bc7ec8e4b 100644 --- a/neutron/tests/unit/plugins/ml2/test_ovo_rpc.py +++ b/neutron/tests/unit/plugins/ml2/test_ovo_rpc.py @@ -12,9 +12,9 @@ # under the License. import mock +from neutron_lib import context from neutron_lib.plugins import directory -from neutron import context from neutron.objects import network from neutron.objects import securitygroup from neutron.objects import subnet diff --git a/neutron/tests/unit/plugins/ml2/test_plugin.py b/neutron/tests/unit/plugins/ml2/test_plugin.py index 50d4d62dfeb..5765f0d4180 100644 --- a/neutron/tests/unit/plugins/ml2/test_plugin.py +++ b/neutron/tests/unit/plugins/ml2/test_plugin.py @@ -22,6 +22,7 @@ import testtools import webob from neutron_lib import constants +from neutron_lib import context from neutron_lib import exceptions as exc from neutron_lib.plugins import directory from oslo_db import exception as db_exc @@ -34,7 +35,6 @@ from neutron.callbacks import exceptions as c_exc from neutron.callbacks import registry from neutron.callbacks import resources from neutron.common import utils -from neutron import context from neutron.db import agents_db from neutron.db import api as db_api from neutron.db.models import l3 as l3_models diff --git a/neutron/tests/unit/plugins/ml2/test_port_binding.py b/neutron/tests/unit/plugins/ml2/test_port_binding.py index dc21aea6d0c..ede0c634acd 100644 --- a/neutron/tests/unit/plugins/ml2/test_port_binding.py +++ b/neutron/tests/unit/plugins/ml2/test_port_binding.py @@ -15,10 +15,10 @@ import mock from neutron_lib import constants as const +from neutron_lib import context from neutron_lib.plugins import directory from neutron.conf.plugins.ml2.drivers import driver_type -from neutron import context from neutron.extensions import portbindings from neutron.plugins.ml2 import config from neutron.plugins.ml2 import driver_context diff --git a/neutron/tests/unit/plugins/ml2/test_security_group.py b/neutron/tests/unit/plugins/ml2/test_security_group.py index 9662bfb4dfc..aeead137ba1 100644 --- a/neutron/tests/unit/plugins/ml2/test_security_group.py +++ b/neutron/tests/unit/plugins/ml2/test_security_group.py @@ -18,12 +18,12 @@ import math import mock from neutron_lib import constants as const +from neutron_lib import context from neutron_lib.plugins import directory from neutron.callbacks import events from neutron.callbacks import registry from neutron.callbacks import resources -from neutron import context from neutron.extensions import securitygroup as ext_sg from neutron.tests import tools from neutron.tests.unit.agent import test_securitygroups_rpc as test_sg_rpc diff --git a/neutron/tests/unit/plugins/ml2/test_tracked_resources.py b/neutron/tests/unit/plugins/ml2/test_tracked_resources.py index fd945da2d8a..115a74d9253 100644 --- a/neutron/tests/unit/plugins/ml2/test_tracked_resources.py +++ b/neutron/tests/unit/plugins/ml2/test_tracked_resources.py @@ -11,9 +11,9 @@ # under the License. import mock +from neutron_lib import context from oslo_utils import uuidutils -from neutron import context from neutron.db.quota import api as quota_db_api from neutron.tests.unit.api import test_extensions from neutron.tests.unit.extensions import test_l3 diff --git a/neutron/tests/unit/quota/test_resource.py b/neutron/tests/unit/quota/test_resource.py index 93f6da4a4d6..a7c0681f6fe 100644 --- a/neutron/tests/unit/quota/test_resource.py +++ b/neutron/tests/unit/quota/test_resource.py @@ -13,11 +13,11 @@ # under the License. import mock +from neutron_lib import context from oslo_config import cfg from oslo_utils import uuidutils import testtools -from neutron import context from neutron.db import api as db_api from neutron.db.quota import api as quota_api from neutron.quota import resource diff --git a/neutron/tests/unit/quota/test_resource_registry.py b/neutron/tests/unit/quota/test_resource_registry.py index 52ead4efced..fb3407981b0 100644 --- a/neutron/tests/unit/quota/test_resource_registry.py +++ b/neutron/tests/unit/quota/test_resource_registry.py @@ -13,10 +13,10 @@ # under the License. import mock +from neutron_lib import context from oslo_config import cfg import testtools -from neutron import context from neutron.quota import resource from neutron.quota import resource_registry from neutron.tests import base diff --git a/neutron/tests/unit/scheduler/test_dhcp_agent_scheduler.py b/neutron/tests/unit/scheduler/test_dhcp_agent_scheduler.py index 0eb37611537..495fc1c3a35 100644 --- a/neutron/tests/unit/scheduler/test_dhcp_agent_scheduler.py +++ b/neutron/tests/unit/scheduler/test_dhcp_agent_scheduler.py @@ -17,11 +17,11 @@ import random import mock from neutron_lib import constants +from neutron_lib import context from oslo_config import cfg from oslo_utils import importutils import testscenarios -from neutron import context from neutron.db import agentschedulers_db as sched_db from neutron.db import common_db_mixin from neutron.db import models_v2 @@ -485,7 +485,7 @@ class TestNetworksFailover(TestDhcpSchedulerBaseTestCase, self.remove_networks_from_down_agents() def test_reschedule_network_catches_exceptions_on_fetching_bindings(self): - with mock.patch('neutron.context.get_admin_context') as get_ctx: + with mock.patch('neutron_lib.context.get_admin_context') as get_ctx: mock_ctx = mock.Mock() get_ctx.return_value = mock_ctx mock_ctx.session.query.side_effect = Exception() diff --git a/neutron/tests/unit/scheduler/test_l3_agent_scheduler.py b/neutron/tests/unit/scheduler/test_l3_agent_scheduler.py index d4403d090a2..e2ce55bbebf 100644 --- a/neutron/tests/unit/scheduler/test_l3_agent_scheduler.py +++ b/neutron/tests/unit/scheduler/test_l3_agent_scheduler.py @@ -19,6 +19,7 @@ import datetime import mock from neutron_lib import constants +from neutron_lib import context as n_context from neutron_lib.plugins import directory from oslo_config import cfg from oslo_utils import importutils @@ -28,7 +29,6 @@ from sqlalchemy import orm import testscenarios import testtools -from neutron import context as n_context from neutron.db import db_base_plugin_v2 as db_v2 from neutron.db import l3_db from neutron.db import l3_dvr_ha_scheduler_db diff --git a/neutron/tests/unit/services/auto_allocate/test_db.py b/neutron/tests/unit/services/auto_allocate/test_db.py index d489d94eec0..1ce207c5565 100644 --- a/neutron/tests/unit/services/auto_allocate/test_db.py +++ b/neutron/tests/unit/services/auto_allocate/test_db.py @@ -14,12 +14,12 @@ import mock import testtools +from neutron_lib import context from neutron_lib import exceptions as n_exc from oslo_db import exception as db_exc from oslo_utils import uuidutils from neutron.common import exceptions as c_exc -from neutron import context from neutron.services.auto_allocate import db from neutron.services.auto_allocate import exceptions from neutron.tests.unit import testlib_api diff --git a/neutron/tests/unit/services/l3_router/service_providers/test_driver_controller.py b/neutron/tests/unit/services/l3_router/service_providers/test_driver_controller.py index 99a88784315..6fcbd8fa76c 100644 --- a/neutron/tests/unit/services/l3_router/service_providers/test_driver_controller.py +++ b/neutron/tests/unit/services/l3_router/service_providers/test_driver_controller.py @@ -14,12 +14,12 @@ import mock from neutron_lib import constants +from neutron_lib import context from neutron_lib import exceptions as lib_exc from neutron_lib.plugins import directory from oslo_utils import uuidutils import testtools -from neutron import context from neutron.plugins.common import constants as p_cons from neutron.services.l3_router.service_providers import driver_controller from neutron.services import provider_configuration diff --git a/neutron/tests/unit/services/metering/test_metering_plugin.py b/neutron/tests/unit/services/metering/test_metering_plugin.py index 5a29da97e97..4dba6316eb4 100644 --- a/neutron/tests/unit/services/metering/test_metering_plugin.py +++ b/neutron/tests/unit/services/metering/test_metering_plugin.py @@ -13,11 +13,11 @@ # under the License. import mock +from neutron_lib import context from neutron_lib.plugins import directory from oslo_utils import uuidutils from neutron.api.v2 import attributes as attr -from neutron import context from neutron.db import api as db_api from neutron.db.metering import metering_rpc from neutron.db.models import agent as agent_model @@ -96,7 +96,7 @@ class TestMeteringPlugin(test_db_base_plugin_v2.NeutronDbPluginV2TestCase, self.tenant_id = 'a7e61382-47b8-4d40-bae3-f95981b5637b' self.ctx = FakeContext('', self.tenant_id, is_admin=True) - self.context_patch = mock.patch('neutron.context.Context', + self.context_patch = mock.patch('neutron_lib.context.Context', return_value=self.ctx) self.mock_context = self.context_patch.start() @@ -330,7 +330,7 @@ class TestMeteringPluginL3AgentScheduler( self.tenant_id = 'a7e61382-47b8-4d40-bae3-f95981b5637b' self.ctx = FakeContext('', self.tenant_id, is_admin=True) - self.context_patch = mock.patch('neutron.context.Context', + self.context_patch = mock.patch('neutron_lib.context.Context', return_value=self.ctx) self.mock_context = self.context_patch.start() diff --git a/neutron/tests/unit/services/qos/notification_drivers/test_manager.py b/neutron/tests/unit/services/qos/notification_drivers/test_manager.py index 1c8ad8cd598..f1826068e75 100644 --- a/neutron/tests/unit/services/qos/notification_drivers/test_manager.py +++ b/neutron/tests/unit/services/qos/notification_drivers/test_manager.py @@ -11,11 +11,11 @@ # under the License. import mock +from neutron_lib import context from oslo_config import cfg from oslo_utils import uuidutils from neutron.conf.services import qos_driver_manager as driver_mgr_config -from neutron import context from neutron.objects.qos import policy as policy_object from neutron.services.qos.notification_drivers import manager as driver_mgr from neutron.services.qos.notification_drivers import message_queue diff --git a/neutron/tests/unit/services/qos/test_qos_plugin.py b/neutron/tests/unit/services/qos/test_qos_plugin.py index 82326b4b0d0..8377aeba7ed 100644 --- a/neutron/tests/unit/services/qos/test_qos_plugin.py +++ b/neutron/tests/unit/services/qos/test_qos_plugin.py @@ -10,12 +10,12 @@ # License for the specific language governing permissions and limitations # under the License. import mock +from neutron_lib import context from neutron_lib.plugins import directory from oslo_config import cfg from oslo_utils import uuidutils from neutron.common import exceptions as n_exc -from neutron import context from neutron import manager from neutron.objects import base as base_object from neutron.objects.qos import policy as policy_object diff --git a/neutron/tests/unit/services/revisions/test_revision_plugin.py b/neutron/tests/unit/services/revisions/test_revision_plugin.py index 6857fd2b24e..11d6a594032 100644 --- a/neutron/tests/unit/services/revisions/test_revision_plugin.py +++ b/neutron/tests/unit/services/revisions/test_revision_plugin.py @@ -15,10 +15,10 @@ import netaddr from neutron_lib import constants +from neutron_lib import context as nctx from neutron_lib.plugins import directory from oslo_utils import uuidutils -from neutron import context as nctx from neutron.db import models_v2 from neutron.plugins.ml2 import config from neutron.tests.unit.plugins.ml2 import test_plugin diff --git a/neutron/tests/unit/test_context.py b/neutron/tests/unit/test_context.py deleted file mode 100644 index 8fd906a03b8..00000000000 --- a/neutron/tests/unit/test_context.py +++ /dev/null @@ -1,169 +0,0 @@ -# Copyright 2012 VMware, Inc. -# All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -import mock -from oslo_context import context as oslo_context -from testtools import matchers - -from neutron import context -from neutron.tests import base - - -class TestNeutronContext(base.BaseTestCase): - - def setUp(self): - super(TestNeutronContext, self).setUp() - db_api = 'neutron.db.api.get_writer_session' - self._db_api_session_patcher = mock.patch(db_api) - self.db_api_session = self._db_api_session_patcher.start() - - def test_neutron_context_create(self): - ctx = context.Context('user_id', 'tenant_id') - self.assertEqual('user_id', ctx.user_id) - self.assertEqual('tenant_id', ctx.project_id) - self.assertEqual('tenant_id', ctx.tenant_id) - request_id = ctx.request_id - if isinstance(request_id, bytes): - request_id = request_id.decode('utf-8') - self.assertThat(request_id, matchers.StartsWith('req-')) - self.assertEqual('user_id', ctx.user) - self.assertEqual('tenant_id', ctx.tenant) - self.assertIsNone(ctx.user_name) - self.assertIsNone(ctx.tenant_name) - self.assertIsNone(ctx.auth_token) - - def test_neutron_context_create_with_name(self): - ctx = context.Context('user_id', 'tenant_id', - tenant_name='tenant_name', user_name='user_name') - # Check name is set - self.assertEqual('user_name', ctx.user_name) - self.assertEqual('tenant_name', ctx.tenant_name) - # Check user/tenant contains its ID even if user/tenant_name is passed - self.assertEqual('user_id', ctx.user) - self.assertEqual('tenant_id', ctx.tenant) - - def test_neutron_context_create_with_request_id(self): - ctx = context.Context('user_id', 'tenant_id', request_id='req_id_xxx') - self.assertEqual('req_id_xxx', ctx.request_id) - - def test_neutron_context_create_with_auth_token(self): - ctx = context.Context('user_id', 'tenant_id', - auth_token='auth_token_xxx') - self.assertEqual('auth_token_xxx', ctx.auth_token) - - def test_neutron_context_to_dict(self): - ctx = context.Context('user_id', 'tenant_id') - ctx_dict = ctx.to_dict() - self.assertEqual('user_id', ctx_dict['user_id']) - self.assertEqual('tenant_id', ctx_dict['project_id']) - self.assertEqual(ctx.request_id, ctx_dict['request_id']) - self.assertEqual('user_id', ctx_dict['user']) - self.assertEqual('tenant_id', ctx_dict['tenant']) - self.assertIsNone(ctx_dict['user_name']) - self.assertIsNone(ctx_dict['tenant_name']) - self.assertIsNone(ctx_dict['project_name']) - self.assertIsNone(ctx_dict['auth_token']) - - def test_neutron_context_to_dict_with_name(self): - ctx = context.Context('user_id', 'tenant_id', - tenant_name='tenant_name', user_name='user_name') - ctx_dict = ctx.to_dict() - self.assertEqual('user_name', ctx_dict['user_name']) - self.assertEqual('tenant_name', ctx_dict['tenant_name']) - self.assertEqual('tenant_name', ctx_dict['project_name']) - - def test_neutron_context_to_dict_with_auth_token(self): - ctx = context.Context('user_id', 'tenant_id', - auth_token='auth_token_xxx') - ctx_dict = ctx.to_dict() - self.assertEqual('auth_token_xxx', ctx_dict['auth_token']) - - def test_neutron_context_admin_to_dict(self): - self.db_api_session.return_value = 'fakesession' - ctx = context.get_admin_context() - ctx_dict = ctx.to_dict() - self.assertIsNone(ctx_dict['user_id']) - self.assertIsNone(ctx_dict['tenant_id']) - self.assertIsNone(ctx_dict['auth_token']) - self.assertIsNotNone(ctx.session) - self.assertNotIn('session', ctx_dict) - - def test_neutron_context_admin_without_session_to_dict(self): - ctx = context.get_admin_context_without_session() - ctx_dict = ctx.to_dict() - self.assertIsNone(ctx_dict['user_id']) - self.assertIsNone(ctx_dict['tenant_id']) - self.assertIsNone(ctx_dict['auth_token']) - self.assertFalse(hasattr(ctx, 'session')) - - def test_neutron_context_elevated_retains_request_id(self): - ctx = context.Context('user_id', 'tenant_id') - self.assertFalse(ctx.is_admin) - req_id_before = ctx.request_id - - elevated_ctx = ctx.elevated() - self.assertTrue(elevated_ctx.is_admin) - self.assertEqual(req_id_before, elevated_ctx.request_id) - - def test_neutron_context_overwrite(self): - ctx1 = context.Context('user_id', 'tenant_id') - self.assertEqual(ctx1.request_id, - oslo_context.get_current().request_id) - - # If overwrite is not specified, request_id should be updated. - ctx2 = context.Context('user_id', 'tenant_id') - self.assertNotEqual(ctx2.request_id, ctx1.request_id) - self.assertEqual(ctx2.request_id, - oslo_context.get_current().request_id) - - # If overwrite is specified, request_id should be kept. - ctx3 = context.Context('user_id', 'tenant_id', overwrite=False) - self.assertNotEqual(ctx3.request_id, ctx2.request_id) - self.assertEqual(ctx2.request_id, - oslo_context.get_current().request_id) - - def test_neutron_context_get_admin_context_not_update_local_store(self): - ctx = context.Context('user_id', 'tenant_id') - req_id_before = oslo_context.get_current().request_id - self.assertEqual(ctx.request_id, req_id_before) - - ctx_admin = context.get_admin_context() - self.assertEqual(req_id_before, oslo_context.get_current().request_id) - self.assertNotEqual(req_id_before, ctx_admin.request_id) - - def test_to_policy_values(self): - values = { - 'user_id': 'user_id', - 'tenant_id': 'tenant_id', - 'is_admin': 'is_admin', - 'tenant_name': 'tenant_name', - 'user_name': 'user_name', - 'domain': 'domain', - 'user_domain': 'user_domain', - 'project_domain': 'project_domain', - 'user_name': 'user_name', - } - additional_values = { - 'user': 'user_id', - 'tenant': 'tenant_id', - 'project_id': 'tenant_id', - 'project_name': 'tenant_name', - } - ctx = context.Context(**values) - # apply dict() to get a real dictionary, needed for newer oslo.context - # that returns _DeprecatedPolicyValues object instead - policy_values = dict(ctx.to_policy_values()) - self.assertDictSupersetOf(values, policy_values) - self.assertDictSupersetOf(additional_values, policy_values) diff --git a/neutron/tests/unit/test_policy.py b/neutron/tests/unit/test_policy.py index d2cf3709368..7534c42993b 100644 --- a/neutron/tests/unit/test_policy.py +++ b/neutron/tests/unit/test_policy.py @@ -17,8 +17,10 @@ import mock from neutron_lib import constants +from neutron_lib import context from neutron_lib import exceptions from neutron_lib.plugins import directory +from oslo_config import cfg from oslo_db import exception as db_exc from oslo_policy import fixture as op_fixture from oslo_policy import policy as oslo_policy @@ -28,7 +30,6 @@ from oslo_utils import importutils import neutron from neutron.api.v2 import attributes from neutron.common import constants as n_const -from neutron import context from neutron import policy from neutron.tests import base @@ -199,12 +200,11 @@ FAKE_RESOURCES = {"%ss" % FAKE_RESOURCE_NAME: class NeutronPolicyTestCase(base.BaseTestCase): def fakepolicyinit(self, **kwargs): - enf = policy._ENFORCER - enf.set_rules(oslo_policy.Rules(self.rules)) + policy._ENFORCER = oslo_policy.Enforcer(cfg.CONF) + policy._ENFORCER.set_rules(oslo_policy.Rules(self.rules)) def setUp(self): super(NeutronPolicyTestCase, self).setUp() - policy.refresh() # Add Fake resources to RESOURCE_ATTRIBUTE_MAP attributes.RESOURCE_ATTRIBUTE_MAP.update(FAKE_RESOURCES) self._set_rules() @@ -216,7 +216,9 @@ class NeutronPolicyTestCase(base.BaseTestCase): 'init', new=self.fakepolicyinit) self.patcher.start() + policy.refresh() self.addCleanup(remove_fake_resource) + self.addCleanup(policy.refresh) self.context = context.Context('fake', 'fake', roles=['user']) plugin_klass = importutils.import_class( "neutron.db.db_base_plugin_v2.NeutronDbPluginV2") @@ -369,37 +371,6 @@ class NeutronPolicyTestCase(base.BaseTestCase): def test_nonadmin_read_on_shared_succeeds(self): self._test_nonadmin_action_on_attr('get', 'shared', True) - def test_check_is_admin_with_admin_context_succeeds(self): - admin_context = context.get_admin_context() - # explicitly set roles as this test verifies user credentials - # with the policy engine - admin_context.roles = ['admin'] - self.assertTrue(policy.check_is_admin(admin_context)) - - def test_check_is_admin_with_user_context_fails(self): - self.assertFalse(policy.check_is_admin(self.context)) - - def test_check_is_admin_with_no_admin_policy_fails(self): - del self.rules[policy.ADMIN_CTX_POLICY] - admin_context = context.get_admin_context() - self.assertFalse(policy.check_is_admin(admin_context)) - - def test_check_is_advsvc_with_admin_context_fails(self): - admin_context = context.get_admin_context() - self.assertFalse(policy.check_is_advsvc(admin_context)) - - def test_check_is_advsvc_with_svc_context_succeeds(self): - svc_context = context.Context('', 'svc', roles=['advsvc']) - self.assertTrue(policy.check_is_advsvc(svc_context)) - - def test_check_is_advsvc_with_no_advsvc_policy_fails(self): - del self.rules[policy.ADVSVC_CTX_POLICY] - svc_context = context.Context('', 'svc', roles=['advsvc']) - self.assertFalse(policy.check_is_advsvc(svc_context)) - - def test_check_is_advsvc_with_user_context_fails(self): - self.assertFalse(policy.check_is_advsvc(self.context)) - def _test_enforce_adminonly_attribute(self, action, **kwargs): admin_context = context.get_admin_context() target = {'shared': True} diff --git a/neutron/wsgi.py b/neutron/wsgi.py index 9464fa548a2..08e43a145d7 100644 --- a/neutron/wsgi.py +++ b/neutron/wsgi.py @@ -22,7 +22,7 @@ import sys import time import eventlet.wsgi -from neutron.conf import wsgi as wsgi_config +from neutron_lib import context from neutron_lib import exceptions as exception from oslo_config import cfg import oslo_i18n @@ -41,7 +41,7 @@ import webob.exc from neutron._i18n import _, _LE, _LI from neutron.common import config from neutron.common import exceptions as n_exc -from neutron import context +from neutron.conf import wsgi as wsgi_config from neutron.db import api from neutron import worker as neutron_worker