X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-xen-config.git/blobdiff_plain/8d64933f6aca827aea4f1c4b2e658cf77424ed5a..00fc1ec722eafe57d1d8fc9816f2916e70ddc596:/invirt-database diff --git a/invirt-database b/invirt-database index 5fb7378..adee177 100644 --- a/invirt-database +++ b/invirt-database @@ -27,7 +27,7 @@ if machine_type.hvm: # Disable populate-on-demand maxmem = memory else: - maxmem = '2048' + maxmem = max(memory, 4096) check(re.match('^[A-Za-z0-9][A-Za-z0-9._-]*$', machine.name)) name = prefix + machine_name check(re.match('^[0-9a-f-]+$', machine.uuid)) @@ -54,10 +54,30 @@ else: if 'installer_options' in locals(): #Installer import shlex install = dict(x.split("=",1) for x in shlex.split(installer_options)) - if 'preseed' in install: # d-i based installer - baseurl = install['mirror']+"/dists/"+install['dist']+"/main/installer-"+install['arch']+"/current/images" - kernelurl = baseurl + "/netboot/xen/vmlinuz" - ramdiskurl = baseurl + "/netboot/xen/initrd.gz" + if 'ks' in install or 'preseed' in install: + if 'ks' in install: # anaconda based installer + baseurl = install['mirror']+"/releases/"+install['dist']+"/Everything/"+install['arch']+"/os" + kernelurl = baseurl + "/images/pxeboot/vmlinuz" + ramdiskurl = baseurl + "/images/pxeboot/initrd.img" + extras = ["inst.text", + "inst.repo="+baseurl, + "inst.ks="+install['ks'], + "--", "console=hvc0", + ] + elif 'preseed' in install: # d-i based installer + baseurl = install['mirror']+"/dists/"+install['dist']+"/main/installer-"+install['arch']+"/current/images" + kernelurl = baseurl + "/netboot/xen/vmlinuz" + ramdiskurl = baseurl + "/netboot/xen/initrd.gz" + + # For debugging, add "DEBCONF_DEBUG=5" to the arguments. + extras = ["auto=true", + "debconf/priority=critical", + "debian-installer/locale=en_US.UTF-8", + "debian-installer/exit/always_halt=true", + "url="+install['preseed'], + "--", "console=hvc0"] + else: + raise RuntimeError('unknown new-style autoinstall') import urllib class MyUrlOpener(urllib.FancyURLopener): @@ -73,14 +93,6 @@ if 'installer_options' in locals(): #Installer except IOError, _: raise - # For debugging, add "DEBCONF_DEBUG=5" to the arguments. - extras = ["auto=true", - "debconf/priority=critical", - "debian-installer/locale=en_US.UTF-8", - "debian-installer/exit/always_halt=true", - "url="+install['preseed'], - "--", "console=hvc0"] - extra = str.join(" ", extras) else: # Traditional debootstrap-based install disk.append('phy:/dev/xenvg/s_install_hda,hdb,r') @@ -100,7 +112,8 @@ if 'installer_options' in locals(): #Installer root = '/dev/hdb1' codepath = None - memory = max(memory, 512) + memory = max(memory, 768) + maxmem = memory elif cdrom is not None: disk.append('phy:/dev/xenvg/image_' + cdrom.cdrom_id + ',hdc:cdrom,r') boot = 'd'