
This is the fourth in a series of changes to move to using the new oslo_<library> namespace that is being used for oslo libraries. There is currently a shim in place that is allowing the old oslo.<library> imports to work, but we need to be prepared for when the shims go away. Thus, we need patches like this one to move to the new namespace. This patch also updates our hacking check to ensure that no instances of oslo.utils sneak back in. Change-Id: I19c331a9b54c5f42c278577ecc59fe1b65e61af0
42 lines
1.5 KiB
Python
42 lines
1.5 KiB
Python
# Copyright 2010 United States Government as represented by the
|
|
# Administrator of the National Aeronautics and Space Administration.
|
|
# 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.
|
|
|
|
"""Base class for classes that need modular database access."""
|
|
|
|
|
|
from oslo_config import cfg
|
|
from oslo_utils import importutils
|
|
|
|
|
|
db_driver_opt = cfg.StrOpt('db_driver',
|
|
default='cinder.db',
|
|
help='Driver to use for database access')
|
|
|
|
CONF = cfg.CONF
|
|
CONF.register_opt(db_driver_opt)
|
|
|
|
|
|
class Base(object):
|
|
"""DB driver is injected in the init method."""
|
|
|
|
def __init__(self, db_driver=None):
|
|
# NOTE(mriedem): Without this call, multiple inheritance involving
|
|
# the db Base class does not work correctly.
|
|
super(Base, self).__init__()
|
|
if not db_driver:
|
|
db_driver = CONF.db_driver
|
|
self.db = importutils.import_module(db_driver) # pylint: disable=C0103
|