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:55:11 -0500 |
| commit | b1bd80bb087c37846edfd598d20eee5151788ddd (patch) | |
| tree | 38b6899347f79938472dff8b0bbe0091b01f8847 | |
| parent | 47c4c49baaa08c83c29f695ed85e626b381b0a7e (diff) | |
| download | nova-b1bd80bb087c37846edfd598d20eee5151788ddd.tar.gz nova-b1bd80bb087c37846edfd598d20eee5151788ddd.tar.xz nova-b1bd80bb087c37846edfd598d20eee5151788ddd.zip | |
Fix one last bug in os-console-output extension
Actually fixes bug 907083
Change-Id: Ia57d316db0c79d7e78ef3225e77cd95589ac68de
| -rw-r--r-- | nova/api/openstack/v2/contrib/console_output.py | 8 | ||||
| -rw-r--r-- | nova/tests/api/openstack/v2/contrib/test_console_output.py | 6 |
2 files changed, 10 insertions, 4 deletions
diff --git a/nova/api/openstack/v2/contrib/console_output.py b/nova/api/openstack/v2/contrib/console_output.py index 3d75d5d6b..9aae769a3 100644 --- a/nova/api/openstack/v2/contrib/console_output.py +++ b/nova/api/openstack/v2/contrib/console_output.py @@ -54,14 +54,16 @@ class Console_output(extensions.ExtensionDescriptor): raise webob.exc.HTTPBadRequest(_('Malformed request body')) try: - return self.compute_api.get_console_output(context, - instance, - length) + output = self.compute_api.get_console_output(context, + instance, + length) except exception.ApiError, e: raise webob.exc.HTTPBadRequest(explanation=e.message) except exception.NotAuthorized, e: raise webob.exc.HTTPUnauthorized() + return {'output': output} + def get_actions(self): """Return the actions the extension adds, as required by contract.""" actions = [extensions.ActionExtension("servers", "os-getConsoleOutput", diff --git a/nova/tests/api/openstack/v2/contrib/test_console_output.py b/nova/tests/api/openstack/v2/contrib/test_console_output.py index bfb734f80..0fae967eb 100644 --- a/nova/tests/api/openstack/v2/contrib/test_console_output.py +++ b/nova/tests/api/openstack/v2/contrib/test_console_output.py @@ -24,7 +24,7 @@ from nova.tests.api.openstack import fakes def fake_get_console_output(self, _context, _instance, tail_length): - fixture = [str(i) for i in range(10)] + fixture = [str(i) for i in range(5)] if tail_length is None: pass @@ -60,7 +60,9 @@ class ConsoleOutputExtensionTest(test.TestCase): req.headers["content-type"] = "application/json" res = req.get_response(fakes.wsgi_app()) + output = json.loads(res.body) self.assertEqual(res.status_int, 200) + self.assertEqual(output, {'output': '0\n1\n2\n3\n4'}) def test_get_console_output_with_tail(self): body = {'os-getConsoleOutput': {'length': 3}} @@ -69,7 +71,9 @@ class ConsoleOutputExtensionTest(test.TestCase): req.body = json.dumps(body) req.headers["content-type"] = "application/json" res = req.get_response(fakes.wsgi_app()) + output = json.loads(res.body) self.assertEqual(res.status_int, 200) + self.assertEqual(output, {'output': '2\n3\n4'}) def test_get_text_console_no_instance(self): self.stubs.Set(compute.API, 'get', fake_get_not_found) |
