Example #1
0
    def test_instance_log_exception(self):
        server = self.servers.first()

        api.server_console_output(IsA(http.HttpRequest), server.id, tail_length=None).AndRaise(self.exceptions.nova)

        self.mox.ReplayAll()

        url = reverse("horizon:project: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")
Example #2
0
    def test_instance_log_exception(self):
        server = self.servers.first()

        api.server_console_output(IsA(http.HttpRequest),
                                  server.id, tail_length=None) \
                                .AndRaise(self.exceptions.nova)

        self.mox.ReplayAll()

        url = reverse('horizon:project: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")
Example #3
0
    def test_instance_log(self):
        server = self.servers.first()
        CONSOLE_OUTPUT = "output"

        api.server_console_output(IsA(http.HttpRequest), server.id, tail_length=None).AndReturn(CONSOLE_OUTPUT)

        self.mox.ReplayAll()

        url = reverse("horizon:project: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)
Example #4
0
    def test_instance_log(self):
        server = self.servers.first()
        CONSOLE_OUTPUT = 'output'

        api.server_console_output(IsA(http.HttpRequest),
                                  server.id, tail_length=None) \
                                  .AndReturn(CONSOLE_OUTPUT)

        self.mox.ReplayAll()

        url = reverse('horizon:project: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)
Example #5
0
 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}
Example #6
0
 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}
Example #7
0
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
Example #8
0
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