projects
/
invirt/packages/invirt-xen-config.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add support for using pvgrub to boot paravms
[invirt/packages/invirt-xen-config.git]
/
invirt-database
diff --git
a/invirt-database
b/invirt-database
index
6008c7a
..
31e4b85
100644
(file)
--- a/
invirt-database
+++ b/
invirt-database
@@
-23,11
+23,15
@@
if 'cdrom_image' in locals():
check(cdrom is not None)
memory = machine.memory
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
check(re.match('^[0-9a-f-]+$', machine.uuid))
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))
-uuid = machine.uuid
+uuid = str(machine.uuid)
vcpus = machine.cpus
vcpus = machine.cpus
@@
-46,6
+50,10
@@
if machine_type.hvm:
codepath = 'hvm'
else:
codepath = 'paravm'
codepath = 'hvm'
else:
codepath = 'paravm'
+ if machine_type.type_id = 'linux-pvgrub':
+ use_pvgrub = True
+ else:
+ use_pvgrub = False
if 'installer_options' in locals(): #Installer
import shlex
if 'installer_options' in locals(): #Installer
import shlex
@@
-103,19
+111,24
@@
elif cdrom is not None:
codepath = 'hvm'
if codepath == 'hvm':
codepath = 'hvm'
if codepath == 'hvm':
+ xen_platform_pci = 1
ioemu = "ioemu:"
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'
serial = "pty"
elif codepath == 'paravm':
builder = 'hvm'
vnc = 1
device_model = '/usr/sbin/qemu-dm-invirt'
serial = "pty"
elif codepath == 'paravm':
- bootloader = '/usr/bin/pygrub'
-
+ if use_pvgrub:
+ kernel = '/usr/lib/grub/grub.xen'
+ else:
+ bootloader = '/usr/bin/pygrub'
for n in machine.nics:
check(re.match('^[0-9a-fA-F:]+$', n.mac_addr) and re.match('^[0-9.]*$', n.ip))
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)
d = ('%smac=%s, ip=%s, script=vif-invirtroute netdev=%s'
% (viftype, n.mac_addr, n.ip, config.xen.iface))
vif.append(d)