From 947be72d7e60976da948d0cc8daeac29d8e4e209 Mon Sep 17 00:00:00 2001 From: David Della Vecchia Date: Mon, 10 Aug 2015 15:21:34 +0000 Subject: [PATCH] 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. --- actions/openstack_upgrade.py | 2 ++ hooks/glance_relations.py | 2 +- unit_tests/test_actions_openstack_upgrade.py | 1 - unit_tests/test_glance_relations.py | 9 +++++++++ 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/actions/openstack_upgrade.py b/actions/openstack_upgrade.py index eb87a98d..b8b5c2e5 100755 --- a/actions/openstack_upgrade.py +++ b/actions/openstack_upgrade.py @@ -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') diff --git a/hooks/glance_relations.py b/hooks/glance_relations.py index 5d37cbd3..d5be56a6 100755 --- a/hooks/glance_relations.py +++ b/hooks/glance_relations.py @@ -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) diff --git a/unit_tests/test_actions_openstack_upgrade.py b/unit_tests/test_actions_openstack_upgrade.py index 289b02af..f0f40361 100644 --- a/unit_tests/test_actions_openstack_upgrade.py +++ b/unit_tests/test_actions_openstack_upgrade.py @@ -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') diff --git a/unit_tests/test_glance_relations.py b/unit_tests/test_glance_relations.py index 8a43859d..25123928 100644 --- a/unit_tests/test_glance_relations.py +++ b/unit_tests/test_glance_relations.py @@ -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')