On Fri, Mar 11, 2011 at 01:34:48PM +0000, Matthew Booth wrote:
[...]
You seem to be convinced this is better, and I'm not going to argue
with that, so ACK to the patch in general.
I have specific comments on the fields you are (not) preserving below.
+%
+ name The name of the domain
I think you need to include the /domain/description free text field
here too.
Also /domain/uuid seems pretty important.
Is there nothing /domain/os which is important? How about
/domain/os/sysinfo (SMBIOS information).
+ memory The memory assigned to the domain, in bytes
I'm assuming that virt-v2v no longer runs on 32 bit architectures (or
else sizes in bytes tend to get converted to floats and rounded
awkwardly). Is there a check for this, like the one in virt-resize?
http://git.annexia.org/?p=libguestfs.git;a=blob;f=tools/virt-resize;h=4be...
+ cpus The number of cpus assigned to the domain
CPU topology? This appears to be important for performance -- we
recently discovered that the performance of 1 [virtual] socket with 4
[virtual] cores is quite a lot worse than the performance of 4
[virtual] sockets each with 1 core, because the guest OS schedules
things differently.
I would also preserve libvirt's lifecycle actions,
/domain/on_poweroff, /domain/on_reboot and /domain/on_crash, unless
you know otherwise.
+ arch The architecture of the domain (eg i686,x86_64)
+ features[] An array containing 'features', as defined by libvirt
+ disks[] An array containing hashrefs of disk descriptions
+ device The name of the disk as seen by the guest (eg sda)
+ path The path to the device's storage, as known to the source
+ or target hypervisor. This will probably not be a valid
+ local path
+ (local_path) A local path to the device's storage, as usable by
+ libguestfs during conversion. This is populated by
+ copy_storage()
+ is_block 1 if the device uses block storage, 0 if it uses a file.
+ format The file format used by the underlying storage, as known to
+ qemu (eg raw,qcow)
I have no idea if we should be trying to preserve the
/domain/devices/controller elements and/or
/domain/devices/disk/address (to avoid Windoze reactivation).
+ removables[] An array containing hashrefs of removable media
devices
+ name The name of the device, as seen by the guest (eg fd0)
+ type The device type, as defined by libvirt (eg floppy,cdrom)
+ nics[] An array containing hashrefs of NIC descriptions
+ mac The mac address
+ vnet The name of the virtual network the NIC will connect to
+ vnet_type The type of virtual network the NIC will connect to, as
+ defined by libvirt (eg network,bridge)
Sound cards?
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
New in Fedora 11: Fedora Windows cross-compiler. Compile Windows
programs, test, and build Windows installers. Over 70 libraries supprt'd
http://fedoraproject.org/wiki/MinGW http://www.annexia.org/fedora_mingw