+++ /dev/null
-#from skeleton import skeleton
-#from invirt.config import structs as config
-#extends skeleton
-#import datetime
-
-
-#def title
-VM List
-#end def
-
-#def createForm()
-#if $cant_add_vm
-<p>$cant_add_vm</p>
-#else
-<h2>Create a new VM</h2>
-#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>
-#filter None
- $errorRow('create', $err)
-#end filter
- <tr>
- <td>Name</td>
- <td><input type="text" name="name" value="$defaults.name"/>.${config.dns.domains[0]}</td>
- </tr>
-#filter None
-$errorRow('name', $err)
-#end filter
- <tr>
- <td>Description</td>
- <td><textarea name="description" rows="4" cols="60">$defaults.description</textarea></td>
- </tr>
-#filter None
-$errorRow('description', $err)
-#end filter
- <tr>
- <td>Memory</td>
- <td><input type="text" name="memory" value="$defaults.memory" size=3/> MiB ($max_memory max)</td>
- </tr>
-#filter None
-$errorRow('memory', $err)
-#end filter
- <tr>
- <td>Disk</td>
- <td><input type="text" name="disksize" value="$defaults.disk" size=3/> GiB (${"%0.1f" % ($max_disk-0.05)} max)</td>
- </tr>
-#filter None
-$errorRow('disk', $err)
-#end filter
- <tr>
- <td>HVM/ParaVM#slurp
-#filter None
-$helppopup('HVM/ParaVM')#slurp
-#end filter
-</td>
- <td>
-#filter None
-$vmTypeList($defaults.type)
-#end filter
-</td>
- </tr>
-#filter None
-$errorRow('vmtype', $err)
-#end filter
-#filter None
-$errorRow('autoinstall', $err)
-#end filter
- <tr>
- <td>Autoinstall#slurp
-#filter None
-$helppopup('Autoinstalls')#slurp
-#end filter
-</td>
- <td><input type="radio" name="cd_or_auto" id="cd_or_auto_auto"
- onchange="\$('cdromlist').value = ''; \$('vmtype-linux').checked = true">
-#filter None
-$autoList($defaults.cdrom, "$('cd_or_auto_auto').checked = true;$('cdromlist').value = '';$('vmtype-linux').checked = true")
- (experimental; 2-3 minutes, and you have a machine with empty root password.)
-#end filter
- </input>
- </tr>
- <tr>
- <td>Boot CD</td>
- <td><input type="radio" name="cd_or_auto" id="cd_or_auto_cd" checked="checked"
- onchange="\$('autoinstalllist').value = ''; \$('vmtype-linux-hvm').checked = true">
-#filter None
-$cdromList($defaults.cdrom, "$('cd_or_auto_cd').checked = true;$('autoinstalllist').value = '';$('vmtype-linux-hvm').checked = true")
-#end filter
-</td>
- </input>
- </tr>
-$errorRow('cdrom', $err)
-$errorRow('cdrom', $err)
- <tr>
- <td>Owner</td>
- <td><input type="text" name="owner" value="$defaults.owner"/></td>
- </tr>
-#filter None
- $errorRow('owner', $err)
-#end filter
- </table>
- <input type="submit" class="button" value="Create it!"/><br />
- Windows notes: #slurp
-#filter None
-$helppopup('Windows')#slurp
-#end filter
- </form>
-#end if
-#end def
-
-#def machineRow($machine)
- <tr>
- <td rowspan="2">
- <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="power #slurp
-#if $machine.uptime then 'on' else 'off'
-" name="action" value="#slurp
-#if $machine.uptime then 'Power off' else 'Power on'
-"#slurp
-#if $machine.uptime
- onclick="return confirm('Are you sure you want to power off this VM?');"
-#end if
-/>
- </form>
- </td>
- <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
-${datetime.timedelta(seconds=int(machine.uptime))}#slurp
-#end if
-</td>
- <td>#slurp
-#if $has_vnc[$machine] == True
-<a href="vnc?machine_id=$machine.machine_id">Console</a>#slurp
-#else if $has_vnc[$machine] != 'Off'
-#filter None
-$has_vnc[$machine]
-#end filter
-#end if
-</td>
- </tr>
- <tr>
- <td colspan="7" style="padding-left: 1em; color: #666">$machine.description</td>
- </tr>
-#end def
-
-#def machineList($machines)
- <table cellspacing="0" cellpadding="2">
- <tr>
- <th></th>
- <th>Name</th>
- <th>Memory</th>
- <th>Owner#slurp
-#filter None
-$helppopup('Owner')#slurp
-#end filter
-</th>
- <th>Administrator#slurp
-#filter None
-$helppopup('Administrator')#slurp
-#end filter
-</th>
- <th>IP</th>
- <th>Uptime</th>
- <th>VNC</th>
- </tr>
- #for $machine in $machines:
- #filter None
- $machineRow($machine)
- #end filter
- #end for
- </table>
- <script type="text/javascript" src="/static/stripe.js"></script>
- <script type="text/javascript">
- document.observe("dom:loaded", function() {
- stripe(\$('machinelist').getElementsByTagName('table')[0],
- 'stripedrow');
- });
- </script>
-#end def
-
-
-#def body
-<p style="font-size: 125%;"><a href="http://${config.web.hostname}">What is XVM?</a></p>
-#if not $machines
-<p>You don't currently control any VMs.</p>
-#end if
- <p><a href="list">refresh</a></p>
- <div id="machinelist">
- #filter None
- $machineList($machines)
- #end filter
- </div>
-#filter None
-$createForm()
-#end filter
-#end def