Pull the vnctoken remctl into the controls module
authorEvan Broder <broder@mit.edu>
Tue, 11 Nov 2008 09:32:18 +0000 (04:32 -0500)
committerEvan Broder <broder@mit.edu>
Tue, 11 Nov 2008 09:32:18 +0000 (04:32 -0500)
svn path=/trunk/packages/invirt-web/; revision=1615

code/controls.py
code/main.py

index d895364..5512f66 100644 (file)
@@ -171,6 +171,13 @@ def listHost(machine):
         return None
     return out.strip()
 
         return None
     return out.strip()
 
+def vnctoken(machine):
+    """Return a time-stamped VNC token"""
+    out, err = remctl('control', machine.name, 'vnctoken')
+    if err:
+        return None
+    return out.strip()
+
 def deleteVM(machine):
     """Delete a VM."""
     remctl('control', machine.name, 'destroy', err=True)
 def deleteVM(machine):
     """Delete a VM."""
     remctl('control', machine.name, 'destroy', err=True)
index 42fe3c7..5037a09 100755 (executable)
@@ -43,7 +43,6 @@ from invirt import database
 from invirt.database import Machine, CDROM, session, connect, MachineAccess, Type, Autoinstall
 from invirt.config import structs as config
 from invirt.common import InvalidInput, CodeError
 from invirt.database import Machine, CDROM, session, connect, MachineAccess, Type, Autoinstall
 from invirt.config import structs as config
 from invirt.common import InvalidInput, CodeError
-from invirt.remctl import remctl
 
 def pathSplit(path):
     if path.startswith('/'):
 
 def pathSplit(path):
     if path.startswith('/'):
@@ -247,7 +246,7 @@ def vnc(username, state, path, fields):
     """
     machine = validation.Validate(username, state, machine_id=fields.getfirst('machine_id')).machine
 
     """
     machine = validation.Validate(username, state, machine_id=fields.getfirst('machine_id')).machine
 
-    token = controls.remctl('control', machine.name, 'vnctoken').strip()
+    token = control.vnctoken(machine)
     host = controls.listHost(machine)
     if host:
         port = 10003 + [h.hostname for h in config.hosts].index(host)
     host = controls.listHost(machine)
     if host:
         port = 10003 + [h.hostname for h in config.hosts].index(host)