From 47c4c49baaa08c83c29f695ed85e626b381b0a7e Mon Sep 17 00:00:00 2001 From: Brian Waldon Date: Tue, 20 Dec 2011 17:24:13 -0500 Subject: Fix os-console-output extension integration Fixes bug 907083 Change-Id: Ia57d316db0c79d7e78ef3225e77cd95589ac68df --- nova/api/openstack/v2/contrib/console_output.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'nova/api') diff --git a/nova/api/openstack/v2/contrib/console_output.py b/nova/api/openstack/v2/contrib/console_output.py index 32bd3a5fb..3d75d5d6b 100644 --- a/nova/api/openstack/v2/contrib/console_output.py +++ b/nova/api/openstack/v2/contrib/console_output.py @@ -42,10 +42,20 @@ class Console_output(extensions.ExtensionDescriptor): def get_console_output(self, input_dict, req, server_id): """Get text console output.""" context = req.environ['nova.context'] - length = input_dict['os-getConsoleOutput'].get('length') + + try: + instance = self.compute_api.routing_get(context, server_id) + except exception.NotFound: + raise webob.exc.HTTPNotFound(_('Instance not found')) + + try: + length = input_dict['os-getConsoleOutput'].get('length') + except (TypeError, KeyError): + raise webob.exc.HTTPBadRequest(_('Malformed request body')) + try: return self.compute_api.get_console_output(context, - server_id, + instance, length) except exception.ApiError, e: raise webob.exc.HTTPBadRequest(explanation=e.message) -- cgit