Don't error out if killing the fcgi processes fails
[invirt/packages/invirt-web.git] / code / controls.py
index 4576a2e..4b9c6a4 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,
@@ -38,6 +43,8 @@ def getswap(disksize, memsize):
     return int(min(disksize / 4, memsize * 1.5))
 
 def lvinstall(machine, autoinstall):
     return int(min(disksize / 4, memsize * 1.5))
 
 def lvinstall(machine, autoinstall):
+    #raise InvalidInput('autoinstall', 'install',
+    #                   "The autoinstaller has been temporarily disabled")
     disksize = machine.disks[0].size
     memsize = machine.memory
     swapsize = getswap(disksize, memsize)
     disksize = machine.disks[0].size
     memsize = machine.memory
     swapsize = getswap(disksize, memsize)
@@ -166,6 +173,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)