import getafsgroups
import re
import string
-from sipb_xen_database import Machine, NIC, Type
+from sipb_xen_database import Machine, NIC, Type, Disk
from webcommon import InvalidInput, g
MAX_MEMORY_TOTAL = 512
if not on:
return MAX_MEMORY_SINGLE
machines = getMachinesByOwner(user, machine)
- active_machines = [x for x in machines if g.uptimes.get(x)]
+ active_machines = [x for x in machines if g.xmlist.get(x)]
mem_usage = sum([x.memory for x in active_machines if x != machine])
return min(MAX_MEMORY_SINGLE, MAX_MEMORY_TOTAL-mem_usage)
If machine is None, the maximum disk for a new machine. Otherwise,
return the maximum that a given machine can be changed to.
"""
- machines = getMachinesByOwner(user, machine)
- disk_usage = sum([sum([y.size for y in x.disks])
- for x in machines if x != machine])
+ if machine is not None:
+ machine_id = machine.machine_id
+ else:
+ machine_id = None
+ disk_usage = Disk.query().filter_by(Disk.c.machine_id != machine_id,
+ owner=user).sum(Disk.c.size) or 0
return min(MAX_DISK_SINGLE, MAX_DISK_TOTAL-disk_usage/1024.)
def cantAddVm(user):
machines = getMachinesByOwner(user)
- active_machines = [x for x in machines if g.uptimes.get(x)]
+ active_machines = [x for x in machines if g.xmlist.get(x)]
if len(machines) >= MAX_VMS_TOTAL:
return 'You have too many VMs to create a new one.'
if len(active_machines) >= MAX_VMS_ACTIVE: