Switch to using YAML on the web interface for listvms
[invirt/packages/invirt-web.git] / code / controls.py
index 68e911c..79aa311 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
@@ -139,8 +139,8 @@ def createVm(owner, contact, name, memory, disk_size, machine_type, cdrom, clone
 
 def getList(machines):
     """Return a dictionary mapping machine  to dicts."""
-    value_string = remctl('web', 'listvms', '--pickle')
-    value_dict = cPickle.loads(value_string)
+    value_string = remctl('web', 'listvms')
+    value_dict = yaml.safe_load(value_string)
 
     d = dict((m, value_dict[m.name]) for m in machines if m.name in value_dict)
     return d