Update for changes to charms.openstack, ensure aodh is installed before configuration and rendering

This commit is contained in:
James Page 2016-06-28 11:30:50 +01:00
parent c830932d1e
commit 3120b33ef6
3 changed files with 21 additions and 3 deletions

View File

@ -67,18 +67,21 @@ def render(*args):
aodh.assess_status()
@reactive.when('charm.installed')
@reactive.when_not('cluster.available')
@reactive.when(*MINIMAL_INTERFACES)
def render_unclustered(*args):
render(*args)
@reactive.when('charm.installed')
@reactive.when('cluster.available',
*MINIMAL_INTERFACES)
def render_clustered(*args):
render(*args)
@reactive.when('charm.installed')
@reactive.when('config.complete')
@reactive.when_not('db.synced')
def run_db_migration():

View File

@ -104,14 +104,17 @@ class TestAodhHandlers(unittest.TestCase):
'setup_amqp_req': ('amqp.connected', ),
'setup_database': ('shared-db.connected', ),
'setup_endpoint': ('identity-service.connected', ),
'render_unclustered': ('shared-db.available',
'render_unclustered': ('charm.installed',
'shared-db.available',
'identity-service.available',
'amqp.available',),
'render_clustered': ('shared-db.available',
'render_clustered': ('charm.installed',
'shared-db.available',
'identity-service.available',
'amqp.available',
'cluster.available',),
'run_db_migration': ('config.complete', ),
'run_db_migration': ('charm.installed',
'config.complete', ),
'cluster_connected': ('ha.connected', ),
}
when_not_patterns = {

View File

@ -47,11 +47,15 @@ class Helper(unittest.TestCase):
class TestOpenStackAodh(Helper):
def test_install(self):
self.patch(aodh.AodhCharm,
'set_config_defined_certs_and_keys')
self.patch(aodh.AodhCharm.singleton, 'install')
aodh.install()
self.install.assert_called_once_with()
def test_setup_endpoint(self):
self.patch(aodh.AodhCharm,
'set_config_defined_certs_and_keys')
self.patch(aodh.AodhCharm, 'service_name',
new_callable=mock.PropertyMock)
self.patch(aodh.AodhCharm, 'region',
@ -73,6 +77,8 @@ class TestOpenStackAodh(Helper):
'type1', 'region1', 'public_url', 'internal_url', 'admin_url')
def test_render_configs(self):
self.patch(aodh.AodhCharm,
'set_config_defined_certs_and_keys')
self.patch(aodh.AodhCharm.singleton, 'render_with_interfaces')
aodh.render_configs('interfaces-list')
self.render_with_interfaces.assert_called_once_with(
@ -87,6 +93,8 @@ class TestAodhAdapters(Helper):
'keystone-api-version': '2',
}
config.side_effect = lambda: reply
self.patch(aodh.charms_openstack.adapters.APIConfigurationAdapter,
'get_network_addresses')
amqp_relation = mock.MagicMock()
amqp_relation.relation_name = 'amqp'
shared_db_relation = mock.MagicMock()
@ -112,11 +120,15 @@ class TestAodhAdapters(Helper):
class TestAodhCharm(Helper):
def test__init__(self):
self.patch(aodh.AodhCharm,
'set_config_defined_certs_and_keys')
self.patch(aodh.ch_utils, 'os_release')
aodh.AodhCharm()
self.os_release.assert_called_once_with('python-keystonemiddleware')
def test_install(self):
self.patch(aodh.AodhCharm,
'set_config_defined_certs_and_keys')
b = aodh.AodhCharm()
self.patch(aodh.charms_openstack.charm.OpenStackCharm,
'configure_source')