Feature #8976
closedipmi enumerator should include FRU identity information in FMRI authority
100%
Description
The hc-scheme FMRI format allows for FRU identity information (i.e. part no, serial no, revision) to be encoded in the authority portion of the FMRI. This information is captured in FMA event telemetry and can be used, for example, to associate a fault telemetry with a specific FRU in a specific location, as opposed to just a location. This, in turn, enables fault management software to do things like:
- detect FRU replacement
- detect if a known faulty FRU has been re-introduced into a system.
FRU identity information is typically stored in EEPROMs (sometimes referred to as FRUPROMs) on the physical part. Fans typically do not have FRUPROMs, but power supply units (PSUs) normally do. The IPMI specification describes interfaces for exposing the contents of the FRUPROMs in a logical construct called FRU inventory records - as described by the "Platform Management FRU Information Storage Definition"
The ipmi topo enumerator module is responsible for enumerating fans and PSUs. However, it does not currently attempt to read any associate FRUPROMs. This CR is to track changes to the ipmi enumerator such that it will check if a fan or PSUs has an associated FRU inventory record and, if so, read the FRU identity data so that it can be encoded into the FMRI of the fan and/or psu topo nodes.
Updated by Rob Johnston over 4 years ago
Testing
I installed a platform image that included the changes for this CR on a Dell R730 (aka J3302) in the SF lab and verified that with the changes, the authority portion of the hc-scheme FMRI's for the power supplies (psu nodes) included the part number and serial number of the power supplies, and is consistent with what is reported in the corresponding IPMI FRU records:
[root@volcano ~]# /usr/lib/fm/fmd/fmtopo "*psu=*" TIME UUID Dec 12 19:43:37 d74800e5-6b32-445c-e150-e6e356ef4a76 hc://:product-id=Joyent-Compute-Platform-3302:server-id=volcano:chassis-id=FHL5TD2:serial=CN1797268M9VDG:part=05RHVVA00/chassis=0/psu=0 hc://:product-id=Joyent-Compute-Platform-3302:server-id=volcano:chassis-id=FHL5TD2:serial=CN1797268M9VDG:part=05RHVVA00/chassis=0/psu=0?sensor=Presence hc://:product-id=Joyent-Compute-Platform-3302:server-id=volcano:chassis-id=FHL5TD2:serial=CN1797268M9VDG:part=05RHVVA00/chassis=0/psu=0?sensor=Current 1 hc://:product-id=Joyent-Compute-Platform-3302:server-id=volcano:chassis-id=FHL5TD2:serial=CN1797268M9VDG:part=05RHVVA00/chassis=0/psu=0?sensor=Voltage 1 hc://:product-id=Joyent-Compute-Platform-3302:server-id=volcano:chassis-id=FHL5TD2:serial=CN1797268M9VDG:part=05RHVVA00/chassis=0/psu=0?sensor=Status hc://:product-id=Joyent-Compute-Platform-3302:server-id=volcano:chassis-id=FHL5TD2:serial=CN1797268M9VCL:part=05RHVVA00/chassis=0/psu=1 hc://:product-id=Joyent-Compute-Platform-3302:server-id=volcano:chassis-id=FHL5TD2:serial=CN1797268M9VCL:part=05RHVVA00/chassis=0/psu=1?sensor=Presence hc://:product-id=Joyent-Compute-Platform-3302:server-id=volcano:chassis-id=FHL5TD2:serial=CN1797268M9VCL:part=05RHVVA00/chassis=0/psu=1?sensor=Current 2 hc://:product-id=Joyent-Compute-Platform-3302:server-id=volcano:chassis-id=FHL5TD2:serial=CN1797268M9VCL:part=05RHVVA00/chassis=0/psu=1?sensor=Voltage 2 hc://:product-id=Joyent-Compute-Platform-3302:server-id=volcano:chassis-id=FHL5TD2:serial=CN1797268M9VCL:part=05RHVVA00/chassis=0/psu=1?sensor=Status
I also ran fmtopo in a mode where it drops a core at the end, and checked that there were no memory leaks introduced by these changes.
Updated by Electric Monk over 4 years ago
- Status changed from New to Closed
- % Done changed from 0 to 100
git commit 8f022dd6c1ebe3edc269726bf537617e665df32f
commit 8f022dd6c1ebe3edc269726bf537617e665df32f Author: Rob Johnston <rob.johnston@joyent.com> Date: 2018-01-23T21:33:23.000Z 8967 libipmi: add support for GET_CHASSIS_STATUS command 8974 fac_prov_ipmi should support binding by entity id and instance 8975 ipmi topo plugin should automatically enumerate sensors on nodes it enumerates 8976 ipmi enumerator should include FRU identity information in FMRI authority 8977 ipmi enumerator doesn't always enumerate nested entities 8978 Add topo facility method for controlling chassis ident indicator Reviewed by: Yuri Pankov <yuripv@icloud.com> Reviewed by: Ben Sims <bensims@gmail.com> Approved by: Dan McDonald <danmcd@joyent.com>