X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-web.git/blobdiff_plain/82e135b9c84782a1a0aa9aafd0b084b23450ae35..7e475305c56dff91f3b53a7482c761085a276d90:/code/validation.py?ds=inline diff --git a/code/validation.py b/code/validation.py index 05e4c27..0ab0988 100644 --- a/code/validation.py +++ b/code/validation.py @@ -10,11 +10,7 @@ from invirt.config import structs as config from invirt.common import InvalidInput, CodeError MIN_MEMORY_SINGLE = 16 -MAX_DISK_TOTAL = 50 -MAX_DISK_SINGLE = 50 MIN_DISK_SINGLE = 0.1 -MAX_VMS_TOTAL = 10 -MAX_VMS_ACTIVE = 4 class Validate: def __init__(self, username, state, machine_id=None, name=None, description=None, owner=None, @@ -89,7 +85,7 @@ def maxMemory(owner, g, machine=None, on=True): memory for the machine to change to, if it is left off, is returned. """ - (quota_total, quota_single) = Owner.getQuotas(machine.owner if machine else owner) + (quota_total, quota_single) = Owner.getMemoryQuotas(machine.owner if machine else owner) if not on: return quota_single @@ -104,6 +100,8 @@ def maxDisk(owner, machine=None): If machine is None, the maximum disk for a new machine. Otherwise, return the maximum that a given machine can be changed to. """ + (quota_total, quota_single) = Owner.getDiskQuotas(machine.owner if machine else owner) + if machine is not None: machine_id = machine.machine_id else: @@ -111,14 +109,15 @@ def maxDisk(owner, machine=None): disk_usage = Disk.query().filter(Disk.c.machine_id != machine_id).\ join('machine').\ filter_by(owner=owner).sum(Disk.c.size) or 0 - return min(MAX_DISK_SINGLE, MAX_DISK_TOTAL-disk_usage/1024.) + return min(quota_single, quota_total-disk_usage/1024.) def cantAddVm(owner, g): machines = getMachinesByOwner(owner) active_machines = [m for m in machines if m.name in g.xmlist_raw] - if machines.count() >= MAX_VMS_TOTAL: + (quota_total, quota_active) = Owner.getVMQuotas(machine.owner if machine else owner) + if machines.count() >= quota_total: return 'You have too many VMs to create a new one.' - if len(active_machines) >= MAX_VMS_ACTIVE: + if len(active_machines) >= quota_active: return ('You already have the maximum number of VMs turned on. ' 'To create more, turn one off.') return False