From 60b6c5d53508d9c2b113dd78c5a0bc43a7fad9f8 Mon Sep 17 00:00:00 2001 From: Russell Bryant Date: Tue, 29 May 2012 21:39:11 -0400 Subject: Add get_console_topic() to the compute rpcapi. Part of bug 1006467. This patch adds get_console_topic to the compute rpcapi. This method is used by the console API. Change-Id: I738be88a52fede0739a73283b6e2640072f0f72b --- nova/compute/rpcapi.py | 4 ++++ nova/console/api.py | 8 +++----- nova/tests/compute/test_rpcapi.py | 3 +++ 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/nova/compute/rpcapi.py b/nova/compute/rpcapi.py index d65715b72..0694d6e09 100644 --- a/nova/compute/rpcapi.py +++ b/nova/compute/rpcapi.py @@ -118,6 +118,10 @@ class ComputeAPI(nova.rpc.proxy.RpcProxy): console_type=console_type), topic=self._compute_topic(ctxt, host, None)) + def get_console_topic(self, ctxt, host): + return self.call(ctxt, self.make_msg('get_console_topic'), + topic=self._compute_topic(ctxt, host, None)) + def get_diagnostics(self, ctxt, instance): return self.call(ctxt, self.make_msg('get_diagnostics', instance_uuid=instance['uuid']), diff --git a/nova/console/api.py b/nova/console/api.py index 20f00030e..fa0836d44 100644 --- a/nova/console/api.py +++ b/nova/console/api.py @@ -17,6 +17,7 @@ """Handles ConsoleProxy API requests.""" +from nova.compute import rpcapi as compute_rpcapi from nova.console import rpcapi as console_rpcapi from nova.db import base from nova import flags @@ -61,11 +62,8 @@ class API(base.Base): rpcapi.add_console(context, instance['id']) def _get_console_topic(self, context, instance_host): - topic = rpc.queue_get_for(context, - FLAGS.compute_topic, - instance_host) - return rpc.call(context, topic, {'method': 'get_console_topic', - 'args': {'fake': 1}}) + rpcapi = compute_rpcapi.ComputeAPI() + return rpcapi.get_console_topic(context, instance_host) def _translate_uuid_if_necessary(self, context, instance_id): if utils.is_uuid_like(instance_id): diff --git a/nova/tests/compute/test_rpcapi.py b/nova/tests/compute/test_rpcapi.py index 02ac53102..7a4fda426 100644 --- a/nova/tests/compute/test_rpcapi.py +++ b/nova/tests/compute/test_rpcapi.py @@ -134,6 +134,9 @@ class ComputeRpcAPITestCase(test.TestCase): self._test_compute_api('get_console_pool_info', 'call', console_type='type', host='host') + def test_get_console_topic(self): + self._test_compute_api('get_console_topic', 'call', host='host') + def test_get_diagnostics(self): self._test_compute_api('get_diagnostics', 'call', instance=self.fake_instance) -- cgit