Merge "Use leader storage for `db-initialised` flag"
This commit is contained in:
commit
0e9ced29ab
|
@ -467,7 +467,7 @@ def cluster_joined(rid=None):
|
|||
@restart_on_change(restart_map(), stopstart=True)
|
||||
def cluster_changed():
|
||||
# NOTE(jamespage) re-echo passwords for peer storage
|
||||
echo_whitelist = ['_passwd', 'identity-service:', 'db-initialised']
|
||||
echo_whitelist = ['_passwd', 'identity-service:']
|
||||
|
||||
log("Peer echo whitelist: %s" % (echo_whitelist), level=DEBUG)
|
||||
peer_echo(includes=echo_whitelist, force=True)
|
||||
|
|
|
@ -66,10 +66,6 @@ from charmhelpers.contrib.openstack.utils import (
|
|||
is_unit_paused_set,
|
||||
)
|
||||
|
||||
from charmhelpers.core.strutils import (
|
||||
bool_from_string,
|
||||
)
|
||||
|
||||
from charmhelpers.core.decorators import (
|
||||
retry_on_exception,
|
||||
)
|
||||
|
@ -651,11 +647,9 @@ def do_openstack_upgrade(configs):
|
|||
|
||||
|
||||
def is_db_initialised():
|
||||
if relation_ids('cluster'):
|
||||
inited = peer_retrieve('db-initialised')
|
||||
if inited and bool_from_string(inited):
|
||||
log("Database is initialised", level=DEBUG)
|
||||
return True
|
||||
if leader_get('db-initialised'):
|
||||
log("Database is initialised", level=DEBUG)
|
||||
return True
|
||||
|
||||
log("Database is NOT initialised", level=DEBUG)
|
||||
return False
|
||||
|
@ -692,7 +686,7 @@ def migrate_database():
|
|||
else:
|
||||
service_start(keystone_service())
|
||||
time.sleep(10)
|
||||
peer_store('db-initialised', 'True')
|
||||
leader_set({'db-initialised': True})
|
||||
|
||||
# OLD
|
||||
|
||||
|
|
|
@ -446,7 +446,7 @@ class KeystoneRelationTests(CharmTestCase):
|
|||
mock_config.return_value = None
|
||||
|
||||
hooks.cluster_changed()
|
||||
whitelist = ['_passwd', 'identity-service:', 'db-initialised']
|
||||
whitelist = ['_passwd', 'identity-service:']
|
||||
self.peer_echo.assert_called_with(force=True, includes=whitelist)
|
||||
self.assertTrue(configs.write_all.called)
|
||||
|
||||
|
|
|
@ -223,7 +223,23 @@ class TestKeystoneUtils(CharmTestCase):
|
|||
disable_unused_apache_sites.assert_called_with()
|
||||
self.reset_os_release.assert_called()
|
||||
|
||||
def test_migrate_database(self):
|
||||
@patch.object(utils, 'leader_get')
|
||||
def test_is_db_initialised_true_string(self, _leader_get):
|
||||
_leader_get.return_value = "True"
|
||||
self.assertTrue(utils.is_db_initialised())
|
||||
|
||||
@patch.object(utils, 'leader_get')
|
||||
def test_is_db_initialised_true_bool(self, _leader_get):
|
||||
_leader_get.return_value = True
|
||||
self.assertTrue(utils.is_db_initialised())
|
||||
|
||||
@patch.object(utils, 'leader_get')
|
||||
def test_is_db_initialised_not_set(self, _leader_get):
|
||||
_leader_get.return_value = None
|
||||
self.assertFalse(utils.is_db_initialised())
|
||||
|
||||
@patch.object(utils, 'leader_set')
|
||||
def test_migrate_database(self, _leader_set):
|
||||
self.os_release.return_value = 'havana'
|
||||
utils.migrate_database()
|
||||
|
||||
|
@ -231,6 +247,7 @@ class TestKeystoneUtils(CharmTestCase):
|
|||
cmd = ['sudo', '-u', 'keystone', 'keystone-manage', 'db_sync']
|
||||
self.subprocess.check_output.assert_called_with(cmd)
|
||||
self.service_start.assert_called_with('keystone')
|
||||
_leader_set.assert_called_with({'db-initialised': True})
|
||||
|
||||
@patch.object(utils, 'leader_get')
|
||||
@patch.object(utils, 'get_api_version')
|
||||
|
|
Loading…
Reference in New Issue