예제 #1
0
파일: tests.py 프로젝트: redondos/horizon
    def test_disassociate_post_with_exception(self):
        floating_ip = self.floating_ips.first()
        server = self.servers.first()
        self.mox.StubOutWithMock(api.nova, 'keypair_list')
        self.mox.StubOutWithMock(api, 'security_group_list')
        self.mox.StubOutWithMock(api, 'tenant_floating_ip_list')
        self.mox.StubOutWithMock(api, 'tenant_floating_ip_get')
        self.mox.StubOutWithMock(api, 'server_remove_floating_ip')
        self.mox.StubOutWithMock(api.nova, 'server_list')

        api.nova.server_list(IsA(http.HttpRequest),
                             all_tenants=True).AndReturn(self.servers.list())
        api.nova.keypair_list(IsA(http.HttpRequest)) \
                              .AndReturn(self.keypairs.list())
        api.security_group_list(IsA(http.HttpRequest)) \
                                .AndReturn(self.security_groups.list())
        api.tenant_floating_ip_list(IsA(http.HttpRequest)) \
                                    .AndReturn(self.floating_ips.list())

        api.server_remove_floating_ip(IsA(http.HttpRequest),
                                      server.id,
                                      floating_ip.id) \
                                .AndRaise(self.exceptions.nova)
        self.mox.ReplayAll()

        action = "floating_ips__disassociate__%s" % floating_ip.id
        res = self.client.post(INDEX_URL, {"action": action})
        self.assertRedirectsNoFollow(res, INDEX_URL)
예제 #2
0
 def single(self, table, request, obj_id):
     try:
         fip = table.get_object_by_id(int(obj_id))
         api.server_remove_floating_ip(request, fip.instance_id, fip.id)
         LOG.info('Disassociating Floating IP "%s".' % obj_id)
         messages.success(
             request,
             _('Successfully disassociated Floating IP: %s') % fip.ip)
     except:
         exceptions.handle(request,
                           _('Unable to disassociate floating IP.'))
     return shortcuts.redirect('horizon:project:access_and_security:index')
예제 #3
0
 def single(self, table, request, obj_id):
     try:
         fip = table.get_object_by_id(get_int_or_uuid(obj_id))
         api.server_remove_floating_ip(request, fip.instance_id, fip.id)
         LOG.info('Disassociating Floating IP "%s".' % obj_id)
         messages.success(request,
                          _('Successfully disassociated Floating IP: %s')
                          % fip.ip)
     except:
         exceptions.handle(request,
                           _('Unable to disassociate floating IP.'))
     return shortcuts.redirect('horizon:project:access_and_security:index')
    def handle(self, request, data):
        try:
            fip = api.tenant_floating_ip_get(request, data['floating_ip_id'])
            api.server_remove_floating_ip(request, fip.instance_id, fip.id)

            LOG.info('Disassociating Floating IP "%s"'
                      % data['floating_ip_id'])

            messages.info(request, 'Successfully disassociated Floating IP: %s'
                                    % data['floating_ip_id'])
        except novaclient_exceptions.ClientException, e:
            LOG.error("ClientException in FloatingIpAssociate", exc_info=True)
            messages.error(request, 'Error disassociating Floating IP: %s'
                                     % e.message)
예제 #5
0
    def test_server_remove_floating_ip(self):
        server = api.nova.Server(self.servers.first(), self.request)
        floating_ip = self.floating_ips.first()

        novaclient = self.stub_novaclient()
        novaclient.servers = self.mox.CreateMockAnything()
        novaclient.floating_ips = self.mox.CreateMockAnything()
        novaclient.servers.get(server.id).AndReturn(server)
        novaclient.floating_ips.get(floating_ip.id).AndReturn(floating_ip)
        novaclient.servers.remove_floating_ip(server.id, floating_ip.ip) \
                          .AndReturn(server)
        self.mox.ReplayAll()

        server = api.server_remove_floating_ip(self.request, server.id,
                                               floating_ip.id)
        self.assertIsInstance(server, api.nova.Server)
예제 #6
0
    def test_server_remove_floating_ip(self):
        server = api.nova.Server(self.servers.first(), self.request)
        floating_ip = self.floating_ips.first()

        novaclient = self.stub_novaclient()
        novaclient.servers = self.mox.CreateMockAnything()
        novaclient.floating_ips = self.mox.CreateMockAnything()
        novaclient.servers.get(server.id).AndReturn(server)
        novaclient.floating_ips.get(floating_ip.id).AndReturn(floating_ip)
        novaclient.servers.remove_floating_ip(server.id, floating_ip.ip) \
                          .AndReturn(server)
        self.mox.ReplayAll()

        server = api.server_remove_floating_ip(self.request,
                                               server.id,
                                               floating_ip.id)
        self.assertIsInstance(server, api.nova.Server)