]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Support oslo_db 1.12
authorCedric Brandily <zzelle@gmail.com>
Tue, 23 Jun 2015 22:08:22 +0000 (00:08 +0200)
committerCedric Brandily <zzelle@gmail.com>
Tue, 23 Jun 2015 23:32:44 +0000 (01:32 +0200)
oslo_db 1.12[1] decorates oslo_context.context.RequestContext with
session management[2][3] and add a read-only attribute 'session'. Such
feature breaks Brocade plugin and its unittests because they define
on RequestContext the 'session' attribute which now is a read-only
property. This change uses neutron.context instead of
oslo_context.context in order to delegate session management to the
neutron.context and remove read-only attribute set.

A follow-up change will refactor neutron.context in order to use oslo_db
1.12 session management instead of homemade one.

[1] https://github.com/openstack/oslo.db/releases/tag/1.12.0
[2] https://github.com/openstack/oslo.db/commit/\
    fdbd928b1fdf0334e1740e565ab8206fff54eaa6
[3] https://github.com/openstack/oslo.db/blob/\
    fdbd928b1fdf0334e1740e565ab8206fff54eaa6/oslo_db/sqlalchemy/\
    enginefacade.py#L782

Closes-Bug: #1468128
Change-Id: I0e3331f9a383fa2562706eeadb229f55593b888c

neutron/plugins/brocade/NeutronPlugin.py
neutron/tests/unit/plugins/brocade/test_brocade_vlan.py

index cfb1d65d6d623b9dea153eae27bfb71370286fa0..8108d29e0254df7f921a03b6c7479c52ac0f712e 100644 (file)
@@ -20,7 +20,6 @@
 """Implentation of Brocade Neutron Plugin."""
 
 from oslo_config import cfg
-from oslo_context import context as oslo_context
 from oslo_log import log as logging
 import oslo_messaging
 from oslo_utils import importutils
@@ -36,6 +35,7 @@ from neutron.common import constants as q_const
 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.db import agents_db
 from neutron.db import agentschedulers_db
 from neutron.db import api as db
@@ -228,8 +228,7 @@ class BrocadePluginV2(db_base_plugin_v2.NeutronDbPluginV2,
                                    physical_interface)
         self.base_binding_dict = self._get_base_binding_dict()
         portbindings_base.register_port_dict_function()
-        self.ctxt = oslo_context.get_admin_context()
-        self.ctxt.session = db.get_session()
+        self.ctxt = n_context.get_admin_context()
         self._vlan_bitmap = vbm.VlanBitmap(self.ctxt)
         self._setup_rpc()
         self.network_scheduler = importutils.import_object(
@@ -254,8 +253,8 @@ class BrocadePluginV2(db_base_plugin_v2.NeutronDbPluginV2,
         # RPC support
         self.service_topics = {svc_constants.CORE: topics.PLUGIN,
                                svc_constants.L3_ROUTER_NAT: topics.L3PLUGIN}
-        self.rpc_context = oslo_context.RequestContext('neutron', 'neutron',
-                                                  is_admin=False)
+        self.rpc_context = n_context.ContextBase('neutron', 'neutron',
+                                                 is_admin=False)
         self.conn = n_rpc.create_connection(new=True)
         self.endpoints = [BridgeRpcCallbacks(),
                           securitygroups_rpc.SecurityGroupServerRpcCallback(),
index 024e26f8ffe31c8b3e315aa5514f3a288074fcb6..d3fd94ba6d8fb98a17e1f30a77d1a89e8afce2ad 100644 (file)
@@ -18,9 +18,7 @@
 Test vlans alloc/dealloc.
 """
 
-from oslo_context import context as oslo_context
-
-from neutron.db import api as db
+from neutron import context as n_context
 from neutron.plugins.brocade import vlanbm as vlan_bitmap
 from neutron.tests.unit import testlib_api
 
@@ -30,8 +28,7 @@ class TestVlanBitmap(testlib_api.SqlTestCase):
 
     def setUp(self):
         super(TestVlanBitmap, self).setUp()
-        self.context = oslo_context.get_admin_context()
-        self.context.session = db.get_session()
+        self.context = n_context.get_admin_context()
 
     def test_vlan(self):
         """test vlan allocation/de-alloc."""