diff --git a/config.yaml b/config.yaml index 308c24e..07d14dd 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 4cbcf2c..f407397 100755 --- a/hooks/nova_compute_hooks.py +++ b/hooks/nova_compute_hooks.py @@ -82,8 +82,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 +201,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 0000000..3ba0bde --- /dev/null +++ b/hooks/upgrade-charm @@ -0,0 +1 @@ +nova_compute_hooks.py \ No newline at end of file diff --git a/unit_tests/test_nova_compute_hooks.py b/unit_tests/test_nova_compute_hooks.py index 36c3d82..5012372 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):