Fix glance-api if cache is disabled
This patch fixes glance when cache is disabled. Change-Id: I3c3560ba9c87c7098d75173a095642bdd1d7c687
This commit is contained in:
parent
519ce0b94d
commit
309ca3aec2
@ -33,15 +33,18 @@ CONF.import_opt("image_cache_sqlite_db", "glance.image_cache.drivers.sqlite")
|
|||||||
|
|
||||||
|
|
||||||
def can_migrate_to_central_db():
|
def can_migrate_to_central_db():
|
||||||
|
# Return immediately if cache is disabled
|
||||||
|
if not (CONF.paste_deploy.flavor and 'cache' in CONF.paste_deploy.flavor):
|
||||||
|
return False
|
||||||
|
|
||||||
|
is_centralized_db_driver = CONF.image_cache_driver == "centralized_db"
|
||||||
# Check worker_self_reference_url is set if cache is enabled and
|
# Check worker_self_reference_url is set if cache is enabled and
|
||||||
# cache driver is centralized_db
|
# cache driver is centralized_db
|
||||||
is_centralized_db_driver = CONF.image_cache_driver == "centralized_db"
|
if is_centralized_db_driver and not CONF.worker_self_reference_url:
|
||||||
if CONF.paste_deploy.flavor and 'cache' in CONF.paste_deploy.flavor:
|
msg = _("'worker_self_reference_url' needs to be set "
|
||||||
if is_centralized_db_driver and not CONF.worker_self_reference_url:
|
"if `centralized_db` is defined as cache driver "
|
||||||
msg = _("'worker_self_reference_url' needs to be set "
|
"for image_cache_driver config option.")
|
||||||
"if `centralized_db` is defined as cache driver "
|
raise RuntimeError(msg)
|
||||||
"for image_cache_driver config option.")
|
|
||||||
raise RuntimeError(msg)
|
|
||||||
|
|
||||||
return is_centralized_db_driver
|
return is_centralized_db_driver
|
||||||
|
|
||||||
|
@ -101,10 +101,16 @@ class TestMigrate(test_utils.BaseTestCase):
|
|||||||
self.config(image_cache_driver="sqlite")
|
self.config(image_cache_driver="sqlite")
|
||||||
self.assertFalse(sqlite_migration.migrate_if_required())
|
self.assertFalse(sqlite_migration.migrate_if_required())
|
||||||
|
|
||||||
|
def test_migrate_if_required_cache_disabled(self):
|
||||||
|
self.config(flavor="keystone", group="paste_deploy")
|
||||||
|
self.config(image_cache_driver="centralized_db")
|
||||||
|
self.assertFalse(sqlite_migration.migrate_if_required())
|
||||||
|
|
||||||
@mock.patch('os.path.exists')
|
@mock.patch('os.path.exists')
|
||||||
@mock.patch('os.path.join', new=mock.MagicMock())
|
@mock.patch('os.path.join', new=mock.MagicMock())
|
||||||
def test_migrate_if_required_db_not_found(self, mock_exists):
|
def test_migrate_if_required_db_not_found(self, mock_exists):
|
||||||
mock_exists.return_value = False
|
mock_exists.return_value = False
|
||||||
|
self.config(flavor="keystone+cache", group="paste_deploy")
|
||||||
self.config(image_cache_driver="centralized_db")
|
self.config(image_cache_driver="centralized_db")
|
||||||
with mock.patch.object(sqlite_migration, 'LOG') as mock_log:
|
with mock.patch.object(sqlite_migration, 'LOG') as mock_log:
|
||||||
sqlite_migration.migrate_if_required()
|
sqlite_migration.migrate_if_required()
|
||||||
|
Loading…
Reference in New Issue
Block a user