summaryrefslogtreecommitdiffstats
path: root/nova/api
diff options
context:
space:
mode:
authorBrian Waldon <brian.waldon@rackspace.com>2011-12-20 17:24:13 -0500
committerBrian Waldon <brian.waldon@rackspace.com>2011-12-20 17:24:13 -0500
commit47c4c49baaa08c83c29f695ed85e626b381b0a7e (patch)
treea3462c09aa817706841747428af5037a0854b803 /nova/api
parent733433efbf0dee847096fb9e671c02ef07b21b94 (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.py14
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)