help._cp_config['tools.require_login.on'] = False
def parseCreate(self, fields):
- kws = dict([(kw, fields.get(kw)) for kw in 'name description owner memory disksize vmtype cdrom autoinstall'.split()])
+ kws = dict([(kw, fields.get(kw)) for kw in 'name description owner memory disksize vmtype cdrom autoinstall'.split() if fields.get(kw)])
validate = validation.Validate(cherrypy.request.login, cherrypy.request.state, strict=True, **kws)
return dict(contact=cherrypy.request.login, name=validate.name, description=validate.description, memory=validate.memory,
disksize=validate.disksize, owner=validate.owner, machine_type=getattr(validate, 'vmtype', Defaults.type),
checkpoint.checkpoint('Got my machines')
on = {}
has_vnc = {}
+ installing = {}
xmlist = state.xmlist
checkpoint.checkpoint('Got uptimes')
- can_clone = 'ice3' not in state.xmlist_raw
for m in machines:
if m not in xmlist:
has_vnc[m] = 'Off'
has_vnc[m] = "WTF?"
else:
has_vnc[m] = "ParaVM"
+ if xmlist[m].get('autoinstall'):
+ installing[m] = True
+ else:
+ installing[m] = False
max_memory = validation.maxMemory(username, state)
max_disk = validation.maxDisk(username)
checkpoint.checkpoint('Got max mem/disk')
defaults=defaults,
machines=machines,
has_vnc=has_vnc,
- can_clone=can_clone)
+ installing=installing)
return d
def getHostname(nic):
<%def name="machineRow(machine)">
<tr>
<td rowspan="2">
+ % if machine.uptime and installing[machine]:
+ <img src="static/power_installing.png" alt="Installing..." />
+ % else:
<form action="machine/${machine.machine_id}/command/${'shutdown' if machine.uptime else 'create'}" method="post">
<input type="hidden" name="back" value="list"/>
<input type="hidden" name="machine_id"
% endif
/>
</form>
+ % endif
</td>
<td><a href="machine/${machine.machine_id}">${machine.name}</a></td>
<td>${machine.memory}M</td>