queens: ensure ceilometer-upgrade executed

For queens, only the identity-credentials relation is required
as ceilometer no longer registers endpoints; ensure the correct
relation name is used when checking to see if the ceilometer
upgrade process can be executed.

Change-Id: I8482e97f4f60e019b0225f67c568965adbb034cb
This commit is contained in:
James Page 2018-02-23 10:53:39 +00:00
parent aa9443f85c
commit 3438d424b0
2 changed files with 26 additions and 3 deletions

View File

@ -159,13 +159,17 @@ def any_changed():
for rid in relation_ids('identity-service'):
keystone_joined(relid=rid)
ceilometer_joined()
cmp_codename = CompareOpenStackReleases(
get_os_codename_install_source(config('openstack-origin')))
if cmp_codename < 'queens':
identity_relation = 'identity-service'
else:
identity_relation = 'identity-credentials'
# NOTE(jamespage): ceilometer@ocata requires both gnocchi
# and mongodb to be configured to successfully
# upgrade the underlying data stores.
if ('metric-service' in CONFIGS.complete_contexts() and
'identity-service' in CONFIGS.complete_contexts()):
cmp_codename = CompareOpenStackReleases(
get_os_codename_install_source(config('openstack-origin')))
identity_relation in CONFIGS.complete_contexts()):
# NOTE(jamespage): however at queens, this limitation has gone!
if (cmp_codename < 'queens' and
'mongodb' not in CONFIGS.complete_contexts()):

View File

@ -154,6 +154,25 @@ class CeilometerHooksTest(CharmTestCase):
ceilometer_upgrade.assert_called_once()
self.configure_https.assert_called_once()
@patch.object(hooks, 'ceilometer_upgrade')
@patch.object(hooks, 'keystone_joined')
@patch('charmhelpers.core.hookenv.config')
@patch.object(hooks, 'ceilometer_joined')
def test_any_changed_queens(self, ceilometer_joined, mock_config,
keystone_joined, ceilometer_upgrade):
self.get_os_codename_install_source.return_value = 'queens'
self.CONFIGS.complete_contexts.return_value = [
'metric-service',
'identity-credentials',
]
self.relation_ids.return_value = []
hooks.hooks.execute(['hooks/shared-db-relation-changed'])
self.CONFIGS.write_all.assert_called_once()
ceilometer_joined.assert_called_once()
keystone_joined.assert_not_called()
ceilometer_upgrade.assert_called_once()
self.configure_https.assert_called_once()
@patch.object(hooks, 'ceilometer_upgrade')
@patch.object(hooks, 'keystone_joined')
@patch('charmhelpers.core.hookenv.config')