Index: /trunk/packages/sipb-xen-www/code/controls.py
===================================================================
--- /trunk/packages/sipb-xen-www/code/controls.py	(revision 339)
+++ /trunk/packages/sipb-xen-www/code/controls.py	(revision 340)
@@ -69,4 +69,8 @@
         lvcreate(machine, disk)
 
+def lvcopy(machine_orig_name, machine, rootpw):
+    """Copy a golden image onto a machine's disk"""
+    remctl('web', 'lvcopy', machine_orig_name, machine.name, rootpw)
+
 def bootMachine(machine, cdtype):
     """Boot a machine with a given boot CD.
@@ -96,5 +100,5 @@
     remctl('web', 'unregister', machine.name)
 
-def createVm(owner, contact, name, memory, disk_size, is_hvm, cdrom):
+def createVm(owner, contact, name, memory, disk_size, is_hvm, cdrom, clone_from):
     """Create a VM and put it in the database"""
     # put stuff in the table
@@ -137,4 +141,6 @@
     registerMachine(machine)
     makeDisks(machine)
+    if clone_from:
+        lvcopy(clone_from, machine, 'password')
     # tell it to boot with cdrom
     bootMachine(machine, cdrom)
Index: /trunk/packages/sipb-xen-www/code/main.py
===================================================================
--- /trunk/packages/sipb-xen-www/code/main.py	(revision 339)
+++ /trunk/packages/sipb-xen-www/code/main.py	(revision 340)
@@ -160,6 +160,11 @@
     if cdrom is not None and not CDROM.get(cdrom):
         raise CodeError("Invalid cdrom type '%s'" % cdrom)
+
+    clone_from = fields.getfirst('clone_from')
+    if clone_from and clone_from != 'ice3':
+        raise CodeError("Invalid clone image '%s'" % clone_from)
+    
     return dict(contact=user, name=name, memory=memory, disk_size=disk_size,
-                owner=owner, is_hvm=is_hvm, cdrom=cdrom)
+                owner=owner, is_hvm=is_hvm, cdrom=cdrom, clone_from=clone_from)
 
 def create(user, fields):
Index: /trunk/packages/sipb-xen-www/code/templates/list.tmpl
===================================================================
--- /trunk/packages/sipb-xen-www/code/templates/list.tmpl	(revision 339)
+++ /trunk/packages/sipb-xen-www/code/templates/list.tmpl	(revision 340)
@@ -50,4 +50,10 @@
 	  <td>Boot CD</td>
 	  <td>$cdromList($cdroms, $defaults.cdrom)</td>
+	</tr>
+$errorRow('cdrom', $err)
+	<tr>
+	  <td>Clone image?</td>
+	  <td><input type="checkbox" name="clone_from" value="ice3"/>
+	      (experimental; 1-2 minutes, and you have an etch machine; root pw is 'password'.)</td>
 	</tr>
 $errorRow('cdrom', $err)
