Do not use LazyPluggable

LazyPluggable was removed but was not replaced in
all places of use.

Closes-Bug: #1394641

Change-Id: Ie5bb32e409a6abce0509adb6e035c533547bb1f5
This commit is contained in:
Oleksii Chuprykov 2014-11-20 18:13:16 +02:00
parent 3f0b479fed
commit 5ce208d472
2 changed files with 29 additions and 10 deletions

View File

@ -19,27 +19,44 @@
"""Metadata setup commands."""
from glance.common import utils
import threading
from oslo.config import cfg
from oslo import db
from stevedore import driver
from glance.db.sqlalchemy import api as db_api
IMPL = utils.LazyPluggable(
'backend',
config_group='database',
sqlalchemy='glance.db.sqlalchemy.metadata')
_IMPL = None
_LOCK = threading.Lock()
db.options.set_defaults(cfg.CONF)
def get_backend():
global _IMPL
if _IMPL is None:
with _LOCK:
if _IMPL is None:
_IMPL = driver.DriverManager(
"glance.database.metadata_backend",
cfg.CONF.database.backend).driver
return _IMPL
def load_metadefs():
"""Read metadefinition files and insert data into the database"""
return IMPL.db_load_metadefs(engine=db_api.get_engine(),
metadata_path=None)
return get_backend().db_load_metadefs(engine=db_api.get_engine(),
metadata_path=None)
def unload_metadefs():
"""Unload metadefinitions from database"""
return IMPL.db_unload_metadefs(engine=db_api.get_engine())
return get_backend().db_unload_metadefs(engine=db_api.get_engine())
def export_metadefs():
"""Export metadefinitions from database to files"""
return IMPL.db_export_metadefs(engine=db_api.get_engine(),
metadata_path=None)
return get_backend().db_export_metadefs(engine=db_api.get_engine(),
metadata_path=None)

View File

@ -45,6 +45,8 @@ oslo.config.opts =
glance.manage = glance.opts:list_manage_opts
glance.database.migration_backend =
sqlalchemy = oslo.db.sqlalchemy.migration
glance.database.metadata_backend =
sqlalchemy = glance.db.sqlalchemy.metadata
[build_sphinx]
all_files = 1