-- Peter A. Iannucci <iannucci@mit.edu> Tue, 28 May 2013 20:19:00 -0400
+invirt-remote (0.4.15~glasgall5) precise; urgency=low
+
+ * Fix sqlalchemy API changes _properly_.
+
+ -- Adam Glasgall <glasgall@mit.edu> Sat, 20 Apr 2013 17:55:30 -0400
+
invirt-remote (0.4.15~glasgall4) precise; urgency=low
* Update for sqlaqlchmy API changes
from invirt import database
from invirt.config import structs as config
-import sqlalchemy.orm.util as util
-
class RemConfFS(routefs.RouteFS):
"""
RemConfFS creates a filesytem for configuring remctl, like this:
def getacl(self, machine, **kw):
"""Build the ACL file for a machine
"""
- s = sa.sql.select([database.machine_access_table.class_mapper(type(self)).mapped_table.c.user], # Field to select from
+ s = sa.sql.select([database.machine_access_table.c.user], # Field to select from
sa.sql.and_( # where clause
- database.machine_table.class_mapper(type(self)).mapped_table.c.machine_id==database.machine_access_table.class_mapper(type(self)).mapped_table.c.machine_id, # join field
- database.machine_table.class_mapper(type(self)).mapped_table.c.name == machine), # filter field
+ database.machine_table.c.machine_id==database.machine_access_table.c.machine_id, # join field
+ database.machine_table.c.name == machine), # filter field
from_obj=[database.machine_access_table, database.machine_table]) # from tables
users = [self.userToPrinc(acl[0]) for acl in
database.session.execute(s)]
def getmachines(self, **kw):
"""Get the list of VMs in the database. Does not cache to prevent race conditions."""
- return list(row[0] for row in database.session.execute(sa.sql.select([database.Machine.class_mapper(type(self)).mapped_table.c.name])))
+ return list(row[0] for row in database.session.execute(sa.sql.select([database.Machine.name])))
def getadmin(self, **kw):
"""
Get the list of administrators for the global ACL.
"""
- acl = [self.userToPrinc(row[0]) for row in database.session.execute(sa.sql.select([database.admins_table.class_mapper(type(self)).mapped_table.c.user]))]
+ acl = [self.userToPrinc(row[0]) for row in database.session.execute(sa.sql.select([database.admins_table.c.user]))]
acl.append('include /etc/remctl/acl/web\n')
return '\n'.join(acl)