1 #from skeleton import skeleton
14 <h2>Create a new VM</h2>
16 <p class="error">We had a problem with your request:</p>
17 #else if $varExists('new_machine')
18 <p>Congratulations! You successfully created a new VM called $new_machine.</p>
20 <form action="create" method="POST">
21 <input type="hidden" name="back" value="list"/>
24 $errorRow('create', $err)
28 <td><input type="text" name="name" value="$defaults.name"/>.xvm.mit.edu</td>
31 $errorRow('name', $err)
35 <td><textarea name="description" rows="4" cols="60">$defaults.description</textarea></td>
38 $errorRow('description', $err)
42 <td><input type="text" name="memory" value="$defaults.memory" size=3/> MiB ($max_memory max)</td>
45 $errorRow('memory', $err)
49 <td><input type="text" name="disksize" value="$defaults.disk" size=3/> GiB (${"%0.1f" % ($max_disk-0.05)} max)</td>
52 $errorRow('disk', $err)
57 $helppopup('HVM/ParaVM')#slurp
62 $vmTypeList($defaults.type)
67 $errorRow('vmtype', $err)
72 <td><input type="checkbox" name="clone_from" id="clone_from" value="ice3" onchange="onclone(event)"/>
73 (experimental; 1-2 minutes, and you have an etch machine; root pw is 'password'.)
74 <script type='text/javascript'>function onclone(e){ document.getElementById('cdromlist').value = ''; }</script></td>
76 <td><input type="checkbox" name="clone_from" id="clone_from" value="ice3" disabled="disabled"/> Image cloning is currently disabled for maintenance</td>
80 $errorRow('autoinstall', $err)
85 $helppopup('Autoinstall')#slurp
88 <td><input type="radio" name="cd_or_auto" id="cd_or_auto_auto">
90 $autoList($defaults.cdrom, "document.getElementById('cd_or_auto_auto').checked = true;document.getElementById('cdromlist').value = ''")
91 (experimental; 1-2 minutes, and you have a machine; root pw is 'password'.)
97 <td><input type="radio" name="cd_or_auto" id="cd_or_auto_cd" checked>
99 $cdromList($defaults.cdrom, "document.getElementById('cd_or_auto_cd').checked = true;document.getElementById('autoinstalllist').value = ''")
104 $errorRow('cdrom', $err)
105 $errorRow('cdrom', $err)
108 <td><input type="text" name="owner" value="$defaults.owner"/></td>
111 $errorRow('owner', $err)
114 <input type="submit" class="button" value="Create it!"/>
119 #def machineRow($machine)
122 <form action="command" method="post">
123 <input type="hidden" name="back" value="list"/>
124 <input type="hidden" name="machine_id"
125 value="$machine.machine_id"/>
126 <input type="submit" class="button" name="action" value="#slurp
127 #if $machine.uptime then 'Power off' else 'Power on'
131 <td><a href="info?machine_id=$machine.machine_id">$machine.name</a></td>
132 <td>${machine.memory}M</td>
133 <td>$machine.owner</td>
134 <td>$machine.administrator</td>
136 #set $nic = $machine.nics[0]
143 ${datetime.timedelta(seconds=int(machine.uptime))}#slurp
147 #if $has_vnc[$machine] == True
148 <a href="vnc?machine_id=$machine.machine_id">Console</a>#slurp
149 #else if $has_vnc[$machine] != 'Off'
157 <td colspan="7" style="padding-left: 1em; color: #666">$machine.description</td>
161 #def machineList($machines)
162 <table cellspacing="0" cellpadding="2">
169 $helppopup('Owner')#slurp
172 <th>Administrator#slurp
174 $helppopup('Administrator')#slurp
181 #for $machine in $machines:
183 $machineRow($machine)
187 <script type="text/javascript" src="/static/stripe.js"></script>
188 <script type="text/javascript">
189 document.observe("dom:loaded", function() {
190 stripe(\$('machinelist').getElementsByTagName('table')[0],
198 <p style="font-size: 125%;">SIPB Virtual Servers is an <strong>alpha service</strong>. <a href="/static/about.html">What does this mean?</a></p>
200 <p>You don't currently control any VMs.</p>
202 <p><a href="list">refresh</a></p>
203 <div id="machinelist">
205 $machineList($machines)