[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Guest Agent issue with 'guest-get-osinfo' command on Windows
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: Guest Agent issue with 'guest-get-osinfo' command on Windows |
Date: |
Thu, 2 Sep 2021 15:11:56 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 |
On 9/2/21 2:36 PM, Konstantin Kostiuk wrote:
> Hi Team,
>
> We have several bugs related to 'guest-get-osinfo' command in Windows
> Guest Agent:
> https://bugzilla.redhat.com/show_bug.cgi?id=1998919
> <https://bugzilla.redhat.com/show_bug.cgi?id=1998919>
> https://bugzilla.redhat.com/show_bug.cgi?id=1972070
> <https://bugzilla.redhat.com/show_bug.cgi?id=1972070>
>
> This command returns the following data:
> {
> "name": "Microsoft Windows",
> "kernel-release": "20344",
> "version": "N/A",
> "variant": "server",
> "pretty-name": "Windows Server 2022 Datacenter",
> "version-id": "N/A",
> "variant-id": "server",
> "kernel-version": "10.0",
> "machine": "x86_64",
> "id": "mswindows"
> }
>
> The problem is with "version" and "pretty-name". Windows Server
> 2016/2019/2022 and Windows 11 have the same MajorVersion
> ("kernel-version") = 10, so to get pretty-name the guest agent uses a
> conversion matrix between Windows build and name
> (https://github.com/qemu/qemu/blob/59a89510b62ec23dbeab8b02fa4e3526e353d8b6/qga/commands-win32.c#L2170
> <https://github.com/qemu/qemu/blob/59a89510b62ec23dbeab8b02fa4e3526e353d8b6/qga/commands-win32.c#L2170>).
>
> This solution has several problems: need to update the conversion matrix
> for each Windows build, one Windows name can have different build
> numbers. For example, Windows Server 2022 (preview) build number is
> 20344, Windows Server 2022 build number is 20348.
>
> There are two possible solutions:
> 1. Use build number range instead of one number. Known implementation
> issue: Microsoft provides a table
> (https://docs.microsoft.com/en-Us/windows-server/get-started/windows-server-release-info
> <https://docs.microsoft.com/en-Us/windows-server/get-started/windows-server-release-info>)
> only with stable build numbers. So, we exactly don't know the build
> number range.
Sounds good, start with low=high limit then if someone reports
out-of-range we adapt the limit.
BTW instead of burying this in C, I'd store this information in a JSON
file to ease updates.
> 2. We can read this string from the registry
> (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion). Known
> implementation issues: ProductName value is localized (in a Russian
> version of Windows, the word "Microsoft' is translated), so we should
> ignore it. ReleaseId value does not equal to Windows Server version (for
> Windows Server 2019, ReleaseId is 1809)
Could this work?
if ReleaseId:
return ProductName[ReleaseId];
else:
return ProductName[release_id_by_buildnumber(BuildNumber)];
> In conclusion, I have the next questions:
> What solution we should implement to get the Windows release name?
> Does someone know how end-users use this information? Should it be
> English only or it can be localized? Should we have exactly the same
> output as now?
> What should we do with the 'Standard' server edition? Currently, the
> guest agent always returns 'Datacenter'.
>
> Best wishes,
> Kostiantyn Kostiuk
- Guest Agent issue with 'guest-get-osinfo' command on Windows, Konstantin Kostiuk, 2021/09/02
- Re: Guest Agent issue with 'guest-get-osinfo' command on Windows,
Philippe Mathieu-Daudé <=
- Re: Guest Agent issue with 'guest-get-osinfo' command on Windows, Marc-André Lureau, 2021/09/02
- Re: Guest Agent issue with 'guest-get-osinfo' command on Windows, Daniel P . Berrangé, 2021/09/02
- Re: Guest Agent issue with 'guest-get-osinfo' command on Windows, Richard W.M. Jones, 2021/09/02
- Re: Guest Agent issue with 'guest-get-osinfo' command on Windows, Konstantin Kostiuk, 2021/09/02
- Re: Guest Agent issue with 'guest-get-osinfo' command on Windows, Marc-André Lureau, 2021/09/02
- Re: Guest Agent issue with 'guest-get-osinfo' command on Windows, Konstantin Kostiuk, 2021/09/06
- Re: Guest Agent issue with 'guest-get-osinfo' command on Windows, Richard W.M. Jones, 2021/09/06
- Re: Guest Agent issue with 'guest-get-osinfo' command on Windows, Konstantin Kostiuk, 2021/09/06