fix sqlalchemy api changes _properly
authorAdam Glasgall <adam@crossproduct.net>
Sat, 20 Apr 2013 21:56:38 +0000 (17:56 -0400)
committerAlexander Chernyakhovsky <achernya@mit.edu>
Fri, 31 May 2013 22:36:39 +0000 (18:36 -0400)
debian/changelog
server/usr/sbin/invirt-remconffs

index fcf9b22..7f45b7f 100644 (file)
@@ -4,6 +4,12 @@ invirt-remote (0.4.16) unstable; urgency=low
 
  -- 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
index 1cae001..5bcd4e3 100755 (executable)
@@ -10,8 +10,6 @@ import sqlalchemy as sa
 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:
@@ -52,10 +50,10 @@ class RemConfFS(routefs.RouteFS):
     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)]
@@ -73,13 +71,13 @@ class RemConfFS(routefs.RouteFS):
     
     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)