Index: trunk/packages/sipb-xen-www/code/controls.py
===================================================================
--- trunk/packages/sipb-xen-www/code/controls.py	(revision 436)
+++ trunk/packages/sipb-xen-www/code/controls.py	(revision 437)
@@ -100,5 +100,5 @@
     remctl('web', 'unregister', machine.name)
 
-def createVm(owner, contact, name, memory, disk_size, is_hvm, cdrom, clone_from):
+def createVm(owner, contact, name, memory, disk_size, machine_type, cdrom, clone_from):
     """Create a VM and put it in the database"""
     # put stuff in the table
@@ -120,5 +120,4 @@
         machine.uuid = uuidToString(randomUUID())
         machine.boot_off_cd = True
-        machine_type = Type.get_by(hvm=is_hvm)
         machine.type_id = machine_type.type_id
         ctx.current.save(machine)
Index: trunk/packages/sipb-xen-www/code/main.py
===================================================================
--- trunk/packages/sipb-xen-www/code/main.py	(revision 436)
+++ trunk/packages/sipb-xen-www/code/main.py	(revision 437)
@@ -153,7 +153,5 @@
 
     vm_type = fields.getfirst('vmtype')
-    if vm_type not in ('hvm', 'paravm'):
-        raise CodeError("Invalid vm type '%s'"  % vm_type)    
-    is_hvm = (vm_type == 'hvm')
+    vm_type = validation.validVmType(vm_type)
 
     cdrom = fields.getfirst('cdrom')
@@ -166,5 +164,5 @@
     
     return dict(contact=user, name=name, memory=memory, disk_size=disk_size,
-                owner=owner, is_hvm=is_hvm, cdrom=cdrom, clone_from=clone_from)
+                owner=owner, machine_type=vm_type, cdrom=cdrom, clone_from=clone_from)
 
 def create(user, fields):
Index: trunk/packages/sipb-xen-www/code/validation.py
===================================================================
--- trunk/packages/sipb-xen-www/code/validation.py	(revision 436)
+++ trunk/packages/sipb-xen-www/code/validation.py	(revision 437)
@@ -5,5 +5,5 @@
 import re
 import string
-from sipb_xen_database import Machine, NIC
+from sipb_xen_database import Machine, NIC, Type
 from webcommon import InvalidInput, g
 
@@ -124,5 +124,13 @@
                            "Minimum %s GiB" % MIN_DISK_SINGLE)
     return disk
-            
+
+def validVmType(vm_type):
+    if vm_type == 'hvm':
+        return Type.get('linux-hvm')
+    elif vm_type == 'paravm':
+        return Type.get('linux')
+    else:
+        raise CodeError("Invalid vm type '%s'"  % vm_type)
+
 def testMachineId(user, machine_id, exists=True):
     """Parse, validate and check authorization for a given user and machine.
