Пример #1
0
    def test_instance_vnc_exception(self):
        server = self.servers.first()

        self.mox.StubOutWithMock(api, "server_vnc_console")
        api.server_vnc_console(IsA(http.HttpRequest), server.id).AndRaise(self.exceptions.nova)
        self.mox.ReplayAll()

        url = reverse("horizon:nova:instances_and_volumes:instances:vnc", args=[server.id])
        res = self.client.get(url)
        self.assertRedirectsNoFollow(res, INDEX_URL)
Пример #2
0
    def test_instance_vnc_exception(self):
        server = self.servers.first()

        self.mox.StubOutWithMock(api, 'server_vnc_console')
        api.server_vnc_console(IsA(http.HttpRequest), server.id) \
                        .AndRaise(self.exceptions.nova)
        self.mox.ReplayAll()

        url = reverse('horizon:nova:instances_and_volumes:instances:vnc',
                      args=[server.id])
        res = self.client.get(url)
        self.assertRedirectsNoFollow(res, INDEX_URL)
Пример #3
0
    def test_instance_vnc_exception(self):
        server = self.servers.first()

        api.server_vnc_console(IsA(http.HttpRequest), server.id) \
                        .AndRaise(self.exceptions.nova)

        self.mox.ReplayAll()

        url = reverse('horizon:nova:instances:vnc',
                      args=[server.id])
        res = self.client.get(url)

        self.assertRedirectsNoFollow(res, INDEX_URL)
Пример #4
0
    def test_instance_vnc_exception(self):
        INSTANCE_ID = self.servers[0].id

        exception = nova_exceptions.ClientException(500)

        self.mox.StubOutWithMock(api, 'server_vnc_console')
        api.server_vnc_console(IsA(http.HttpRequest),
                           unicode(INSTANCE_ID)).AndRaise(exception)

        self.mox.ReplayAll()

        res = self.client.get(
                    reverse('horizon:nova:instances_and_volumes:instances:vnc',
                            args=[INSTANCE_ID]))

        self.assertRedirectsNoFollow(res, INDEX_URL)
Пример #5
0
    def get_data(self, request, context, *args, **kwargs):
        instance_id = kwargs["instance_id"]

        if "show" in request.GET:
            show_tab = request.GET["show"]
        else:
            show_tab = "overview"

        try:
            instance = api.server_get(request, instance_id)
            volumes = api.volume_instance_list(request, instance_id)

            # Gather our flavors and images and correlate our instances to
            # them. Exception handling happens in the parent class.
            flavors = api.flavor_list(request)
            full_flavors = SortedDict([(str(flavor.id), flavor) for flavor in flavors])
            instance.full_flavor = full_flavors[instance.flavor["id"]]

            context.update({"instance": instance, "volumes": volumes})
        except:
            redirect = reverse("horizon:nova:instances_and_volumes:index")
            exceptions.handle(
                request, _("Unable to retrieve details for " 'instance "%s".') % instance_id, redirect=redirect
            )
        if show_tab == "vnc":
            try:
                console = api.server_vnc_console(request, instance_id)
                vnc_url = "%s&title=%s(%s)" % (console.url, getattr(instance, "name", ""), instance_id)
                context.update({"vnc_url": vnc_url})
            except:
                exceptions.handle(request, _("Unable to get vnc console for " 'instance "%s".') % instance_id)

        context.update({"show_tab": show_tab})

        return context
Пример #6
0
    def test_instance_vnc_exception(self):
        INSTANCE_ID = self.servers[0].id

        exception = nova_exceptions.ClientException(500)

        self.mox.StubOutWithMock(api, 'server_vnc_console')
        api.server_vnc_console(IsA(http.HttpRequest),
                               unicode(INSTANCE_ID)).AndRaise(exception)

        self.mox.ReplayAll()

        res = self.client.get(
            reverse('horizon:nova:instances_and_volumes:instances:vnc',
                    args=[INSTANCE_ID]))

        self.assertRedirectsNoFollow(res, INDEX_URL)
