[PATCH] vmx: Parse vm.genid

Richard W.M. Jones rjones at redhat.com
Mon Aug 2 11:04:49 UTC 2021


On Mon, Aug 02, 2021 at 01:00:15PM +0200, Michal Prívozník wrote:
> On 7/30/21 2:02 PM, Richard W.M. Jones wrote:
> > On Thu, Jul 29, 2021 at 10:30:30AM +0200, Michal Privoznik wrote:
> >> The VMware metadata file contains genid but we are not parsing
> >> and thus reporting it in domain XML. However, it's not as
> >> straightforward as one might think. The UUID reported by VMware
> >> is not in its usual string form, but split into two signed long
> >> longs. That means, we have to do a bit of trickery when parsing.
> >> But looking around it's the same magic that libguestfs does:
> >>
> >> https://github.com/libguestfs/virt-v2v/blob/master/v2v/input_vmx.ml#L421
> >>
> >> It's also explained by Rich on qemu-devel:
> >>
> >> https://lists.nongnu.org/archive/html/qemu-devel/2018-07/msg02019.html
> >>
> >> Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1598348
> >> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
> >> ---
> >>
> >> I've successfully ran vmx2xmltest on an s390x machine which means that
> >> there shouldn't be any endiandness problem.
> >>
> >>  src/vmx/vmx.c                                 | 30 +++++++++++++++++++
> >>  .../vmx2xml-esx-in-the-wild-10.xml            |  1 +
> >>  2 files changed, 31 insertions(+)
> >>
> 
> > 
> > Looked reasonable and seems to match the description here:
> > 
> > https://lists.nongnu.org/archive/html/qemu-devel/2018-07/msg02019.html
> > 
> > Reviewed-by: Richard W.M. Jones <rjones at redhat.com>
> 
> Pushed, thanks.
> 
> > 
> > Out of interest, what is this being consumed by?  I will add this to
> > virt-v2v when it goes upstream.
> 
> I don't recall all the specifics (it was John who implemented it), but
> IIRC it was needed for Windows guests. Something about identifying them
> uniquely. John?

Sure, I understand what it's used for.  I was just wondering if there
are other consumers who want to pull the genID from VMware VMX files
using libvirt.  Seems like something quite specific to V2V scenarios.

> Here's the commit that implemented it in libvirt:
> 
> https://gitlab.com/libvirt/libvirt/-/commit/b50efe97ad1357f9dff26450daf68a7a53201bea

Thanks,

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-p2v converts physical machines to virtual machines.  Boot with a
live CD or over the network (PXE) and turn machines into KVM guests.
http://libguestfs.org/virt-v2v




More information about the libvir-list mailing list