Ejemplo n.º 1
0
            inst.net.ip = inst_data['net']['ip']
            inst.net.save()
        except Exception, ex:
            (old_state, new_state) = (inst.state.name, State.objects.get(name='stop'))
            inst.state = new_state
            self.stdout.write('[INFO]: remove instance %s from node %s\n' % (inst.instance_id, node.name))
            inst.net.ip == '0.0.0.0'
            inst.net.save()
            node.instances.remove(inst)
        inst.save()
        self.stdout.write('[INFO]: change instance %s state from %s to %s\n' % (inst.instance_id, old_state, new_state))

        # refresh iamge size
        img = inst.image
        old_size = img.size
        new_size = utils.image_info(img.local_dev_real)['size']
        img.size = new_size
        img.save()

        # refresh instance disk size
        params = inst.params
        params.disk = img.max_size - img.size
        params.save()

        # update disk free to cluster
        cluster.disk_max -= inst.params.disk
        cluster.save()
        
        self.stdout.write('[INFO]: refresh image size: from %sMB to %sMB\n' % (old_size, new_size))

        self.stdout.write('[INFO]: refresh instance %s\n' % inst.instance_id)
Ejemplo n.º 2
0
Archivo: views.py Proyecto: PeerXu/PNC
        sys_type = request.POST['type']
        phy_name = request.POST['phyname']
        if not phy_name.endswith('.img'):
            raise Exception, 'error physics name'
    except Exception, ex:
        print ex
        return render_to_response('image/add.html', 
                                  context_instance=RequestContext(request, {}))

    img_id = 'img-%s-%s-%s' % (name, sys_type, phy_name[:-4])
    if len(Image.objects.filter(image_id=img_id)) != 0:
        return render_to_response('image/add.html', 
                                  context_instance=RequestContext(request, {}))

    path = config.IMAGE_PATH+phy_name
    info = utils.image_info(path)

    Image.objects.create(image_id=img_id,
                         remote_dev='',
                         local_dev=phy_name,
                         local_dev_real=path,
                         max_size=info['max_size'],
                         size=info['size'],
                         state=STATE['ACTIVE'])
    
    return HttpResponseRedirect("/clc")

def view_describe_resource(request, object, id=None):
    return HttpResponseRedirect("/clc")

def view_resource_cloud(request):