diff options
| author | Brian Waldon <brian.waldon@rackspace.com> | 2011-12-20 17:24:13 -0500 |
|---|---|---|
| committer | Brian Waldon <brian.waldon@rackspace.com> | 2011-12-20 17:24:13 -0500 |
| commit | 47c4c49baaa08c83c29f695ed85e626b381b0a7e (patch) | |
| tree | a3462c09aa817706841747428af5037a0854b803 /nova/api | |
| parent | 733433efbf0dee847096fb9e671c02ef07b21b94 (diff) | |
Fix os-console-output extension integration
Fixes bug 907083
Change-Id: Ia57d316db0c79d7e78ef3225e77cd95589ac68df
Diffstat (limited to 'nova/api')
| -rw-r--r-- | nova/api/openstack/v2/contrib/console_output.py | 14 |
1 files changed, 12 insertions, 2 deletions
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) |
