TURBOYAML!!1
[invirt/packages/invirt-web.git] / code / controls.py
index 68e911c..d4afab0 100644 (file)
@@ -11,7 +11,7 @@ import sys
 import time
 import re
 import cache_acls
-import cPickle
+import yaml
 
 # ... and stolen from xend/uuid.py
 def randomUUID():
@@ -119,7 +119,7 @@ def createVm(owner, contact, name, memory, disk_size, machine_type, cdrom, clone
         open_nics = NIC.select_by(machine_id=None)
         if not open_nics: #No IPs left!
             raise CodeError("No IP addresses left!  "
-                            "Contact sipb-xen@mit.edu.")
+                            "Contact xvm@mit.edu.")
         nic = open_nics[0]
         nic.machine_id = machine.machine_id
         nic.hostname = name
@@ -137,13 +137,11 @@ def createVm(owner, contact, name, memory, disk_size, machine_type, cdrom, clone
     bootMachine(machine, cdrom)
     return machine
 
-def getList(machines):
-    """Return a dictionary mapping machine  to dicts."""
-    value_string = remctl('web', 'listvms', '--pickle')
-    value_dict = cPickle.loads(value_string)
-
-    d = dict((m, value_dict[m.name]) for m in machines if m.name in value_dict)
-    return d
+def getList():
+    """Return a dictionary mapping machine names to dicts."""
+    value_string = remctl('web', 'listvms')
+    value_dict = yaml.load(value_string, yaml.CSafeLoader)
+    return value_dict
 
 def parseStatus(s):
     """Parse a status string into nested tuples of strings.