+invirt-database (0.1.3) unstable; urgency=low
+
+ * Added owner table with ram quotas.
+ * Refactored Owner class into separate sourcefile
+
+ -- Peter A. Iannucci <iannucci@mit.edu> Mon, 16 Feb 2009 23:49:39 -0500
+
invirt-database (0.1.2) unstable; urgency=low
* Clean up the .egg-info directory from the right place.
'cdroms_table',
'mirrors_table',
'autoinstalls_table',
+ 'owners_table',
'Machine',
'MachineAccess',
'NIC',
'CDROM',
'Mirror',
'Autoinstall',
+ 'Owner',
'or_',
]
Column('mirror', String, nullable=False),
Column('arch', String, nullable=False))
+owners_table = Table('owners', meta,
+ Column('owner_id', String, primary_key=True, nullable=False),
+ Column('ram_quota_total', Integer, nullable=True),
+ Column('ram_quota_single', Integer, nullable=True))
+
machine_access_table = Table('machine_access', meta,
Column('machine_id', Integer, ForeignKey('machines.machine_id', ondelete='CASCADE'), nullable=False, index=True),
Column('user', String, nullable=False, index=True),
def __repr__(self):
return "<Autoinstall %s: %s (%s)>" % (self.autoinstall_id, self.description, self.type.type_id)
+from owner import Owner
+
session.mapper(Machine, machine_table,
properties={'nics': relation(NIC, backref="machine"),
'disks': relation(Disk, backref="machine"),
session.mapper(CDROM, cdroms_table,
properties={'mirror': relation(Mirror, backref="cdroms")})
session.mapper(Autoinstall, autoinstalls_table)
+session.mapper(Owner, owners_table)
def clear_cache():
"""Clear sqlalchemy's cache
--- /dev/null
+MAX_MEMORY_TOTAL = 512
+MAX_MEMORY_SINGLE = 512
+class Owner(object):
+ def __repr__(self):
+ return "<Owner %s: ram_quota_total=%s MB ram_quota_single=%s MB>" % (self.owner_id, self.ram_quota_total, self.ram_quota_single)
+ def getQuotas(owner):
+ owner_info = Owner.query().filter_by(owner_id=owner).first()
+ if owner_info != None:
+ quota_total = owner_info.ram_quota_total
+ if quota_total == None:
+ quota_total = MAX_MEMORY_TOTAL
+ quota_single = owner_info.ram_quota_single
+ if quota_single == None:
+ quota_single = MAX_MEMORY_SINGLE
+ else:
+ quota_total = MAX_MEMORY_TOTAL
+ quota_single = MAX_MEMORY_SINGLE
+ return (quota_total, quota_single)
+ getQuotas = staticmethod(getQuotas)