tl;dr -- To allow Windows Update Enablement, all the Layered Products agreed on a new SMBIOS strings. The action item for Nova is to update the SMBIOS strings we use to the Proposed SMBIOS Strings[*]. This is a simple change in the OSP RPM spec file. Current SMBIOS Strings ---------------------- Currently the following is what OSP uses for a guest as SMBIOS string: <sysinfo type="smbios"> <system> <entry name="manufacturer">Red Hat</entry> <entry name="product">OpenStack Compute</entry> <entry name="version">17.0.10-2.el7ost</entry> <entry name="serial">a5f3a3f6-1500-49f3-8934-004d68891b79</entry> <entry name="uuid">e186eec5-f11c-45f8-bc2e-ce0442a8b047</entry> <entry name="family">Virtual Machine</entry> </system> </sysinfo> We're setting the above "manufacturer" (NOVA_VENDOR) and "product" (NOVA_PRODUCT) — also refer to nova/version.py — in the OSP RPM spec file: ... %global distro Red Hat ... cat > %{buildroot}%{_sysconfdir}/nova/release <<EOF [Nova] vendor = %{distro} product = OpenStack Compute package = %{release} EOF ... [*] Proposed SMBIOS Strings --------------------------- Based on input from the Platform Virt Team and other Layered Products, the following is the newly propoesd (and agreed upon) SMBIOS string for all Layered Products, for Windows Nova instances to get updates correctly: Manufacturer = "Red Hat" Family = "Red Hat Enterprise Linux - Advanced Virtualization" Product = "RHEL-AV" SKU-Number = "8.1.0" Important Note -------------- The "SKU-Number" is the RHEL-AV release number that is supported the given OSP product released on. So updating the "SKU-Number" will be a per-release task.
From the point of view of virt-what it would be kind of nice if there was some way to detect the difference between RHV, RHOSP and CNV. This is the current test for RHV: http://git.annexia.org/?p=virt-what.git;a=blob;f=virt-what.in;h=a61ce913210b6df81e00ce5cde71a08679a0df6f;hb=HEAD#l232 We don't have tests for RHOSP or CNV yet, but have been asked about adding them. All that's needed is some kind of difference in the SM-BIOS strings between the products.
(In reply to Richard W.M. Jones from comment #1) > From the point of view of virt-what it would be kind of nice if there was > some way to detect the difference between RHV, RHOSP and CNV. > > This is the current test for RHV: > http://git.annexia.org/?p=virt-what.git;a=blob;f=virt-what.in; > h=a61ce913210b6df81e00ce5cde71a08679a0df6f;hb=HEAD#l232 > > We don't have tests for RHOSP or CNV yet, but have been asked about > adding them. > > All that's needed is some kind of difference in the SM-BIOS strings > between the products. Yeah, given the 'virt-what' use case, now I feel all Layered Products using the same SM-BIOS strings is not a good idea. Would be helpful if RHOS could retain the Product as "OpenStack Compute". In other words, to satisfy the use case of 'virt-what', RHOS would want to use: Manufacturer = "Red Hat" Family = "Red Hat Enterprise Linux - Advanced Virtualization" Product = "OpenStack Compute" SKU-Number = "8.1.0"
(NB: If we're going with the below, Nova needs work: introduce libvirt XML config classes for the 'baseBoard' SMBIOS entry.) There is an alternative proposal in discussion, suggested by Dan Berrangé, to use the following SMBIOS XML elements: - 'system' -- to show Layered Product info - 'baseBoard' -- to show RHEL stream info Assumption: The below example config is assuming we go with Windows "Hardware ID 13"[*] == Manufacturer + Baseboard Manufacturer + Baseboard Product. Red Hat's Virtio-Win team will be making a decision on this.) Example (quoting from Dan's e-mail) guest config: <sysinfo type='smbios'> <bios> <entry name='vendor'>LENOVO</entry> </bios> <system> <entry name='manufacturer'>Red Hat</entry> <entry name='product'>Red Hat OpenStack Platform</entry> <entry name='version'>15.0</entry> </system> <baseBoard> <entry name='manufacturer'>Red Hat</entry> <entry name='product'>RHEL-AV</entry> <entry name='version'>8.1.0</entry> </baseBoard> </sysinfo> The above appears in the guest as: Handle 0x0100, DMI type 1, 27 bytes System Information Manufacturer: Red Hat Product Name: Red Hat OpenStack Platform Version: 15.0 Serial Number: Not Specified UUID: 08335cfa-2373-4921-8b4b-66673b62e917 Wake-up Type: Power Switch SKU Number: Not Specified Family: Not Specified Handle 0x0200, DMI type 2, 15 bytes Base Board Information Manufacturer: Red Hat Product Name: RHEL-AV Version: 8.1.0 Serial Number: Not Specified Asset Tag: Not Specified Features: Board is a hosting board Location In Chassis: Not Specified Chassis Handle: 0x0300 Type: Motherboard Contained Object Handles: 0 [*] https://docs.microsoft.com/en-us/windows-hardware/drivers/install/specifying-hardware-ids-for-a-computer
(In reply to Kashyap Chamarthy from comment #3) > (NB: If we're going with the below, Nova needs work: introduce libvirt > XML config classes for the 'baseBoard' SMBIOS entry.) On the above "NB", Dan informs on IRC: if we end up going with the below suggested proposal, there won't potentially be any need for work in Nova -- because most likely QEMU itself will be modified to populate the 'baseBoard' info with the RHEL stream. > There is an alternative proposal in discussion, suggested by Dan > Berrangé, to use the following SMBIOS XML elements: > > - 'system' -- to show Layered Product info > - 'baseBoard' -- to show RHEL stream info > > Assumption: The below example config is assuming we go with Windows > "Hardware ID 13"[*] == Manufacturer + Baseboard Manufacturer > + Baseboard Product. Red Hat's Virtio-Win team will be > making a decision on this.) > > Example (quoting from Dan's e-mail) guest config: > > <sysinfo type='smbios'> > <bios> > <entry name='vendor'>LENOVO</entry> > </bios> > <system> > <entry name='manufacturer'>Red Hat</entry> > <entry name='product'>Red Hat OpenStack Platform</entry> > <entry name='version'>15.0</entry> > </system> > <baseBoard> > <entry name='manufacturer'>Red Hat</entry> > <entry name='product'>RHEL-AV</entry> > <entry name='version'>8.1.0</entry> > </baseBoard> > </sysinfo> > > The above appears in the guest as: > > Handle 0x0100, DMI type 1, 27 bytes > System Information > Manufacturer: Red Hat > Product Name: Red Hat OpenStack Platform > Version: 15.0 > Serial Number: Not Specified > UUID: 08335cfa-2373-4921-8b4b-66673b62e917 > Wake-up Type: Power Switch > SKU Number: Not Specified > Family: Not Specified > > Handle 0x0200, DMI type 2, 15 bytes > Base Board Information > Manufacturer: Red Hat > Product Name: RHEL-AV > Version: 8.1.0 > Serial Number: Not Specified > Asset Tag: Not Specified > Features: > Board is a hosting board > Location In Chassis: Not Specified > Chassis Handle: 0x0300 > Type: Motherboard > Contained Object Handles: 0 > > > > [*] > https://docs.microsoft.com/en-us/windows-hardware/drivers/install/specifying- > hardware-ids-for-a-computer
Here's the `dmidecode` from a *non-Nova* guest (just plain QEMU on a RHEL-8 box; hence you don't see the Nova-generated SMBIOS bits), launched with version qemu-kvm-4.2.0-22.module+el8.2.1+6758+cb8d64c2.x86_64. Observe the RHEL AV stream versions under the "Base Board Information" section below: ------------------------------------------------ # dmidecode # dmidecode 3.2 Getting SMBIOS data from sysfs. SMBIOS 2.8 present. 18 structures occupying 1201 bytes. Table at 0x7FFFFB40. Handle 0x0000, DMI type 0, 24 bytes BIOS Information Vendor: SeaBIOS Version: 1.13.0-1.module+el8.2.0+5520+4e5817f3 Release Date: 04/01/2014 Address: 0xE8000 Runtime Size: 96 kB ROM Size: 64 kB Characteristics: BIOS characteristics not supported Targeted content distribution is supported BIOS Revision: 0.0 Handle 0x0100, DMI type 1, 27 bytes System Information Manufacturer: Red Hat Product Name: KVM Version: RHEL-8.2.0 PC (Q35 + ICH9, 2009) Serial Number: Not Specified UUID: Not Settable Wake-up Type: Power Switch SKU Number: 8.2.0 Family: Red Hat Enterprise Linux Handle 0x0200, DMI type 2, 15 bytes Base Board Information Manufacturer: Red Hat Product Name: RHEL-AV Version: RHEL-8.2.0 PC (Q35 + ICH9, 2009) Serial Number: Not Specified Asset Tag: Not Specified Features: Board is a hosting board Location In Chassis: Not Specified Chassis Handle: 0x0300 Type: Motherboard Contained Object Handles: 0 Handle 0x0300, DMI type 3, 22 bytes Chassis Information Manufacturer: Red Hat Type: Other Lock: Not Present Version: RHEL-8.2.0 PC (Q35 + ICH9, 2009) Serial Number: Not Specified Asset Tag: Not Specified Boot-up State: Safe Power Supply State: Safe Thermal State: Safe Security Status: Unknown OEM Information: 0x00000000 Height: Unspecified Number Of Power Cords: Unspecified Contained Elements: 0 SKU Number: Not Specified Handle 0x0400, DMI type 4, 42 bytes Processor Information Socket Designation: CPU 0 Type: Central Processor Family: Other Manufacturer: Red Hat ID: D3 06 00 00 FD FB 8B 07 Version: RHEL-8.2.0 PC (Q35 + ICH9, 2009) Voltage: Unknown External Clock: Unknown Max Speed: 2000 MHz Current Speed: 2000 MHz Status: Populated, Enabled Upgrade: Other L1 Cache Handle: Not Provided L2 Cache Handle: Not Provided L3 Cache Handle: Not Provided Serial Number: Not Specified Asset Tag: Not Specified Part Number: Not Specified Core Count: 1 Core Enabled: 1 Thread Count: 1 Characteristics: None Handle 0x0401, DMI type 4, 42 bytes Processor Information Socket Designation: CPU 1 Type: Central Processor Family: Other Manufacturer: Red Hat ID: D3 06 00 00 FD FB 8B 07 Version: RHEL-8.2.0 PC (Q35 + ICH9, 2009) Voltage: Unknown External Clock: Unknown Max Speed: 2000 MHz Current Speed: 2000 MHz Status: Populated, Enabled Upgrade: Other L1 Cache Handle: Not Provided L2 Cache Handle: Not Provided L3 Cache Handle: Not Provided Serial Number: Not Specified Asset Tag: Not Specified Part Number: Not Specified Core Count: 1 Core Enabled: 1 Thread Count: 1 Characteristics: None Handle 0x0402, DMI type 4, 42 bytes Processor Information Socket Designation: CPU 2 Type: Central Processor Family: Other Manufacturer: Red Hat ID: D3 06 00 00 FD FB 8B 07 Version: RHEL-8.2.0 PC (Q35 + ICH9, 2009) Voltage: Unknown External Clock: Unknown Max Speed: 2000 MHz Current Speed: 2000 MHz Status: Populated, Enabled Upgrade: Other L1 Cache Handle: Not Provided L2 Cache Handle: Not Provided L3 Cache Handle: Not Provided Serial Number: Not Specified Asset Tag: Not Specified Part Number: Not Specified Core Count: 1 Core Enabled: 1 Thread Count: 1 Characteristics: None Handle 0x0403, DMI type 4, 42 bytes Processor Information Socket Designation: CPU 3 Type: Central Processor Family: Other Manufacturer: Red Hat ID: D3 06 00 00 FD FB 8B 07 Version: RHEL-8.2.0 PC (Q35 + ICH9, 2009) Voltage: Unknown External Clock: Unknown Max Speed: 2000 MHz Current Speed: 2000 MHz Status: Populated, Enabled Upgrade: Other L1 Cache Handle: Not Provided L2 Cache Handle: Not Provided L3 Cache Handle: Not Provided Serial Number: Not Specified Asset Tag: Not Specified Part Number: Not Specified Core Count: 1 Core Enabled: 1 Thread Count: 1 Characteristics: None Handle 0x0404, DMI type 4, 42 bytes Processor Information Socket Designation: CPU 4 Type: Central Processor Family: Other Manufacturer: Red Hat ID: D3 06 00 00 FD FB 8B 07 Version: RHEL-8.2.0 PC (Q35 + ICH9, 2009) Voltage: Unknown External Clock: Unknown Max Speed: 2000 MHz Current Speed: 2000 MHz Status: Populated, Enabled Upgrade: Other L1 Cache Handle: Not Provided L2 Cache Handle: Not Provided L3 Cache Handle: Not Provided Serial Number: Not Specified Asset Tag: Not Specified Part Number: Not Specified Core Count: 1 Core Enabled: 1 Thread Count: 1 Characteristics: None Handle 0x0405, DMI type 4, 42 bytes Processor Information Socket Designation: CPU 5 Type: Central Processor Family: Other Manufacturer: Red Hat ID: D3 06 00 00 FD FB 8B 07 Version: RHEL-8.2.0 PC (Q35 + ICH9, 2009) Voltage: Unknown External Clock: Unknown Max Speed: 2000 MHz Current Speed: 2000 MHz Status: Populated, Enabled Upgrade: Other L1 Cache Handle: Not Provided L2 Cache Handle: Not Provided L3 Cache Handle: Not Provided Serial Number: Not Specified Asset Tag: Not Specified Part Number: Not Specified Core Count: 1 Core Enabled: 1 Thread Count: 1 Characteristics: None Handle 0x0406, DMI type 4, 42 bytes Processor Information Socket Designation: CPU 6 Type: Central Processor Family: Other Manufacturer: Red Hat ID: D3 06 00 00 FD FB 8B 07 Version: RHEL-8.2.0 PC (Q35 + ICH9, 2009) Voltage: Unknown External Clock: Unknown Max Speed: 2000 MHz Current Speed: 2000 MHz Status: Populated, Enabled Upgrade: Other L1 Cache Handle: Not Provided L2 Cache Handle: Not Provided L3 Cache Handle: Not Provided Serial Number: Not Specified Asset Tag: Not Specified Part Number: Not Specified Core Count: 1 Core Enabled: 1 Thread Count: 1 Characteristics: None Handle 0x0407, DMI type 4, 42 bytes Processor Information Socket Designation: CPU 7 Type: Central Processor Family: Other Manufacturer: Red Hat ID: D3 06 00 00 FD FB 8B 07 Version: RHEL-8.2.0 PC (Q35 + ICH9, 2009) Voltage: Unknown External Clock: Unknown Max Speed: 2000 MHz Current Speed: 2000 MHz Status: Populated, Enabled Upgrade: Other L1 Cache Handle: Not Provided L2 Cache Handle: Not Provided L3 Cache Handle: Not Provided Serial Number: Not Specified Asset Tag: Not Specified Part Number: Not Specified Core Count: 1 Core Enabled: 1 Thread Count: 1 Characteristics: None Handle 0x1000, DMI type 16, 23 bytes Physical Memory Array Location: Other Use: System Memory Error Correction Type: Multi-bit ECC Maximum Capacity: 16 GB Error Information Handle: Not Provided Number Of Devices: 1 Handle 0x1100, DMI type 17, 40 bytes Memory Device Array Handle: 0x1000 Error Information Handle: Not Provided Total Width: Unknown Data Width: Unknown Size: 16 GB Form Factor: DIMM Set: None Locator: DIMM 0 Bank Locator: Not Specified Type: RAM Type Detail: Other Speed: Unknown Manufacturer: Red Hat Serial Number: Not Specified Asset Tag: Not Specified Part Number: Not Specified Rank: Unknown Configured Memory Speed: Unknown Minimum Voltage: Unknown Maximum Voltage: Unknown Configured Voltage: Unknown Handle 0x1300, DMI type 19, 31 bytes Memory Array Mapped Address Starting Address: 0x00000000000 Ending Address: 0x0007FFFFFFF Range Size: 2 GB Physical Array Handle: 0x1000 Partition Width: 1 Handle 0x1301, DMI type 19, 31 bytes Memory Array Mapped Address Starting Address: 0x00100000000 Ending Address: 0x0047FFFFFFF Range Size: 14 GB Physical Array Handle: 0x1000 Partition Width: 1 Handle 0x2000, DMI type 32, 11 bytes System Boot Information Status: No errors detected Handle 0x7F00, DMI type 127, 4 bytes End Of Table ------------------------------------------------
So what's the next step here?
Given that it's been 5 years since any activity on this BZ, I think it's safe to close (and re-open if this is something important we have to do).