Add get_backdoor_port to cert.

This adds a get_backdoor_port function to the cert service
which enables returning the eventlet_backdoor port from rpc
for the service.

Change-Id: Iea2b1f9587ea2749c2def921d6a0d1e86f1645ee
This commit is contained in:
Matthew Treinish 2012-12-19 17:38:52 -05:00
parent 276fded497
commit 576a561dd8
3 changed files with 18 additions and 2 deletions

View File

@ -34,7 +34,7 @@ LOG = logging.getLogger(__name__)
class CertManager(manager.Manager):
RPC_API_VERSION = '1.0'
RPC_API_VERSION = '1.1'
def init_host(self):
crypto.ensure_ca_filesystem()
@ -66,3 +66,6 @@ class CertManager(manager.Manager):
def decrypt_text(self, context, project_id, text):
"""Decrypt base64 encoded text using the projects private key."""
return crypto.decrypt_text(project_id, base64.b64decode(text))
def get_backdoor_port(self, context):
return self.backdoor_port

View File

@ -31,6 +31,7 @@ class CertAPI(nova.openstack.common.rpc.proxy.RpcProxy):
API version history:
1.0 - Initial version.
1.1 - Added get_backdoor_port()
'''
#
@ -78,3 +79,7 @@ class CertAPI(nova.openstack.common.rpc.proxy.RpcProxy):
return self.call(ctxt, self.make_msg('decrypt_text',
project_id=project_id,
text=text))
def get_backdoor_port(self, context, host):
return self.call(context, self.make_msg('get_backdoor_port'),
version='1.1')

View File

@ -33,8 +33,12 @@ class CertRpcAPITestCase(test.TestCase):
ctxt = context.RequestContext('fake_user', 'fake_project')
rpcapi = cert_rpcapi.CertAPI()
expected_retval = 'foo'
expected_version = kwargs.pop('version', rpcapi.BASE_RPC_API_VERSION)
expected_msg = rpcapi.make_msg(method, **kwargs)
expected_msg['version'] = rpcapi.BASE_RPC_API_VERSION
expected_msg['version'] = expected_version
if method == 'get_backdoor_port':
del expected_msg['args']['host']
self.call_ctxt = None
self.call_topic = None
@ -84,3 +88,7 @@ class CertRpcAPITestCase(test.TestCase):
def test_decrypt_text(self):
self._test_cert_api('decrypt_text',
project_id='fake_project_id', text='blah')
def test_get_backdoor_port(self):
self._test_cert_api('get_backdoor_port', host='fake_host',
version='1.1')