[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:15:13 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 |
Forgot to Cc Richard & Daniel.
On 9/2/21 3:11 PM, Philippe Mathieu-Daudé wrote:
> 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é, 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