def post(self): if self.appliance: form = CreateInstanceBaseForm( self.request.arguments ) app = self.appliance else: form = CreateInstanceForm( self.request.arguments ) form.appliance.query = self.db2.query(Appliance).all() app = form.appliance.data self.d['APPLIANCE'] = app self.d['form'] = form if form.validate(): # instance name have used by myself ? exist_inst = self.db2.query(Instance).filter_by( name = form.name.data).filter_by( user_id = self.current_user.id).first() if exist_inst: form.name.errors.append( _('You have used the name for a instance !') ) # TODO: resource limit profile = self.current_user.profile if (form.cpus.data + self.USED_CPUS) > profile.cpus: form.cpus.errors.append( _('cpus can not greater than %s') % (profile.cpus - self.USED_CPUS) ) if (form.memory.data + self.USED_MEMORY) > profile.memory: form.memory.errors.append( _('memory can not greater than %s') % (profile.memory - self.USED_MEMORY) ) if ( form.name.errors or form.cpus.errors or form.memory.errors ): return self.render( 'instance/create.html', **self.d ) # Create new instance instance = Instance( name=form.name.data, user=self.current_user, appliance=app ) instance.cpus = form.cpus.data instance.memory = form.memory.data instance.isprivate = form.isprivate.data self.db2.add(instance) self.db2.commit() instance.logo = self.create_logo(app, instance.id) self.db2.commit() instance.mac = '92:1B:40:26:%02x:%02x' % ( instance.id / 256, instance.id % 256 ) self.db2.commit() # TODO self.set_ip( instance ) self.binding_domain( instance ) url = self.reverse_url('instance:view', instance.id) return self.redirect(url) # Something is wrong self.render( 'instance/create.html', **self.d )
def post(self): if self.appliance: form = CreateInstanceBaseForm( self.request.arguments ) app = self.appliance else: form = CreateInstanceForm( self.request.arguments ) form.appliance.query = self.db2.query(Appliance).filter_by( isprivate = False).filter_by(isuseable = True).all() app = form.appliance.data self.d['APPLIANCE'] = app self.d['form'] = form if form.validate(): # instance name have used by myself ? exist_inst = self.db2.query(Instance).filter_by( name = form.name.data).filter_by( user_id = self.current_user.id).first() if exist_inst: form.name.errors.append( _('You have used the name for a instance !') ) # TODO: resource limit profile = self.current_user.profile if (form.cpus.data + self.USED_CPUS) > profile.cpus: form.cpus.errors.append( _('cpus can not greater than %s') % (profile.cpus - self.USED_CPUS) ) if (form.memory.data + self.USED_MEMORY) > profile.memory: form.memory.errors.append( _('memory can not greater than %s') % (profile.memory - self.USED_MEMORY) ) if ( form.name.errors or form.cpus.errors or form.memory.errors ): return self.render( 'instance/create.html', **self.d ) # Create new instance instance = Instance( name=form.name.data, user=self.current_user, appliance=app ) instance.cpus = form.cpus.data instance.memory = form.memory.data instance.isprivate = form.isprivate.data self.db2.add(instance) self.db2.commit() instance.logo = self.create_logo(app, instance.id) self.db2.commit() instance.mac = '92:1B:40:26:%02x:%02x' % ( instance.id / 256, instance.id % 256 ) self.db2.commit() # TODO self.set_ip( instance ) self.binding_domain( instance ) url = self.reverse_url('instance:view', instance.id) return self.redirect(url) # Something is wrong self.render( 'instance/create.html', **self.d )
def post(self): A = self.A form = self.form if form.validate(): if not A: A = self.db.query(Appliance).get(form.appliance.data) if not A: return self.write( _('Give me the appliance please.') ) # Create new instance I = Instance( name = form.name.data, user = self.current_user, appliance = A ) I.cpus = form.cpus.data I.memory = form.memory.data I.isprivate = form.isprivate.data self.db.add( I ) self.db.commit() I.mac = '92:1B:40:26:%02x:%02x' % ( I.id / 256, I.id % 256 ) self.db.commit() # I.save_logo() # TODO: ip self.set_ip( I ) # TODO: root password self.set_secret( I ) url = self.reverse_url('myun:instance:view') url += '?id=%s' % I.id return self.redirect(url) # Something is wrong self.render()
def post(self): A = self.A form = self.form if form.validate(): if not A: A = self.db.query(Appliance).get(form.appliance.data) if not A: return self.write(_('Give me the appliance please.')) # Create new instance I = Instance(name=form.name.data, user=self.current_user, appliance=A) I.cpus = form.cpus.data I.memory = form.memory.data I.isprivate = form.isprivate.data self.db.add(I) self.db.commit() # I.save_logo() # TODO: ip self.set_ip(I) # TODO: root password self.set_secret(I) url = self.reverse_url('myun:instance:view') url += '?id=%s' % I.id return self.redirect(url) # Something is wrong self.render()