问题描述
温度采集显示为nil
但是cpu功耗显示为0
期望结果
需要OS关机情况下,温度值和功率值都显示为同一个值,比如都为nil
答案内容由AI生成,仅供参考:
在无法获取有效动态数据的场景下(如电源通讯异常、系统关机导致传感器数据不可读),温度值和功率值应当统一返回null(即nil),而非部分显示0。当前温度显示nil符合规范,而功耗显示0则不符合预期,两者应当保持一致。
根据提供的知识库信息,针对OS关机状态下Redfish接口查询温度值和功率值不一致(温度显示为nil,CPU功耗显示为0)的问题,可以得出以下分析:
在无法获取有效动态数据的场景下(如电源通讯异常、系统关机导致传感器数据不可读),温度值和功率值应当统一返回null(即nil),而非部分显示0。当前温度显示nil符合规范,而功耗显示0则不符合预期,两者应当保持一致。
变更声明(参考文档块1)中明确指出:
PowerInputWatts、TemperatureCelsius等)在通信异常时刷新显示为0。null,以符合Redfish标准规范。/redfish/v1/Chassis/1/Power/redfish/v1/Chassis/ChassisId/PowerSubsystem/PowerSupplies/PowerSupplyId/Metrics。null值返回,否则脚本可能解析失败。OS关机状态与电源通信异常的相似性:
当OS处于关机状态时,BMC可能无法从硬件传感器获取有效的温度或功率读数(例如驱动未加载、硬件通信中断),其效果与“电源通讯异常”类似。因此,按照上述变更逻辑,所有无法获取的动态属性均应返回null,而非使用0作为占位值。
TemperatureCelsius)和功率值(如PowerInputWatts、OutputPowerWatts等)在OS关机状态下均显示为nil(即null),保持一致性。null,避免与温度字段的nil行为不一致。以上信息完全基于所提供知识库中的变更声明(文档块1)及Redfish接口规范描述。未直接提及OS关机状态的内容,但根据“电源通讯异常”场景的类比推论,该变更声明是解答此问题的核心依据。
OS下电状态,功耗显示为0是正常行为
但是温度获取不应该显示nil:
1、OS下电CPU温度传感器为disabled,MetricValue 应该显示为null
2、NoReading状态,CPU温度传感器显示为NoReading状态,MetricValue 应该显示为null
这样应该更加合理,可以进行适配吗?
MetricValue属性定义是String类型,没有办法显示成null,或者待redfish组件开源后自行修改
北向接口可以在客户仓定制