From aa88be0689552f59adbc28d5e2c7abcc3bac6fbf Mon Sep 17 00:00:00 2001 From: Boden R Date: Fri, 30 Nov 2018 13:29:08 -0700 Subject: [PATCH] remove context_manager from neutron The context_manager is already in neutron-lib and being used by our active consumers either directly or via the current shim we have in neutron.db.api.context_manager that just references that in lib. This patch removes the context_manager from neutron and updates the UTs that mock it. NeutronLibImpact Change-Id: Ia5191a71b377e2862592a09da8dc3a5d415de9aa --- neutron/db/api.py | 4 ---- neutron/service.py | 4 ++-- neutron/tests/unit/test_wsgi.py | 3 ++- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/neutron/db/api.py b/neutron/db/api.py index dc98622209e..b2fd06e0d94 100644 --- a/neutron/db/api.py +++ b/neutron/db/api.py @@ -15,16 +15,12 @@ import weakref -from neutron_lib.db import api from neutron_lib.db import model_base import sqlalchemy from sqlalchemy import event # noqa from sqlalchemy import orm -context_manager = api.get_context_manager() - - # Expire relationships when foreign key changes. # # NOTE(ihrachys) Arguably, it's a sqlalchemy anti-pattern to access child diff --git a/neutron/service.py b/neutron/service.py index 8e5d89d63c8..320b46d4db3 100644 --- a/neutron/service.py +++ b/neutron/service.py @@ -21,6 +21,7 @@ from neutron_lib.callbacks import events from neutron_lib.callbacks import registry from neutron_lib.callbacks import resources from neutron_lib import context +from neutron_lib.db import api as session from neutron_lib.plugins import directory from neutron_lib import worker as neutron_worker from oslo_concurrency import processutils @@ -36,7 +37,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.db import api as session from neutron import wsgi @@ -244,7 +244,7 @@ def _start_workers(workers): # dispose the whole pool before os.fork, otherwise there will # be shared DB connections in child processes which may cause # DB errors. - session.context_manager.dispose_pool() + session.get_context_manager().dispose_pool() for worker in process_workers: worker_launcher.launch_service(worker, diff --git a/neutron/tests/unit/test_wsgi.py b/neutron/tests/unit/test_wsgi.py index 1feb388c39f..2ff63fd38e7 100644 --- a/neutron/tests/unit/test_wsgi.py +++ b/neutron/tests/unit/test_wsgi.py @@ -18,6 +18,7 @@ import socket import ssl import mock +from neutron_lib.db import api as db_api from neutron_lib import exceptions as exception from oslo_config import cfg from six.moves import urllib @@ -68,7 +69,7 @@ class TestServiceBase(base.BaseTestCase): class TestWorkerService(TestServiceBase): """WorkerService tests.""" - @mock.patch('neutron.db.api.context_manager.get_legacy_facade') + @mock.patch.object(db_api, 'get_context_manager') def test_start_withoutdb_call(self, apimock): _service = mock.Mock() _service.pool.spawn.return_value = None