X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-xen-config.git/blobdiff_plain/f0eb3ae48da89a4970a0ed5836797e1a926d1d1c..9cef6cd2f99b2a60dd5422804f73987aacee7b32:/invirt-database diff --git a/invirt-database b/invirt-database index e4eed03..b99b548 100644 --- a/invirt-database +++ b/invirt-database @@ -14,20 +14,24 @@ def check(b): import sys sys.exit(1) -machine = models.Machine.query().filter_by(name=machine_name).one() +machine = models.Machine.query.filter_by(name=machine_name).one() check(machine is not None) machine_type = machine.type cdrom = None if 'cdrom_image' in locals(): - cdrom = models.CDROM.query().filter_by(cdrom_id=cdrom_image).one() + cdrom = models.CDROM.query.filter_by(cdrom_id=cdrom_image).one() check(cdrom is not None) memory = machine.memory -maxmem = '2048' +if machine_type.hvm: + # Disable populate-on-demand + maxmem = memory +else: + maxmem = '2048' check(re.match('^[A-Za-z0-9][A-Za-z0-9._-]*$', machine.name)) -name = prefix + machine.name +name = prefix + machine_name check(re.match('^[0-9a-f-]+$', machine.uuid)) -uuid = machine.uuid +uuid = str(machine.uuid) vcpus = machine.cpus @@ -103,9 +107,10 @@ elif cdrom is not None: codepath = 'hvm' if codepath == 'hvm': + xen_platform_pci = 1 ioemu = "ioemu:" - viftype = "type=ioemu, " - kernel = '/usr/lib/xen/boot/hvmloader' + viftype = "model=pcnet, " + kernel = '/usr/lib/xen-4.1/boot/hvmloader' builder = 'hvm' vnc = 1 device_model = '/usr/sbin/qemu-dm-invirt' @@ -116,6 +121,8 @@ elif codepath == 'paravm': for n in machine.nics: check(re.match('^[0-9a-fA-F:]+$', n.mac_addr) and re.match('^[0-9.]*$', n.ip)) + if n.nic_type: + viftype = viftype.replace("pcnet", n.nic_type) d = ('%smac=%s, ip=%s, script=vif-invirtroute netdev=%s' % (viftype, n.mac_addr, n.ip, config.xen.iface)) vif.append(d)