RE: [PATCH v2] vmdk: allow specification of tools version
Hi Hanna, > -Original Message- > From: Hanna Reitz > Sent: Monday, October 11, 2021 4:09 PM > Subject: Re: [PATCH v2] vmdk: allow specification of tools version > > On 13.09.21 15:04, Thomas Weißschuh wrote: > > VMDK files support an attribute that represents the version of the > > guest tools that are installed on the disk. > > This attribute is used by vSphere before a machine has been started to > > determine if the VM has the guest tools installed. > > This is important when configuring "Operating system customizations" > > in vSphere, as it checks for the presence of the guest tools before > > allowing those customizations. > > Thus when the VM has not yet booted normally it would be impossible to > > customize it, therefore preventing a customized first-boot. > > > > The attribute should not hurt on disks that do not have the guest > > tools installed and indeed the VMware tools also unconditionally add > > this attribute. > > (Defaulting to the value "2147483647", as is done in this patch) > > > > Signed-off-by: Thomas Weißschuh > > --- > > > > v1: > > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore > > .kernel.org%2Fqemu-devel%2F20210908174250.12946-1-thomas.weissschuh.ex > > t%40zeiss.com%2Fdata=04%7C01%7C%7C6f16aae6ba9b49d75a0b08d98cc0c1c > > a%7C28042244bb514cd680347776fa3703e8%7C1%7C0%7C637695581774186236%7CUn > > known%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haW > > wiLCJXVCI6Mn0%3D%7C1000sdata=wyrXC3HNxa5QFY8MW4PuzqZNpMh6NnzicD9k > > 4Pw0j7o%3Dreserved=0 > > > > v1 -> v2: > > * Expand QAPI docs (Eric Blake) > > > > block/vmdk.c | 24 > > qapi/block-core.json | 3 +++ > > 2 files changed, 23 insertions(+), 4 deletions(-) > > [...] > > > diff --git a/qapi/block-core.json b/qapi/block-core.json index > > c8ce1d9d5d..42431f52d0 100644 > > --- a/qapi/block-core.json > > +++ b/qapi/block-core.json > > @@ -4597,6 +4597,8 @@ > > # @adapter-type: The adapter type used to fill in the descriptor. > Default: ide. > > # @hwversion: Hardware version. The meaningful options are "4" or "6". > > # Default: "4". > > +# @toolsversion: VMware guest tools version. > > + Default: "2147483647" (Since 6.2) > > There's a # missing at the start of the line, and so this doesn't compile. > > I've added it (hope that's OK for you) and taken this patch to my block > branch: Absolutely, thanks for noticing and fixing. > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitlab.c > om%2Fhreitz%2Fqemu%2F- > %2Fcommits%2Fblock%2Fdata=04%7C01%7C%7C6f16aae6ba9b49d75a0b08d98cc0c1 > ca%7C28042244bb514cd680347776fa3703e8%7C1%7C0%7C637695581774186236%7CUnkno > wn%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXV > CI6Mn0%3D%7C1000sdata=BsLGfL%2BpnI1NE4M%2FnBN6UCWUQkb19HOPjgKTveMaA1k > %3Dreserved=0 Thomas
RE: [PATCH] vmdk: allow specification of tools version
> -Original Message- > From: Eric Blake > Sent: Wednesday, September 8, 2021 7:56 PM > To: Weissschuh, Thomas [ext] > Cc: Fam Zheng ; Kevin Wolf ; Hanna Reitz > ; Markus Armbruster ; qemu- > bl...@nongnu.org; tho...@t-8ch.de; qemu-devel@nongnu.org > Subject: Re: [PATCH] vmdk: allow specification of tools version > > On Wed, Sep 08, 2021 at 07:42:50PM +0200, Thomas Weißschuh wrote: > > VMDK files support an attribute that represents the version of the > > guest tools that are installed on the disk. > > This attribute is used by vSphere before a machine has been started to > > determine if the VM has the guest tools installed. > > This is important when configuring "Operating system customizations" > > in vSphere, as it checks for the presence of the guest tools before > > allowing those customizations. > > Thus when the VM has not yet booted normally it would be impossible to > > customize it, therefore preventing a customized first-boot. > > > > The attribute should not hurt on disks that do not have the guest > > tools installed and indeed the VMware tools also unconditionally add > > this attribute. > > (Defaulting to the value "2147483647", as is done in this patch) > > > > Signed-off-by: Thomas Weißschuh > > --- > > block/vmdk.c | 24 > > qapi/block-core.json | 2 ++ > > 2 files changed, 22 insertions(+), 4 deletions(-) > > UI review: > > > +++ b/qapi/block-core.json > > @@ -4597,6 +4597,7 @@ > > # @adapter-type: The adapter type used to fill in the descriptor. > Default: ide. > > # @hwversion: Hardware version. The meaningful options are "4" or "6". > > # Default: "4". > > +# @toolsversion: VMware guest tools version. > > Missing a '(since 6.2)' blurb, and a description of its default value. I'll add that to v2, which I'll send as soon as some more review comments came in. > > # @zeroed-grain: Whether to enable zeroed-grain feature for sparse > subformats. > > #Default: false. > > # > > @@ -4610,6 +4611,7 @@ > > '*backing-file':'str', > > '*adapter-type':'BlockdevVmdkAdapterType', > > '*hwversion': 'str', > > +'*toolsversion':'str', > > Is it an arbitrary string, or must a valid value always be parseable as a > numeric value? If the latter, then make the QMP representation numeric > rather than string. In the vmdk itself it is an arbitrary string but the actual values seem to be always numeric. But I do have some very faint recollection of seeing normal version numbers (a.b.c) there at some point, but can't confirm this at the moment. Thomas