2606上coolingConfig属性默认值变更

// 此模板仅供参考,如果不适用可以修改

问题描述

在无SSD硬盘的环境,其中ThresholdSensor_SSDMaxTemp传感器中Reading读值关联CoolingConfig_1.SysAllSSDsMaxTemperature属性。然而在630更新thermal_mgmt组件仓后,将CoolingConfig_1中的一系列最大温度属性值获取不到时从0修改为了32768。如下图:(切割上传)

image

当前的taishanServer2.9.0_CSR版本为0.0.419,诸如ThresholdSensor_SSDMaxTemp传感器配置在各个挂耳文件中,目前查看最新的各个挂耳文件中传感器配置Readingstatus:“<=/CoolingConfig_1.SysAllSSDsMaxTemperature;<=/Scanner_PowerGood.Value |> expr(($2 == 0) ? 2 : ($1 == 0 ? 2 : 0))”。仍然为判断是否==0,导致在不存在对应硬盘时门限传感器的状态为0而非2,正常状态。

想确认一下是否是依赖什么版本的更新,抑或是需要修改。

环境信息

  • 操作系统:[如 Ubuntu 24.04]

  • 软件版本: OpenUBMC2606

  • 硬件配置:[如 CPU、内存等]

重现步骤

  1. [第一步]

  2. [第二步]

  3. [第三步]

期望结果

[您希望实现什么]

实际结果

[实际发生了什么,包含错误信息]

尝试过的解决方案

[列出您已经尝试过的解决方案及结果]

分析结论

[详细总结您对此问题的分析结论]

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

结论与建议

根据现有上下文,这并非单纯依赖某个版本自动解决的问题,而是需要同步修改 CSR/挂耳文件中的传感器配置,以适配新的默认异常值:

  1. 将 ReadingStatus 表达式中的判断条件由 $1 == 0 更新为 $1 == 32768(或改为判断“非有效温度值”的方式)。
  2. 同时确认 ThresholdSensor SSDMaxTemp 的读取源 SysAllSSDsMaxTemperature 在新版 thermal_mgmt 组件中的实际行为,确保与 CSR 配置保持一致。
  3. 建议同步更新对应的 PSR/CSR 文档及挂耳文件中的传感器定义。

知识库中提到,该传感器的配置由 PSR 文档定义,并记录在挂耳文件中,因此需要同步修订这些配置文件。至于是否依赖某个具体 CSR 版本(如 taishanServer2.9.0_CSR 0.0.419),现有信息未明确说明版本依赖关系,但可以确定的是:必须修改配置,使其适应 32768 这一新默认异常值。

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

根据您提供的信息及知识库中的相关资料,分析如下:

问题根因

您提到在 630 更新 thermal_mgmt 组件仓后,CoolingConfig_1 中的最大温度属性(如 SysAllSSDsMaxTemperature)在“获取不到值”时,默认值由 0 变更为 32768。

知识库中对 SysAllSSDsMaxTemperature 的描述支持这一变化:

SysAllSSDsMaxTemperature is defined with a base data type of Double and is associated with a default anomaly value of 32768, which indicates an uninitialized or invalid state when no valid temperature data has been recorded.

也就是说,32768 是新的“无效/未初始化”异常值,用于替代原先的 0,表示无有效温度数据。

配置适配问题

当前各挂耳文件中 ThresholdSensor_SSDMaxTemp 传感器的 ReadingStatus 表达式仍为:

<=/CoolingConfig_1.SysAllSSDsMaxTemperature;<=/Scanner_PowerGood.Value |> expr(($2 == 0) ? 2 : ($1 == 0 ? 2 : 0))

该表达式依赖 $1 == 0 来判断“无 SSD 硬盘”的场景。在无 SSD 环境中:

  • 旧版本:SysAllSSDsMaxTemperature 为 0,$1 == 0 成立,传感器状态返回预期值(2)。
  • 新版本:SysAllSSDsMaxTemperature 变为 32768,$1 == 0 不再成立,导致传感器状态返回 0,与预期不符。

知识库中的相关案例也说明旧逻辑基于 0 判断:

查看 SSD MAX Temp 传感器配置,发现 SysAllSSDsMaxTemperature == 0 时,传感器不扫描,ReadingStatus=2。

结论与建议

根据现有上下文,这并非单纯依赖某个版本自动解决的问题,而是需要同步修改 CSR/挂耳文件中的传感器配置,以适配新的默认异常值:

  1. 将 ReadingStatus 表达式中的判断条件由 $1 == 0 更新为 $1 == 32768(或改为判断“非有效温度值”的方式)。
  2. 同时确认 ThresholdSensor SSDMaxTemp 的读取源 SysAllSSDsMaxTemperature 在新版 thermal_mgmt 组件中的实际行为,确保与 CSR 配置保持一致。
  3. 建议同步更新对应的 PSR/CSR 文档及挂耳文件中的传感器定义。

知识库中提到,该传感器的配置由 PSR 文档定义,并记录在挂耳文件中,因此需要同步修订这些配置文件。至于是否依赖某个具体 CSR 版本(如 taishanServer2.9.0_CSR 0.0.419),现有信息未明确说明版本依赖关系,但可以确定的是:必须修改配置,使其适应 32768 这一新默认异常值。

可尝试将"ReadingStatus": “<=/CoolingConfig_1.SysAllSSDsMaxTemperature;<=/Scanner_PowerGood.Value |> expr(($2 == 0) ? 2 : ($1 == 0 ? 2 : 0))”,修改为"ReadingStatus": “<=/CoolingConfig_1.SysAllSSDsMaxTemperature;<=/Scanner_PowerGood.Value |> expr(($2 == 0) ? 2 : ($1 == 32768 ? 2 : 0))”,

这样修改是可以的 不过由于该内容配置在挂耳文件中,不通机型的挂耳文件目前应该都有这个问题。咱们这里会整体进行修改嘛?

该方案为临时修改,内部仍在就此问题做进一步的讨论

我们这个问题有结论嘛

已修改,考虑兼容性等影响,新的方案为将"ReadingStatus": “<=/CoolingConfig_1.SysAllSSDsMaxTemperature;<=/Scanner_PowerGood.Value |> expr(($2 == 0) ? 2 : ($1 == 0 ? 2 : 0))”,修改为 “ReadingStatus”: “<=/CoolingConfig_1.SysAllSSDsMaxTemperature;<=/Scanner_PowerGood.Value |> expr(($2 == 0) ? 2 : (($1 == 0 || $1 == 32768) ? 2 : 0))”,

你好 这个咱们这边后面更新CSR修改是嘛,涉及到的都会修改吧

是的,可提供日志以进一步确认相关CSR是否已修改或将修改