[Libguestfs] [PATCH 2/2] Use an internal representation of domain metadata
Richard W.M. Jones
rjones at redhat.com
Tue Mar 15 11:47:23 UTC 2011
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=4beb45b57df315e551ecb4be8b3748e2a565eeb0;hb=HEAD#l33
> + 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
More information about the Libguestfs
mailing list