Merge "Do not use LazyPluggable"
This commit is contained in:
@@ -19,27 +19,44 @@
|
|||||||
|
|
||||||
"""Metadata setup commands."""
|
"""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
|
from glance.db.sqlalchemy import api as db_api
|
||||||
|
|
||||||
IMPL = utils.LazyPluggable(
|
|
||||||
'backend',
|
_IMPL = None
|
||||||
config_group='database',
|
_LOCK = threading.Lock()
|
||||||
sqlalchemy='glance.db.sqlalchemy.metadata')
|
|
||||||
|
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():
|
def load_metadefs():
|
||||||
"""Read metadefinition files and insert data into the database"""
|
"""Read metadefinition files and insert data into the database"""
|
||||||
return IMPL.db_load_metadefs(engine=db_api.get_engine(),
|
return get_backend().db_load_metadefs(engine=db_api.get_engine(),
|
||||||
metadata_path=None)
|
metadata_path=None)
|
||||||
|
|
||||||
|
|
||||||
def unload_metadefs():
|
def unload_metadefs():
|
||||||
"""Unload metadefinitions from database"""
|
"""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():
|
def export_metadefs():
|
||||||
"""Export metadefinitions from database to files"""
|
"""Export metadefinitions from database to files"""
|
||||||
return IMPL.db_export_metadefs(engine=db_api.get_engine(),
|
return get_backend().db_export_metadefs(engine=db_api.get_engine(),
|
||||||
metadata_path=None)
|
metadata_path=None)
|
||||||
|
@@ -45,6 +45,8 @@ oslo.config.opts =
|
|||||||
glance.manage = glance.opts:list_manage_opts
|
glance.manage = glance.opts:list_manage_opts
|
||||||
glance.database.migration_backend =
|
glance.database.migration_backend =
|
||||||
sqlalchemy = oslo.db.sqlalchemy.migration
|
sqlalchemy = oslo.db.sqlalchemy.migration
|
||||||
|
glance.database.metadata_backend =
|
||||||
|
sqlalchemy = glance.db.sqlalchemy.metadata
|
||||||
|
|
||||||
[build_sphinx]
|
[build_sphinx]
|
||||||
all_files = 1
|
all_files = 1
|
||||||
|
Reference in New Issue
Block a user