Bug #9850
closedauthority and system pgroups missing on some nodes
100%
Description
rm noticed that a number of topo nodes were missing the "authority" and "system" property groups. Looking closer, this issue corresponded to nodes that were dynamically enumerated by the smbios module.
Nodes that are statically enumerated via XML end up running the generic "hc" enumerator which, in turn, calls an internal routine hc_prop_set(), which creates the "authority" and "system" pgroups.
I think the best path her would be to create an API based on hc_prop_set() so that topo modules can easily create these pgroups on dynamically enumerated nodes. To reduce code duplication, hc_prop_set() would be removed from hc.c and the hc module will instead call the new API.
Note that this fix has already been integrated into illumos-joyent via the commit below:
commit 4cbfb4e7e093f73a0396f7354b72ffeb3c5ab608 Author: Rob Johnston <rob.johnston@joyent.com> Date: Sat Apr 7 07:30:35 2018 +0000 OS-6870 need topo maps for the SMCI,SSG-2029P-ACR24L OS-6876 authority and system pgroups missing on some nodes OS-6877 extend pcibus enumerator to expose driver instance as property on pcifn/pciexfn nodes Reviewed by: Robert Mustacchi <rm@joyent.com> Approved by: Joshua M. Clulow <josh@sysmgr.org>
Updated by Rob Johnston over 3 years ago
See the joyent bug before for how the fix was originally tested prior to integrating into illumos-joyent:
https://smartos.org/bugview/OS-6876
To sanity test the port of this fix to illumos-gate, I onu'd my OI workstation with this change and dumped the slot and dimm topo nodes, using fmtopo and verified that the "system" and "authority" property groups were present and populated correctly. See output below:
root@openindiana:~# fmtopo -V "*dimm=0" TIME UUID Sep 21 23:20:39 c8387f72-b2f2-ccde-8ae0-a3a3d83c2121 hc://:product-id=System-Product-Name:server-id=openindiana:chassis-id=System-Serial-Number:serial=00000000:part=CMU16GX4M2A2400C16/motherboard=0/slot=0/dimm=0 group: protocol version: 1 stability: Private/Private resource fmri hc://:product-id=System-Product-Name:server-id=openindiana:chassis-id=System-Serial-Number:serial=00000000:part=CMU16GX4M2A2400C16/motherboard=0/slot=0/dimm=0 FRU fmri hc://:product-id=System-Product-Name:server-id=openindiana:chassis-id=System-Serial-Number:serial=00000000:part=CMU16GX4M2A2400C16/motherboard=0/slot=0/dimm=0 label string ChannelA-DIMM1 group: authority version: 1 stability: Private/Private product-id string System-Product-Name chassis-id string System-Serial-Number server-id string openindiana group: system version: 1 stability: Private/Private isa string i386 machine string i86pc group: dimm-properties version: 1 stability: Private/Private size uint64 0x200000000 type string DDR4 rank uint32 0x1 configured-speed uint32 0x855 maximum-speed uint32 0x855 configured-voltage double 1.000000 manufacturer string Corsair asset-tag string 9876543210 location string ChannelA-DIMM1 hc://:product-id=System-Product-Name:server-id=openindiana:chassis-id=System-Serial-Number:serial=00000000:part=3400-C16-Series/motherboard=0/slot=1/dimm=0 group: protocol version: 1 stability: Private/Private resource fmri hc://:product-id=System-Product-Name:server-id=openindiana:chassis-id=System-Serial-Number:serial=00000000:part=3400-C16-Series/motherboard=0/slot=1/dimm=0 FRU fmri hc://:product-id=System-Product-Name:server-id=openindiana:chassis-id=System-Serial-Number:serial=00000000:part=3400-C16-Series/motherboard=0/slot=1/dimm=0 label string ChannelA-DIMM2 group: authority version: 1 stability: Private/Private product-id string System-Product-Name chassis-id string System-Serial-Number server-id string openindiana group: system version: 1 stability: Private/Private isa string i386 machine string i86pc group: dimm-properties version: 1 stability: Private/Private size uint64 0x200000000 type string DDR4 rank uint32 0x1 configured-speed uint32 0x855 maximum-speed uint32 0x855 configured-voltage double 1.000000 manufacturer string Patriot asset-tag string 9876543210 location string ChannelA-DIMM2 hc://:product-id=System-Product-Name:server-id=openindiana:chassis-id=System-Serial-Number:serial=00000000:part=CMU16GX4M2A2400C16/motherboard=0/slot=2/dimm=0 group: protocol version: 1 stability: Private/Private resource fmri hc://:product-id=System-Product-Name:server-id=openindiana:chassis-id=System-Serial-Number:serial=00000000:part=CMU16GX4M2A2400C16/motherboard=0/slot=2/dimm=0 FRU fmri hc://:product-id=System-Product-Name:server-id=openindiana:chassis-id=System-Serial-Number:serial=00000000:part=CMU16GX4M2A2400C16/motherboard=0/slot=2/dimm=0 label string ChannelB-DIMM1 group: authority version: 1 stability: Private/Private product-id string System-Product-Name chassis-id string System-Serial-Number server-id string openindiana group: system version: 1 stability: Private/Private isa string i386 machine string i86pc group: dimm-properties version: 1 stability: Private/Private size uint64 0x200000000 type string DDR4 rank uint32 0x1 configured-speed uint32 0x855 maximum-speed uint32 0x855 configured-voltage double 1.000000 manufacturer string Corsair asset-tag string 9876543210 location string ChannelB-DIMM1 hc://:product-id=System-Product-Name:server-id=openindiana:chassis-id=System-Serial-Number:serial=00000000:part=3400-C16-Series/motherboard=0/slot=3/dimm=0 group: protocol version: 1 stability: Private/Private resource fmri hc://:product-id=System-Product-Name:server-id=openindiana:chassis-id=System-Serial-Number:serial=00000000:part=3400-C16-Series/motherboard=0/slot=3/dimm=0 FRU fmri hc://:product-id=System-Product-Name:server-id=openindiana:chassis-id=System-Serial-Number:serial=00000000:part=3400-C16-Series/motherboard=0/slot=3/dimm=0 label string ChannelB-DIMM2 group: authority version: 1 stability: Private/Private product-id string System-Product-Name chassis-id string System-Serial-Number server-id string openindiana group: system version: 1 stability: Private/Private isa string i386 machine string i86pc group: dimm-properties version: 1 stability: Private/Private size uint64 0x200000000 type string DDR4 rank uint32 0x1 configured-speed uint32 0x855 maximum-speed uint32 0x855 configured-voltage double 1.000000 manufacturer string Patriot asset-tag string 9876543210 location string ChannelB-DIMM2
Updated by Electric Monk over 3 years ago
- Status changed from New to Closed
- % Done changed from 0 to 100
git commit 8522c52a00ba4f8cc5ba2e372ae5b66fd0bb7c26
commit 8522c52a00ba4f8cc5ba2e372ae5b66fd0bb7c26 Author: Rob Johnston <rob.johnston@joyent.com> Date: 2018-10-06T21:19:45.000Z 9584 Extend smbios enumerator module to enumerate motherboard 9850 authority and system pgroups missing on some nodes Reviewed by: Robert Mustacchi <rm@joyent.com> Reviewed by: Igor Kozhukhov <igor@dilos.org> Reviewed by: Garrett D'Amore <garrett@damore.org> Approved by: Dan McDonald <danmcd@joyent.com>