RE: [PATCH v2] vmdk: allow specification of tools version

2021-10-11 Thread Weissschuh, Thomas [ext]
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

2021-09-08 Thread Weissschuh, Thomas [ext]
> -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