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)
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):