Fixed config directive typo in main hook file. Added corresponding unit test to catch this mistake in the future. Added outcome statements to all possible code paths.

This commit is contained in:
David Della Vecchia 2015-08-10 15:21:34 +00:00
parent 978a45c529
commit 947be72d7e
4 changed files with 12 additions and 2 deletions

View File

@ -44,7 +44,9 @@ def openstack_upgrade():
try:
do_openstack_upgrade(CONFIGS)
action_set({'outcome': 'success, upgrade completed.'})
except:
action_set({'outcome': 'upgrade failed, see traceback.'})
action_set({'traceback': traceback.format_exc()})
action_fail('do_openstack_upgrade resulted in an '
'unexpected error')

View File

@ -333,7 +333,7 @@ def config_changed():
if git_install_requested():
if config_value_changed('openstack-origin-git'):
git_install(config('openstack-origin-git'))
elif not config('action_managed_upgrade'):
elif not config('action-managed-upgrade'):
if openstack_upgrade_available('glance-common'):
juju_log('Upgrading OpenStack release')
do_openstack_upgrade(CONFIGS)

View File

@ -41,7 +41,6 @@ class TestGlanceUpgradeActions(CharmTestCase):
self.assertTrue(do_openstack_upgrade.called)
self.assertTrue(config_changed.called)
self.assertFalse(action_set.called)
self.assertFalse(action_fail.called)
@patch.object(openstack_upgrade, 'action_set')

View File

@ -560,6 +560,15 @@ class GlanceRelationTests(CharmTestCase):
self.assertTrue(self.do_openstack_upgrade.called)
self.assertTrue(configure_https.called)
@patch.object(relations, 'git_install_requested')
def test_config_changed_with_openstack_upgrade_action(self, git_requested):
git_requested.return_value = False
self.openstack_upgrade_available.return_value = True
self.test_config.set('action-managed-upgrade', True)
relations.config_changed()
self.assertFalse(self.do_openstack_upgrade.called)
@patch.object(relations, 'configure_https')
@patch.object(relations, 'git_install_requested')
@patch.object(relations, 'config_value_changed')