Пример #7
0
    def test_instance_vnc(self):
        server = self.servers.first()
        CONSOLE_OUTPUT = "/vncserver"

        console_mock = self.mox.CreateMock(api.VNCConsole)
        console_mock.url = CONSOLE_OUTPUT

        self.mox.StubOutWithMock(api, "server_vnc_console")
        self.mox.StubOutWithMock(api, "server_get")
        api.server_get(IsA(http.HttpRequest), server.id).AndReturn(server)
        api.server_vnc_console(IgnoreArg(), server.id).AndReturn(console_mock)
        self.mox.ReplayAll()

        url = reverse("horizon:project:instances:vnc", args=[server.id])
        res = self.client.get(url)
        redirect = CONSOLE_OUTPUT + "&title=%s(1)" % server.name
        self.assertRedirectsNoFollow(res, redirect)
Пример #8
0
    def test_instance_vnc(self):
        server = self.servers.first()
        CONSOLE_OUTPUT = '/vncserver'

        console_mock = self.mox.CreateMock(api.VNCConsole)
        console_mock.url = CONSOLE_OUTPUT

        self.mox.StubOutWithMock(api, 'server_vnc_console')
        self.mox.StubOutWithMock(api, 'server_get')
        api.server_get(IsA(http.HttpRequest), server.id).AndReturn(server)
        api.server_vnc_console(IgnoreArg(), server.id).AndReturn(console_mock)
        self.mox.ReplayAll()

        url = reverse('horizon:nova:instances:vnc',
                      args=[server.id])
        res = self.client.get(url)
        redirect = CONSOLE_OUTPUT + '&title=%s(1)' % server.name
        self.assertRedirectsNoFollow(res, redirect)
Пример #9
0
    def test_instance_vnc(self):
        server = self.servers.first()
        CONSOLE_OUTPUT = '/vncserver'

        console_mock = self.mox.CreateMock(api.VNCConsole)
        console_mock.url = CONSOLE_OUTPUT

        self.mox.StubOutWithMock(api, 'server_vnc_console')
        self.mox.StubOutWithMock(api, 'server_get')
        api.server_get(IsA(http.HttpRequest), server.id).AndReturn(server)
        api.server_vnc_console(IgnoreArg(), server.id).AndReturn(console_mock)
        self.mox.ReplayAll()

        url = reverse('horizon:nova:instances_and_volumes:instances:vnc',
                      args=[server.id])
        res = self.client.get(url)
        redirect = CONSOLE_OUTPUT + '&title=%s(1)' % server.name
        self.assertRedirectsNoFollow(res, redirect)
Пример #10
0
def vnc(request, instance_id):
    try:
        console = api.server_vnc_console(request, instance_id)
        instance = api.server_get(request, instance_id)
        return shortcuts.redirect(console.url + ("&title=%s(%s)" % (instance.name, instance_id)))
    except:
        redirect = reverse("horizon:nova:instances_and_volumes:index")
        msg = _('Unable to get VNC console for instance "%s".') % instance_id
        exceptions.handle(request, msg, redirect=redirect)
Пример #11
0
def vnc(request, instance_id):
    try:
        console = api.server_vnc_console(request, instance_id)
        instance = api.server_get(request, instance_id)
        return shortcuts.redirect(console.url + ("&title=%s(%s)" %
                                                 (instance.name, instance_id)))
    except:
        redirect = reverse("horizon:nova:instances:index")
        msg = _('Unable to get VNC console for instance "%s".') % instance_id
        exceptions.handle(request, msg, redirect=redirect)
Пример #12
0
    def test_server_vnc_console(self):
        server = self.servers.first()
        console = self.servers.console_data
        console_type = console["console"]["type"]

        novaclient = self.stub_novaclient()
        novaclient.servers = self.mox.CreateMockAnything()
        novaclient.servers.get_vnc_console(server.id, console_type).AndReturn(console)
        self.mox.ReplayAll()

        ret_val = api.server_vnc_console(self.request, server.id, console_type)
        self.assertIsInstance(ret_val, api.nova.VNCConsole)
