#from skeleton import skeleton #extends skeleton #def title List of your VMs #end def #def createTable() #if $cant_add_vm <p>$cant_add_vm</p> #else <p>Create a new VM:</p> #if $err <p class="error">We had a problem with your request:</p> #else if $varExists('new_machine') <p>Congratulations! You successfully created a new VM called $new_machine.</p> #end if <form action="create" method="POST"> <input type="hidden" name="back" value="list"/> <table> $errorRow('create', $err) <tr> <td>Name</td> <td><input type="text" name="name" value="$defaults.name"/></td> </tr> $errorRow('name', $err) <tr> <td>Memory</td> <td><input type="text" name="memory" value="$defaults.memory" size=3/> MiB ($max_memory max)</td> </tr> $errorRow('memory', $err) <tr> <td>Disk</td> <td><input type="text" name="disk" value="$defaults.disk" size=3/> GiB (${"%0.1f" % ($max_disk-0.05)} max)</td> </tr> $errorRow('disk', $err) <tr> <td>HVM/ParaVM$helppopup('hvm_paravm')</td> <td> #for $value, $name in (('hvm', 'HVM'), ('paravm', 'ParaVM')) <input #slurp #if $defaults.vmtype == $value then 'checked' else '' type="radio" name="vmtype" value="$value">$name</input> #end for </td> </tr> $errorRow('vmtype', $err) <tr> <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" id="clone_from" value="ice3" onchange="onclone(event)"/> (experimental; 1-2 minutes, and you have an etch machine; root pw is 'password'.) <script type='text/javascript'>function onclone(e){ document.getElementById('cdromlist').value = ''; }</script></td> </tr> $errorRow('cdrom', $err) <tr> <td>Owner</td> <td><input type="text" name="owner" value="$defaults.owner"/></td> </tr> $errorRow('owner', $err) </table> <input type="submit" class="button" value="Create it!"/> </form> #end if #end def #def machineRow($machine) <tr> <td><a href="info?machine_id=$machine.machine_id">$machine.name</a></td> <td>${machine.memory}M</td> <td>$machine.owner</td> <td>$machine.administrator</td> #if $machine.nics #set $nic = $machine.nics[0] <td>$nic.ip</td> #else <td></td> #end if <td>#slurp #if $machine.uptime $machine.uptime#slurp #else Off#slurp #end if </td> <td>#slurp #if $has_vnc[$machine] == True <a href="vnc?machine_id=$machine.machine_id">Console</a>#slurp #else $has_vnc[$machine] #end if </td> <td> <form action="command" method="post"> <input type="hidden" name="back" value="list"/> <input type="hidden" name="machine_id" value="$machine.machine_id"/> <input type="submit" class="button" name="action" value="#slurp #if $machine.uptime then 'Power off' else 'Power on' "/> </form> </td> </tr> #end def #def machineList($machines) <table> <tr> <td>Name</td> <td>Memory</td> <td>Owner</td> <td>Administrator</td> <td>IP</td> <td>Uptime</td> <td>VNC</td> <td></td> #for $machine in $machines: $machineRow($machine) #end for </table> #end def #def body <p style="font-size: 125%;"><strong>Note:</strong> sipb-xen is a very alpha service. <a href="/static/about.html">What does this mean?</a></p> #if not $machines <p>You don't currently control any VMs.</p> #else <p>You have the following VMs:</p> #end if <p><a href="list">refresh</a></p> <div id="machinelist"> $machineList($machines) </div> <div id="createtable"> $createTable() </div> #end def