return int(min(disksize / 4, memsize * 1.5))
def lvinstall(machine, autoinstall):
return int(min(disksize / 4, memsize * 1.5))
def lvinstall(machine, autoinstall):
disksize = machine.disks[0].size
memsize = machine.memory
swapsize = getswap(disksize, memsize)
disksize = machine.disks[0].size
memsize = machine.memory
swapsize = getswap(disksize, memsize)
remctl('control', machine.name, 'install',
'dist=%s' % autoinstall.distribution,
'mirror=%s' % autoinstall.mirror,
remctl('control', machine.name, 'install',
'dist=%s' % autoinstall.distribution,
'mirror=%s' % autoinstall.mirror,
'imagesize=%s' % imagesize)
def lvcopy(machine_orig_name, machine, rootpw):
'imagesize=%s' % imagesize)
def lvcopy(machine_orig_name, machine, rootpw):
machine.contact = contact
machine.uuid = uuidToString(randomUUID())
machine.boot_off_cd = True
machine.contact = contact
machine.uuid = uuidToString(randomUUID())
machine.boot_off_cd = True
session.save_or_update(machine)
disk = Disk(machine=machine,
guest_device_name='hda', size=disksize)
session.save_or_update(machine)
disk = Disk(machine=machine,
guest_device_name='hda', size=disksize)
if not nic: #No IPs left!
raise CodeError("No IP addresses left! "
"Contact %s." % config.web.errormail)
if not nic: #No IPs left!
raise CodeError("No IP addresses left! "
"Contact %s." % config.web.errormail)
- if autoinstall:
- lvinstall(machine, autoinstall)
- else:
- # tell it to boot with cdrom
- bootMachine(machine, cdrom)
+ try:
+ if autoinstall:
+ lvinstall(machine, autoinstall)
+ else:
+ # tell it to boot with cdrom
+ bootMachine(machine, cdrom)
+ except CodeError, e:
+ deleteVM(machine)
+ raise