Пример #13
0
    def test_instance_vnc(self):
        INSTANCE_ID = self.servers[0].id
        CONSOLE_OUTPUT = '/vncserver'

        console_mock = self.mox.CreateMock(api.VNCConsole)
        console_mock.url = CONSOLE_OUTPUT

        self.mox.StubOutWithMock(api, 'server_vnc_console')
        self.mox.StubOutWithMock(api, 'server_get')
        api.server_get(IsA(http.HttpRequest),
                       str(self.servers[0].id)).AndReturn(self.servers[0])
        api.server_vnc_console(IgnoreArg(),
                               unicode(INSTANCE_ID)).AndReturn(console_mock)

        self.mox.ReplayAll()

        res = self.client.get(
                    reverse('horizon:nova:instances_and_volumes:instances:vnc',
                            args=[INSTANCE_ID]))

        self.assertRedirectsNoFollow(res,
                CONSOLE_OUTPUT + '&title=serverName(1)')
Пример #14
0
    def test_instance_vnc(self):
        INSTANCE_ID = self.servers[0].id
        CONSOLE_OUTPUT = '/vncserver'

        console_mock = self.mox.CreateMock(api.VNCConsole)
        console_mock.url = CONSOLE_OUTPUT

        self.mox.StubOutWithMock(api, 'server_vnc_console')
        self.mox.StubOutWithMock(api, 'server_get')
        api.server_get(IsA(http.HttpRequest),
                       str(self.servers[0].id)).AndReturn(self.servers[0])
        api.server_vnc_console(IgnoreArg(),
                               unicode(INSTANCE_ID)).AndReturn(console_mock)

        self.mox.ReplayAll()

        res = self.client.get(
            reverse('horizon:nova:instances_and_volumes:instances:vnc',
                    args=[INSTANCE_ID]))

        self.assertRedirectsNoFollow(res,
                                     CONSOLE_OUTPUT + '&title=serverName(1)')
Пример #15
0
    def test_server_vnc_console(self):
        server = self.servers.first()
        console = self.servers.console_data
        console_type = console["console"]["type"]

        novaclient = self.stub_novaclient()
        novaclient.servers = self.mox.CreateMockAnything()
        novaclient.servers.get_vnc_console(server.id,
                                           console_type).AndReturn(console)
        self.mox.ReplayAll()

        ret_val = api.server_vnc_console(self.request, server.id, console_type)
        self.assertIsInstance(ret_val, api.nova.VNCConsole)
Пример #16
0
    def get_data(self, request, context, *args, **kwargs):
        instance_id = kwargs['instance_id']

        if "show" in request.GET:
            show_tab = request.GET["show"]
        else:
            show_tab = "overview"

        try:
            instance = api.server_get(request, instance_id)
            volumes = api.volume_instance_list(request, instance_id)

            # Gather our flavors and images and correlate our instances to
            # them. Exception handling happens in the parent class.
            flavors = api.flavor_list(request)
            full_flavors = SortedDict([(str(flavor.id), flavor) for \
                                        flavor in flavors])
            instance.full_flavor = full_flavors[instance.flavor["id"]]

            context.update({'instance': instance, 'volumes': volumes})
        except:
            redirect = reverse('horizon:nova:instances_and_volumes:index')
            exceptions.handle(request,
                              _('Unable to retrieve details for '
                                'instance "%s".') % instance_id,
                              redirect=redirect)
        if show_tab == "vnc":
            try:
                console = api.server_vnc_console(request, instance_id)
                vnc_url = "%s&title=%s(%s)" % (
                    console.url, getattr(instance, "name", ""), instance_id)
                context.update({'vnc_url': vnc_url})
            except:
                exceptions.handle(
                    request,
                    _('Unable to get vnc console for '
                      'instance "%s".') % instance_id)

        context.update({'show_tab': show_tab})

        return context