diff --git a/config.yaml b/config.yaml index 308c24e0..07d14ddc 100644 --- a/config.yaml +++ b/config.yaml @@ -23,7 +23,7 @@ options: type: string description: Username used to access rabbitmq queue rabbit-vhost: - default: nova + default: openstack type: string decsription: Rabbitmq vhost database-user: diff --git a/hooks/nova_compute_hooks.py b/hooks/nova_compute_hooks.py index 4cbcf2c1..e3b1aa07 100755 --- a/hooks/nova_compute_hooks.py +++ b/hooks/nova_compute_hooks.py @@ -81,9 +81,10 @@ def config_changed(): @hooks.hook('amqp-relation-joined') -@restart_on_change(restart_map()) -def amqp_joined(): - relation_set(username=config('rabbit-user'), vhost=config('rabbit-vhost')) +def amqp_joined(relation_id=None): + relation_set(relation_id=relation_id, + username=config('rabbit-user'), + vhost=config('rabbit-vhost')) @hooks.hook('amqp-relation-changed') @@ -199,6 +200,12 @@ def relation_broken(): CONFIGS.write_all() +@hooks.hook('upgrade-charm') +def upgrade_charm(): + for r_id in relation_ids('amqp'): + amqp_joined(relation_id=r_id) + + def main(): try: hooks.execute(sys.argv) diff --git a/hooks/upgrade-charm b/hooks/upgrade-charm new file mode 120000 index 00000000..3ba0bdea --- /dev/null +++ b/hooks/upgrade-charm @@ -0,0 +1 @@ +nova_compute_hooks.py \ No newline at end of file diff --git a/revision b/revision index b0d73241..fd03ab2a 100644 --- a/revision +++ b/revision @@ -1 +1 @@ -129 +130 diff --git a/unit_tests/test_nova_compute_hooks.py b/unit_tests/test_nova_compute_hooks.py index 36c3d82f..50123721 100644 --- a/unit_tests/test_nova_compute_hooks.py +++ b/unit_tests/test_nova_compute_hooks.py @@ -105,7 +105,8 @@ class NovaComputeRelationsTests(CharmTestCase): def test_amqp_joined(self): hooks.amqp_joined() - self.relation_set.assert_called_with(username='nova', vhost='nova') + self.relation_set.assert_called_with(username='nova', vhost='openstack', + relation_id=None) @patch.object(hooks, 'CONFIGS') def test_amqp_changed_missing_relation_data(self, configs):