def test_instance_log_exception(self): server = self.servers.first() self.mox.StubOutWithMock(api, "server_console_output") api.server_console_output(IsA(http.HttpRequest), server.id, tail_length=None).AndRaise(self.exceptions.nova) self.mox.ReplayAll() url = reverse("horizon:nova:instances_and_volumes:instances:console", args=[server.id]) tg = InstanceDetailTabs(self.request, instance=server) qs = "?%s=%s" % (tg.param_name, tg.get_tab("log").get_id()) res = self.client.get(url + qs) self.assertContains(res, "Unable to get log for")
def test_instance_log_exception(self): server = self.servers.first() self.mox.StubOutWithMock(api, 'server_console_output') api.server_console_output(IsA(http.HttpRequest), server.id, tail_length=None) \ .AndRaise(self.exceptions.nova) self.mox.ReplayAll() url = reverse('horizon:nova:instances_and_volumes:instances:console', args=[server.id]) tg = InstanceDetailTabs(self.request, instance=server) qs = "?%s=%s" % (tg.param_name, tg.get_tab("log").get_id()) res = self.client.get(url + qs) self.assertContains(res, "Unable to get log for")
def test_instance_log(self): server = self.servers.first() CONSOLE_OUTPUT = "output" self.mox.StubOutWithMock(api, "server_console_output") api.server_console_output(IsA(http.HttpRequest), server.id, tail_length=None).AndReturn(CONSOLE_OUTPUT) self.mox.ReplayAll() url = reverse("horizon:nova:instances_and_volumes:instances:console", args=[server.id]) tg = InstanceDetailTabs(self.request, instance=server) qs = "?%s=%s" % (tg.param_name, tg.get_tab("log").get_id()) res = self.client.get(url + qs) self.assertNoMessages() self.assertIsInstance(res, http.HttpResponse) self.assertContains(res, CONSOLE_OUTPUT)
def test_instance_console(self): CONSOLE_OUTPUT = 'output' INSTANCE_ID = self.servers[0].id self.mox.StubOutWithMock(api, 'server_console_output') api.server_console_output(IsA(http.HttpRequest), unicode(INSTANCE_ID), tail_length=None).AndReturn(CONSOLE_OUTPUT) self.mox.ReplayAll() res = self.client.get( reverse('horizon:nova:instances_and_volumes:instances:console', args=[INSTANCE_ID])) self.assertIsInstance(res, http.HttpResponse) self.assertContains(res, CONSOLE_OUTPUT)
def test_instance_log(self): server = self.servers.first() CONSOLE_OUTPUT = 'output' self.mox.StubOutWithMock(api, 'server_console_output') api.server_console_output(IsA(http.HttpRequest), server.id, tail_length=None) \ .AndReturn(CONSOLE_OUTPUT) self.mox.ReplayAll() url = reverse('horizon:nova:instances_and_volumes:instances:console', args=[server.id]) tg = InstanceDetailTabs(self.request, instance=server) qs = "?%s=%s" % (tg.param_name, tg.get_tab("log").get_id()) res = self.client.get(url + qs) self.assertNoMessages() self.assertIsInstance(res, http.HttpResponse) self.assertContains(res, CONSOLE_OUTPUT)
def get_context_data(self, request): instance = self.tab_group.kwargs['instance'] try: data = api.server_console_output(request, instance.id) except: data = _('Unable to get log for instance "%s".') % instance.id exceptions.handle(request, ignore=True) return {"instance": instance, "console_log": data}
def get_context_data(self, request): instance = self.tab_group.kwargs['instance'] try: data = api.server_console_output(request, instance.id, tail_length=35) except: data = _('Unable to get log for instance "%s".') % instance.id exceptions.handle(request, ignore=True) return {"instance": instance, "console_log": data}
def console(request, instance_id): try: # TODO(jakedahn): clean this up once the api supports tailing. data = api.server_console_output(request, instance_id) except: data = _('Unable to get log for instance "%s".') % instance_id exceptions.handle(request, ignore=True) response = http.HttpResponse(mimetype='text/plain') response.write(data) response.flush() return response
def console(request, instance_id): try: # TODO(jakedahn): clean this up once the api supports tailing. length = request.GET.get("length", None) console = api.server_console_output(request, instance_id, tail_length=length) response = http.HttpResponse(mimetype="text/plain") response.write(console) response.flush() return response except: msg = _('Unable to get log for instance "%s".') % instance_id redirect = reverse("horizon:nova:instances_and_volumes:index") exceptions.handle(request, msg, redirect=redirect)
def console(request, instance_id): try: # TODO(jakedahn): clean this up once the api supports tailing. tail = request.GET.get('length', None) data = api.server_console_output(request, instance_id, tail_length=tail) except: data = _('Unable to get log for instance "%s".') % instance_id exceptions.handle(request, ignore=True) response = http.HttpResponse(mimetype='text/plain') response.write(data) response.flush() return response
def console(request, instance_id): try: # TODO(jakedahn): clean this up once the api supports tailing. length = request.GET.get('length', None) console = api.server_console_output(request, instance_id, tail_length=length) response = http.HttpResponse(mimetype='text/plain') response.write(console) response.flush() return response except: msg = _('Unable to get log for instance "%s".') % instance_id redirect = reverse('horizon:nova:instances_and_volumes:index') exceptions.handle(request, msg, redirect=redirect)