OS关机状态下,Redfish接口查询周期采集的温度值和功率存在不同

问题描述

温度采集显示为nil


但是cpu功耗显示为0

期望结果

需要OS关机情况下,温度值和功率值都显示为同一个值,比如都为nil

答案内容由AI生成,仅供参考:

结论

无法获取有效动态数据的场景下(如电源通讯异常、系统关机导致传感器数据不可读),温度值和功率值应当统一返回null(即nil,而非部分显示0。当前温度显示nil符合规范,而功耗显示0则不符合预期,两者应当保持一致。

点击此处查看详细分析解答

根据提供的知识库信息,针对OS关机状态下Redfish接口查询温度值和功率值不一致(温度显示为nil,CPU功耗显示为0)的问题,可以得出以下分析:

结论

无法获取有效动态数据的场景下(如电源通讯异常、系统关机导致传感器数据不可读),温度值和功率值应当统一返回null(即nil,而非部分显示0。当前温度显示nil符合规范,而功耗显示0则不符合预期,两者应当保持一致。

依据说明

  • 变更声明(参考文档块1)中明确指出:

    • 电源通讯异常场景下,无法获取电源的动态信息(功率、电压、电流、温度)。
    • 变更前:相关属性(如PowerInputWattsTemperatureCelsius等)在通信异常时刷新显示为0
    • 变更后:上述属性在通信异常时返回null,以符合Redfish标准规范。
    • 受影响的接口包括
      /redfish/v1/Chassis/1/Power

      /redfish/v1/Chassis/ChassisId/PowerSubsystem/PowerSupplies/PowerSupplyId/Metrics
    • 兼容性说明强调,上层网管需要适配null值返回,否则脚本可能解析失败。
  • OS关机状态与电源通信异常的相似性
    当OS处于关机状态时,BMC可能无法从硬件传感器获取有效的温度或功率读数(例如驱动未加载、硬件通信中断),其效果与“电源通讯异常”类似。因此,按照上述变更逻辑,所有无法获取的动态属性均应返回null,而非使用0作为占位值。

期望与建议

  • 期望结果:温度值(如TemperatureCelsius)和功率值(如PowerInputWattsOutputPowerWatts等)在OS关机状态下均显示为nil(即null,保持一致性。
  • 建议动作
    请确认当前BMC固件版本是否已应用上述变更(openUBMC 26.0及以上版本)。若未应用,应通过固件升级或配置调整使功耗相关属性在无有效数据时返回null,避免与温度字段的nil行为不一致。

以上信息完全基于所提供知识库中的变更声明(文档块1)及Redfish接口规范描述。未直接提及OS关机状态的内容,但根据“电源通讯异常”场景的类比推论,该变更声明是解答此问题的核心依据。

OS下电状态,功耗显示为0是正常行为

但是温度获取不应该显示nil:
1、OS下电CPU温度传感器为disabled,MetricValue 应该显示为null
2、NoReading状态,CPU温度传感器显示为NoReading状态,MetricValue 应该显示为null
这样应该更加合理,可以进行适配吗?

MetricValue属性定义是String类型,没有办法显示成null,或者待redfish组件开源后自行修改

北向接口可以在客户仓定制