diff --git a/actions/openstack_upgrade.py b/actions/openstack_upgrade.py index 80205e88..694155e9 100755 --- a/actions/openstack_upgrade.py +++ b/actions/openstack_upgrade.py @@ -34,6 +34,7 @@ from nova_cc_hooks import ( config_changed, CONFIGS, neutron_api_relation_joined, + db_joined, ) @@ -50,6 +51,10 @@ def openstack_upgrade(): CONFIGS)): [neutron_api_relation_joined(rid=rid, remote_restart=True) for rid in relation_ids('neutron-api')] + # NOTE(thedac): Force re-fire of shared-db joined hook + # to ensure that nova_api database is setup if required. + [db_joined(relation_id=r_id) + for r_id in relation_ids('shared-db')] config_changed() if __name__ == '__main__': diff --git a/unit_tests/test_actions_openstack_upgrade.py b/unit_tests/test_actions_openstack_upgrade.py index 775ed47e..f66fe000 100644 --- a/unit_tests/test_actions_openstack_upgrade.py +++ b/unit_tests/test_actions_openstack_upgrade.py @@ -42,6 +42,7 @@ TO_PATCH = [ 'do_openstack_upgrade', 'relation_ids', 'neutron_api_relation_joined', + 'db_joined', 'config_changed', ] @@ -66,9 +67,9 @@ class TestNovaCCUpgradeActions(CharmTestCase): openstack_upgrade.openstack_upgrade() self.assertTrue(self.do_openstack_upgrade.called) - self.assertTrue( - self.neutron_api_relation_joined.called_with(rid='relid1', - remote_restart=True)) + self.neutron_api_relation_joined.assert_called_with( + rid='relid1', remote_restart=True) + self.db_joined.assert_called_with(relation_id='relid1') self.assertTrue(self.config_changed.called) @patch('charmhelpers.contrib.openstack.utils.config')