OS-7241: topo_sensor_state_name() needs work

Details

Issue Type:Improvement
Priority:4 - Normal
Status:Resolved
Created at:2018-09-11T22:24:20.281Z
Updated at:2019-03-21T01:42:44.625Z

People

Created by:Former user
Reported by:Former user
Assigned to:Former user

Resolution

Fixed: A fix for this issue is checked into the tree and tested.
(Resolution Date: 2019-03-21T01:42:44.609Z)

Fix Versions

2019-03-28 Operation Righteous Cowboy Lightning (Release Date: 2019-03-28)

Description

Libtopo implements an interface, topo_sensor_state_name(), which takes a sensor state value and returns a string containing a descriptive representation of the sensor state.

The primary consumers of these interface are fmtopo and hwgrok, both of which use it to provide a more human-readable representation of the sensor state.

There are two issues with how it's currently implemented:

1) It makes the assumption that only one discrete state will be asserted at any time. This is true for some sensors, but not all sensors.

2) Because it's working with a raw state value from IPMI, where certain reserved bits haven't been masked off, there no way for it to return a string to indicate the situation where no state are asserted (which is the normal state for many sensors). The facility/state property method should be masking off reserved bits - such that when no states are asserted, the state value is 0.

Comments

Comment by Former user
Created at 2018-09-11T23:40:09.202Z
Updated at 2019-03-19T01:42:09.132Z

Testing

Built a PI with this change and then booted on a system with a very large variety of sensors and verified that the type state descriptions were being constructed properly. See sample output below:

# /usr/lib/fm/fmd/fmtopo -V "*motherboard*sensor*"
TIME                 UUID
Mar 19 01:26:32 eceeaef8-c8dc-c254-be09-ea8d47f25364

hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=362BC882:part=M393A4K40BB2-CTD/motherboard=0/slot=0/dimm=0?sensor=P1-DIMMA1 Temp
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=362BC882:part=M393A4K40BB2-CTD/motherboard=0/slot=0/dimm=0?sensor=P1-DIMMA1 Temp
  group: authority                      version: 1   stability: Private/Private
    product-id        string    Joyent-M12G5
    chassis-id        string    S287109X8231992
    server-id         string    sky1
  group: facility                       version: 1   stability: Private/Private
    entity_ref        string[]  [ "P1-DIMMA1 Temp" ]
    sensor-class      string    threshold
    type              uint32    0x101 (THRESHOLD_STATE)
    state             uint32    0x0 (NO_STATES_ASSERTED)
    reading           double    37.000000
    units             uint32    0x1 (DEGREES_C)
    threshold-lower-non-critical double    10.000000
    threshold-lower-critical double    5.000000
    threshold-lower-non-recoverable double    5.000000
    threshold-upper-non-critical double    80.000000
    threshold-upper-critical double    85.000000
    threshold-upper-non-recoverable double    90.000000

hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=36246BC4:part=M393A4K40BB2-CTD/motherboard=0/slot=1/dimm=0?sensor=P1-DIMMA2 Temp
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=36246BC4:part=M393A4K40BB2-CTD/motherboard=0/slot=1/dimm=0?sensor=P1-DIMMA2 Temp
  group: authority                      version: 1   stability: Private/Private
    product-id        string    Joyent-M12G5
    chassis-id        string    S287109X8231992
    server-id         string    sky1
  group: facility                       version: 1   stability: Private/Private
    entity_ref        string[]  [ "P1-DIMMA2 Temp" ]
    sensor-class      string    threshold
    type              uint32    0x101 (THRESHOLD_STATE)
    state             uint32    0x0 (NO_STATES_ASSERTED)
    reading           double    37.000000
    units             uint32    0x1 (DEGREES_C)
    threshold-lower-non-critical double    10.000000
    threshold-lower-critical double    5.000000
    threshold-lower-non-recoverable double    5.000000
    threshold-upper-non-critical double    80.000000
    threshold-upper-critical double    85.000000
    threshold-upper-non-recoverable double    90.000000

hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=36246309:part=M393A4K40BB2-CTD/motherboard=0/slot=2/dimm=0?sensor=P1-DIMMB1 Temp
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=36246309:part=M393A4K40BB2-CTD/motherboard=0/slot=2/dimm=0?sensor=P1-DIMMB1 Temp
  group: authority                      version: 1   stability: Private/Private
    product-id        string    Joyent-M12G5
    chassis-id        string    S287109X8231992
    server-id         string    sky1
  group: facility                       version: 1   stability: Private/Private
    entity_ref        string[]  [ "P1-DIMMB1 Temp" ]
    sensor-class      string    threshold
    type              uint32    0x101 (THRESHOLD_STATE)
    state             uint32    0x0 (NO_STATES_ASSERTED)
    reading           double    38.000000
    units             uint32    0x1 (DEGREES_C)
    threshold-lower-non-critical double    10.000000
    threshold-lower-critical double    5.000000
    threshold-lower-non-recoverable double    5.000000
    threshold-upper-non-critical double    80.000000
    threshold-upper-critical double    85.000000
    threshold-upper-non-recoverable double    90.000000

hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=36246BC0:part=M393A4K40BB2-CTD/motherboard=0/slot=3/dimm=0?sensor=P1-DIMMC1 Temp
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=36246BC0:part=M393A4K40BB2-CTD/motherboard=0/slot=3/dimm=0?sensor=P1-DIMMC1 Temp
  group: authority                      version: 1   stability: Private/Private
    product-id        string    Joyent-M12G5
    chassis-id        string    S287109X8231992
    server-id         string    sky1
  group: facility                       version: 1   stability: Private/Private
    entity_ref        string[]  [ "P1-DIMMC1 Temp" ]
    sensor-class      string    threshold
    type              uint32    0x101 (THRESHOLD_STATE)
    state             uint32    0x0 (NO_STATES_ASSERTED)
    reading           double    39.000000
    units             uint32    0x1 (DEGREES_C)
    threshold-lower-non-critical double    10.000000
    threshold-lower-critical double    5.000000
    threshold-lower-non-recoverable double    5.000000
    threshold-upper-non-critical double    80.000000
    threshold-upper-critical double    85.000000
    threshold-upper-non-recoverable double    90.000000

hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=362BBB9F:part=M393A4K40BB2-CTD/motherboard=0/slot=4/dimm=0?sensor=P1-DIMMD1 Temp
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=362BBB9F:part=M393A4K40BB2-CTD/motherboard=0/slot=4/dimm=0?sensor=P1-DIMMD1 Temp
  group: authority                      version: 1   stability: Private/Private
    product-id        string    Joyent-M12G5
    chassis-id        string    S287109X8231992
    server-id         string    sky1
  group: facility                       version: 1   stability: Private/Private
    entity_ref        string[]  [ "P1-DIMMD1 Temp" ]
    sensor-class      string    threshold
    type              uint32    0x101 (THRESHOLD_STATE)
    state             uint32    0x0 (NO_STATES_ASSERTED)
    reading           double    45.000000
    units             uint32    0x1 (DEGREES_C)
    threshold-lower-non-critical double    10.000000
    threshold-lower-critical double    5.000000
    threshold-lower-non-recoverable double    5.000000
    threshold-upper-non-critical double    80.000000
    threshold-upper-critical double    85.000000
    threshold-upper-non-recoverable double    90.000000

hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=362BC781:part=M393A4K40BB2-CTD/motherboard=0/slot=5/dimm=0?sensor=P1-DIMMD2 Temp
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=362BC781:part=M393A4K40BB2-CTD/motherboard=0/slot=5/dimm=0?sensor=P1-DIMMD2 Temp
  group: authority                      version: 1   stability: Private/Private
    product-id        string    Joyent-M12G5
    chassis-id        string    S287109X8231992
    server-id         string    sky1
  group: facility                       version: 1   stability: Private/Private
    entity_ref        string[]  [ "P1-DIMMD2 Temp" ]
    sensor-class      string    threshold
    type              uint32    0x101 (THRESHOLD_STATE)
    state             uint32    0x0 (NO_STATES_ASSERTED)
    reading           double    41.000000
    units             uint32    0x1 (DEGREES_C)
    threshold-lower-non-critical double    10.000000
    threshold-lower-critical double    5.000000
    threshold-lower-non-recoverable double    5.000000
    threshold-upper-non-critical double    80.000000
    threshold-upper-critical double    85.000000
    threshold-upper-non-recoverable double    90.000000

hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=362468CC:part=M393A4K40BB2-CTD/motherboard=0/slot=6/dimm=0?sensor=P1-DIMME1 Temp
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=362468CC:part=M393A4K40BB2-CTD/motherboard=0/slot=6/dimm=0?sensor=P1-DIMME1 Temp
  group: authority                      version: 1   stability: Private/Private
    product-id        string    Joyent-M12G5
    chassis-id        string    S287109X8231992
    server-id         string    sky1
  group: facility                       version: 1   stability: Private/Private
    entity_ref        string[]  [ "P1-DIMME1 Temp" ]
    sensor-class      string    threshold
    type              uint32    0x101 (THRESHOLD_STATE)
    state             uint32    0x0 (NO_STATES_ASSERTED)
    reading           double    50.000000
    units             uint32    0x1 (DEGREES_C)
    threshold-lower-non-critical double    10.000000
    threshold-lower-critical double    5.000000
    threshold-lower-non-recoverable double    5.000000
    threshold-upper-non-critical double    80.000000
    threshold-upper-critical double    85.000000
    threshold-upper-non-recoverable double    90.000000

hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=362BDCBA:part=M393A4K40BB2-CTD/motherboard=0/slot=7/dimm=0?sensor=P1-DIMMF1 Temp
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=362BDCBA:part=M393A4K40BB2-CTD/motherboard=0/slot=7/dimm=0?sensor=P1-DIMMF1 Temp
  group: authority                      version: 1   stability: Private/Private
    product-id        string    Joyent-M12G5
    chassis-id        string    S287109X8231992
    server-id         string    sky1
  group: facility                       version: 1   stability: Private/Private
    entity_ref        string[]  [ "P1-DIMMF1 Temp" ]
    sensor-class      string    threshold
    type              uint32    0x101 (THRESHOLD_STATE)
    state             uint32    0x0 (NO_STATES_ASSERTED)
    reading           double    49.000000
    units             uint32    0x1 (DEGREES_C)
    threshold-lower-non-critical double    10.000000
    threshold-lower-critical double    5.000000
    threshold-lower-non-recoverable double    5.000000
    threshold-upper-non-critical double    80.000000
    threshold-upper-critical double    85.000000
    threshold-upper-non-recoverable double    90.000000

hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=35808F99:part=M393A4K40BB2-CTD/motherboard=0/slot=8/dimm=0?sensor=P2-DIMMA1 Temp
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=35808F99:part=M393A4K40BB2-CTD/motherboard=0/slot=8/dimm=0?sensor=P2-DIMMA1 Temp
  group: authority                      version: 1   stability: Private/Private
    product-id        string    Joyent-M12G5
    chassis-id        string    S287109X8231992
    server-id         string    sky1
  group: facility                       version: 1   stability: Private/Private
    entity_ref        string[]  [ "P2-DIMMA1 Temp" ]
    sensor-class      string    threshold
    type              uint32    0x101 (THRESHOLD_STATE)
    state             uint32    0x0 (NO_STATES_ASSERTED)
    reading           double    48.000000
    units             uint32    0x1 (DEGREES_C)
    threshold-lower-non-critical double    10.000000
    threshold-lower-critical double    5.000000
    threshold-lower-non-recoverable double    5.000000
    threshold-upper-non-critical double    80.000000
    threshold-upper-critical double    85.000000
    threshold-upper-non-recoverable double    90.000000

hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=34EE8887:part=M393A4K40BB2-CTD/motherboard=0/slot=9/dimm=0?sensor=P2-DIMMA2 Temp
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=34EE8887:part=M393A4K40BB2-CTD/motherboard=0/slot=9/dimm=0?sensor=P2-DIMMA2 Temp
  group: authority                      version: 1   stability: Private/Private
    product-id        string    Joyent-M12G5
    chassis-id        string    S287109X8231992
    server-id         string    sky1
  group: facility                       version: 1   stability: Private/Private
    entity_ref        string[]  [ "P2-DIMMA2 Temp" ]
    sensor-class      string    threshold
    type              uint32    0x101 (THRESHOLD_STATE)
    state             uint32    0x0 (NO_STATES_ASSERTED)
    reading           double    49.000000
    units             uint32    0x1 (DEGREES_C)
    threshold-lower-non-critical double    10.000000
    threshold-lower-critical double    5.000000
    threshold-lower-non-recoverable double    5.000000
    threshold-upper-non-critical double    80.000000
    threshold-upper-critical double    85.000000
    threshold-upper-non-recoverable double    90.000000

hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=35808FF1:part=M393A4K40BB2-CTD/motherboard=0/slot=10/dimm=0?sensor=P2-DIMMB1 Temp
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=35808FF1:part=M393A4K40BB2-CTD/motherboard=0/slot=10/dimm=0?sensor=P2-DIMMB1 Temp
  group: authority                      version: 1   stability: Private/Private
    product-id        string    Joyent-M12G5
    chassis-id        string    S287109X8231992
    server-id         string    sky1
  group: facility                       version: 1   stability: Private/Private
    entity_ref        string[]  [ "P2-DIMMB1 Temp" ]
    sensor-class      string    threshold
    type              uint32    0x101 (THRESHOLD_STATE)
    state             uint32    0x0 (NO_STATES_ASSERTED)
    reading           double    49.000000
    units             uint32    0x1 (DEGREES_C)
    threshold-lower-non-critical double    10.000000
    threshold-lower-critical double    5.000000
    threshold-lower-non-recoverable double    5.000000
    threshold-upper-non-critical double    80.000000
    threshold-upper-critical double    85.000000
    threshold-upper-non-recoverable double    90.000000

hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=34EE7E63:part=M393A4K40BB2-CTD/motherboard=0/slot=11/dimm=0?sensor=P2-DIMMC1 Temp
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=34EE7E63:part=M393A4K40BB2-CTD/motherboard=0/slot=11/dimm=0?sensor=P2-DIMMC1 Temp
  group: authority                      version: 1   stability: Private/Private
    product-id        string    Joyent-M12G5
    chassis-id        string    S287109X8231992
    server-id         string    sky1
  group: facility                       version: 1   stability: Private/Private
    entity_ref        string[]  [ "P2-DIMMC1 Temp" ]
    sensor-class      string    threshold
    type              uint32    0x101 (THRESHOLD_STATE)
    state             uint32    0x0 (NO_STATES_ASSERTED)
    reading           double    48.000000
    units             uint32    0x1 (DEGREES_C)
    threshold-lower-non-critical double    10.000000
    threshold-lower-critical double    5.000000
    threshold-lower-non-recoverable double    5.000000
    threshold-upper-non-critical double    80.000000
    threshold-upper-critical double    85.000000
    threshold-upper-non-recoverable double    90.000000

hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=34EE88C1:part=M393A4K40BB2-CTD/motherboard=0/slot=12/dimm=0?sensor=P2-DIMMD1 Temp
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=34EE88C1:part=M393A4K40BB2-CTD/motherboard=0/slot=12/dimm=0?sensor=P2-DIMMD1 Temp
  group: authority                      version: 1   stability: Private/Private
    product-id        string    Joyent-M12G5
    chassis-id        string    S287109X8231992
    server-id         string    sky1
  group: facility                       version: 1   stability: Private/Private
    entity_ref        string[]  [ "P2-DIMMD1 Temp" ]
    sensor-class      string    threshold
    type              uint32    0x101 (THRESHOLD_STATE)
    state             uint32    0x0 (NO_STATES_ASSERTED)
    reading           double    41.000000
    units             uint32    0x1 (DEGREES_C)
    threshold-lower-non-critical double    10.000000
    threshold-lower-critical double    5.000000
    threshold-lower-non-recoverable double    5.000000
    threshold-upper-non-critical double    80.000000
    threshold-upper-critical double    85.000000
    threshold-upper-non-recoverable double    90.000000

hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=34EE8821:part=M393A4K40BB2-CTD/motherboard=0/slot=13/dimm=0?sensor=P2-DIMMD2 Temp
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=34EE8821:part=M393A4K40BB2-CTD/motherboard=0/slot=13/dimm=0?sensor=P2-DIMMD2 Temp
  group: authority                      version: 1   stability: Private/Private
    product-id        string    Joyent-M12G5
    chassis-id        string    S287109X8231992
    server-id         string    sky1
  group: facility                       version: 1   stability: Private/Private
    entity_ref        string[]  [ "P2-DIMMD2 Temp" ]
    sensor-class      string    threshold
    type              uint32    0x101 (THRESHOLD_STATE)
    state             uint32    0x0 (NO_STATES_ASSERTED)
    reading           double    43.000000
    units             uint32    0x1 (DEGREES_C)
    threshold-lower-non-critical double    10.000000
    threshold-lower-critical double    5.000000
    threshold-lower-non-recoverable double    5.000000
    threshold-upper-non-critical double    80.000000
    threshold-upper-critical double    85.000000
    threshold-upper-non-recoverable double    90.000000

hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=34EE8882:part=M393A4K40BB2-CTD/motherboard=0/slot=14/dimm=0?sensor=P2-DIMME1 Temp
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=34EE8882:part=M393A4K40BB2-CTD/motherboard=0/slot=14/dimm=0?sensor=P2-DIMME1 Temp
  group: authority                      version: 1   stability: Private/Private
    product-id        string    Joyent-M12G5
    chassis-id        string    S287109X8231992
    server-id         string    sky1
  group: facility                       version: 1   stability: Private/Private
    entity_ref        string[]  [ "P2-DIMME1 Temp" ]
    sensor-class      string    threshold
    type              uint32    0x101 (THRESHOLD_STATE)
    state             uint32    0x0 (NO_STATES_ASSERTED)
    reading           double    40.000000
    units             uint32    0x1 (DEGREES_C)
    threshold-lower-non-critical double    10.000000
    threshold-lower-critical double    5.000000
    threshold-lower-non-recoverable double    5.000000
    threshold-upper-non-critical double    80.000000
    threshold-upper-critical double    85.000000
    threshold-upper-non-recoverable double    90.000000

hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=362BBD60:part=M393A4K40BB2-CTD/motherboard=0/slot=15/dimm=0?sensor=P2-DIMMF1 Temp
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=362BBD60:part=M393A4K40BB2-CTD/motherboard=0/slot=15/dimm=0?sensor=P2-DIMMF1 Temp
  group: authority                      version: 1   stability: Private/Private
    product-id        string    Joyent-M12G5
    chassis-id        string    S287109X8231992
    server-id         string    sky1
  group: facility                       version: 1   stability: Private/Private
    entity_ref        string[]  [ "P2-DIMMF1 Temp" ]
    sensor-class      string    threshold
    type              uint32    0x101 (THRESHOLD_STATE)
    state             uint32    0x0 (NO_STATES_ASSERTED)
    reading           double    38.000000
    units             uint32    0x1 (DEGREES_C)
    threshold-lower-non-critical double    10.000000
    threshold-lower-critical double    5.000000
    threshold-lower-non-recoverable double    5.000000
    threshold-upper-non-critical double    80.000000
    threshold-upper-critical double    85.000000
    threshold-upper-non-recoverable double    90.000000

hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=ZM17AS025211:revision=1.01/motherboard=0?sensor=PCH Temp
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=ZM17AS025211:revision=1.01/motherboard=0?sensor=PCH Temp
  group: authority                      version: 1   stability: Private/Private
    product-id        string    Joyent-M12G5
    chassis-id        string    S287109X8231992
    server-id         string    sky1
  group: facility                       version: 1   stability: Private/Private
    entity_ref        string[]  [ "PCH Temp" ]
    sensor-class      string    threshold
    type              uint32    0x101 (THRESHOLD_STATE)
    state             uint32    0x0 (NO_STATES_ASSERTED)
    reading           double    59.000000
    units             uint32    0x1 (DEGREES_C)
    threshold-lower-non-critical double    10.000000
    threshold-lower-critical double    5.000000
    threshold-lower-non-recoverable double    5.000000
    threshold-upper-non-critical double    85.000000
    threshold-upper-critical double    90.000000
    threshold-upper-non-recoverable double    105.000000

hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=ZM17AS025211:revision=1.01/motherboard=0?sensor=Peripheral Temp
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=ZM17AS025211:revision=1.01/motherboard=0?sensor=Peripheral Temp
  group: authority                      version: 1   stability: Private/Private
    product-id        string    Joyent-M12G5
    chassis-id        string    S287109X8231992
    server-id         string    sky1
  group: facility                       version: 1   stability: Private/Private
    entity_ref        string[]  [ "Peripheral Temp" ]
    sensor-class      string    threshold
    type              uint32    0x101 (THRESHOLD_STATE)
    state             uint32    0x0 (NO_STATES_ASSERTED)
    reading           double    53.000000
    units             uint32    0x1 (DEGREES_C)
    threshold-lower-non-critical double    10.000000
    threshold-lower-critical double    5.000000
    threshold-lower-non-recoverable double    5.000000
    threshold-upper-non-critical double    80.000000
    threshold-upper-critical double    85.000000
    threshold-upper-non-recoverable double    90.000000

hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=ZM17AS025211:revision=1.01/motherboard=0?sensor=MB_10G Temp
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=ZM17AS025211:revision=1.01/motherboard=0?sensor=MB_10G Temp
  group: authority                      version: 1   stability: Private/Private
    product-id        string    Joyent-M12G5
    chassis-id        string    S287109X8231992
    server-id         string    sky1
  group: facility                       version: 1   stability: Private/Private
    entity_ref        string[]  [ "MB_10G Temp" ]
    sensor-class      string    threshold
    type              uint32    0x101 (THRESHOLD_STATE)
    state             uint32    0x0 (NO_STATES_ASSERTED)
    reading           double    58.000000
    units             uint32    0x1 (DEGREES_C)
    threshold-lower-non-critical double    10.000000
    threshold-lower-critical double    5.000000
    threshold-lower-non-recoverable double    5.000000
    threshold-upper-non-critical double    95.000000
    threshold-upper-critical double    100.000000
    threshold-upper-non-recoverable double    105.000000

hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=ZM17AS025211:revision=1.01/motherboard=0?sensor=VRMCpu1SA Temp
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=ZM17AS025211:revision=1.01/motherboard=0?sensor=VRMCpu1SA Temp
  group: authority                      version: 1   stability: Private/Private
    product-id        string    Joyent-M12G5
    chassis-id        string    S287109X8231992
    server-id         string    sky1
  group: facility                       version: 1   stability: Private/Private
    entity_ref        string[]  [ "VRMCpu1SA Temp" ]
    sensor-class      string    threshold
    type              uint32    0x101 (THRESHOLD_STATE)
    state             uint32    0x0 (NO_STATES_ASSERTED)
    reading           double    46.000000
    units             uint32    0x1 (DEGREES_C)
    threshold-lower-non-critical double    10.000000
    threshold-lower-critical double    5.000000
    threshold-lower-non-recoverable double    5.000000
    threshold-upper-non-critical double    95.000000
    threshold-upper-critical double    100.000000
    threshold-upper-non-recoverable double    105.000000

hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=ZM17AS025211:revision=1.01/motherboard=0?sensor=VRMCpu1IO Temp
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=ZM17AS025211:revision=1.01/motherboard=0?sensor=VRMCpu1IO Temp
  group: authority                      version: 1   stability: Private/Private
    product-id        string    Joyent-M12G5
    chassis-id        string    S287109X8231992
    server-id         string    sky1
  group: facility                       version: 1   stability: Private/Private
    entity_ref        string[]  [ "VRMCpu1IO Temp" ]
    sensor-class      string    threshold
    type              uint32    0x101 (THRESHOLD_STATE)
    state             uint32    0x0 (NO_STATES_ASSERTED)
    reading           double    53.000000
    units             uint32    0x1 (DEGREES_C)
    threshold-lower-non-critical double    10.000000
    threshold-lower-critical double    5.000000
    threshold-lower-non-recoverable double    5.000000
    threshold-upper-non-critical double    95.000000
    threshold-upper-critical double    100.000000
    threshold-upper-non-recoverable double    105.000000

hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=ZM17AS025211:revision=1.01/motherboard=0?sensor=VRMCpu1CCH Temp
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=ZM17AS025211:revision=1.01/motherboard=0?sensor=VRMCpu1CCH Temp
  group: authority                      version: 1   stability: Private/Private
    product-id        string    Joyent-M12G5
    chassis-id        string    S287109X8231992
    server-id         string    sky1
  group: facility                       version: 1   stability: Private/Private
    entity_ref        string[]  [ "VRMCpu1CCH Temp" ]
    sensor-class      string    threshold
    type              uint32    0x101 (THRESHOLD_STATE)
    state             uint32    0x0 (NO_STATES_ASSERTED)
    reading           double    42.000000
    units             uint32    0x1 (DEGREES_C)
    threshold-lower-non-critical double    10.000000
    threshold-lower-critical double    5.000000
    threshold-lower-non-recoverable double    5.000000
    threshold-upper-non-critical double    95.000000
    threshold-upper-critical double    100.000000
    threshold-upper-non-recoverable double    105.000000

hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=ZM17AS025211:revision=1.01/motherboard=0?sensor=VRMCpu2IO Temp
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=ZM17AS025211:revision=1.01/motherboard=0?sensor=VRMCpu2IO Temp
  group: authority                      version: 1   stability: Private/Private
    product-id        string    Joyent-M12G5
    chassis-id        string    S287109X8231992
    server-id         string    sky1
  group: facility                       version: 1   stability: Private/Private
    entity_ref        string[]  [ "VRMCpu2IO Temp" ]
    sensor-class      string    threshold
    type              uint32    0x101 (THRESHOLD_STATE)
    state             uint32    0x0 (NO_STATES_ASSERTED)
    reading           double    47.000000
    units             uint32    0x1 (DEGREES_C)
    threshold-lower-non-critical double    10.000000
    threshold-lower-critical double    5.000000
    threshold-lower-non-recoverable double    5.000000
    threshold-upper-non-critical double    95.000000
    threshold-upper-critical double    100.000000
    threshold-upper-non-recoverable double    105.000000

hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=ZM17AS025211:revision=1.01/motherboard=0?sensor=VRMP1ABC Temp
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=ZM17AS025211:revision=1.01/motherboard=0?sensor=VRMP1ABC Temp
  group: authority                      version: 1   stability: Private/Private
    product-id        string    Joyent-M12G5
    chassis-id        string    S287109X8231992
    server-id         string    sky1
  group: facility                       version: 1   stability: Private/Private
    entity_ref        string[]  [ "VRMP1ABC Temp" ]
    sensor-class      string    threshold
    type              uint32    0x101 (THRESHOLD_STATE)
    state             uint32    0x0 (NO_STATES_ASSERTED)
    reading           double    50.000000
    units             uint32    0x1 (DEGREES_C)
    threshold-lower-non-critical double    10.000000
    threshold-lower-critical double    5.000000
    threshold-lower-non-recoverable double    5.000000
    threshold-upper-non-critical double    95.000000
    threshold-upper-critical double    100.000000
    threshold-upper-non-recoverable double    105.000000

hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=ZM17AS025211:revision=1.01/motherboard=0?sensor=VRMP1DEF Temp
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=Joyent-M12G5:server-id=sky1:chassis-id=S287109X8231992:serial=ZM17AS025211:revision=1.01/motherboard=0?sensor=VRMP1DEF Temp
  group: authority                      version: 1   stability: Private/Private
    product-id        string    Joyent-M12G5
    chassis-id        string    S287109X8231992
    server-id         string    sky1
  group: facility                       version: 1   st

Comment by Jira Bot
Created at 2019-03-21T01:42:26.858Z

illumos-joyent commit 52767bdcffaf8c9d0a1cbfac8fa46b8506ee88cd (branch master, by Rob Johnston)

OS-7241 topo_sensor_state_name() needs work
Reviewed by: Robert Mustacchi <rm@joyent.com>
Approved by: Jordan Hendricks <jordan.hendricks@joyent.com>