Punt some debug spew from the website
[invirt/packages/invirt-web.git] / code / controls.py
index 4576a2e..bb12a1a 100644 (file)
@@ -9,7 +9,7 @@ import yaml
 
 from invirt.config import structs as config
 from invirt.database import Machine, Disk, Type, NIC, CDROM, session, meta
 
 from invirt.config import structs as config
 from invirt.database import Machine, Disk, Type, NIC, CDROM, session, meta
-from invirt.remctl import remctl
+from invirt.remctl import remctl as gen_remctl
 
 # ... and stolen from xend/uuid.py
 def randomUUID():
 
 # ... and stolen from xend/uuid.py
 def randomUUID():
@@ -23,6 +23,11 @@ def uuidToString(u):
                      "%02x" * 6]) % tuple(u)
 # end stolen code
 
                      "%02x" * 6]) % tuple(u)
 # end stolen code
 
+def remctl(*args, **kwargs):
+    return gen_remctl(config.remote.hostname,
+                      principal='daemon/'+config.web.hostname,
+                      *args, **kwargs)
+
 def lvcreate(machine, disk):
     """Create a single disk for a machine"""
     remctl('web', 'lvcreate', machine.name,
 def lvcreate(machine, disk):
     """Create a single disk for a machine"""
     remctl('web', 'lvcreate', machine.name,
@@ -166,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', err=True)
+    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)