光模块调速策略在升级BMC后未根据网卡SR文件更新而更新

问题描述

光模块调速策略在升级BMC后未根据网卡SR文件更新而更新

环境信息

  • BMC基线2509

重现步骤

  1. [第一步]更改网卡光模块调速策略:目标调速温度,最大调速温度,失效调速,智能调速目标温度

  2. [第二步]生成最新BMC固件,升级上最新固件的设备检查SR文件已更新

  3. [第三步]检查光模块coolingrequirement对象是否更新

期望结果

  1. 光模块coolingrequirement对象已更新最新调速策略

实际结果

  1. 光模块coolingrequirement对象未更新最新调速策略

  2. (搭载该光模块的网卡调速策略在固件升级后正常更新调速策略)

尝试过的解决方案

删除持久化DB文件后光模块调速策略按照最新SR调速策略生成

确认环境上对应的sr文件是否更新,当前调速策略不是持久化数据,升级对应sr文件后会生效,若不生效,需进一步定位

图中红框可见,origin的信息是CSR已更新的调速策略,生效的策略依然是更改前的数据

如何看出是新的调速策略,问题中的截图和回复截图的数据是同一份数据。

定位思路:确认是否是新版本sr生效,请进行一键日志采集,采集后在对应hwdiscovery中查看对应sr文件中的配置是否为需要的配置

确认一下数据是否已经被持久化在数据库中,若持久化,则对应删除数据库尝试升级

smartcooling 这三个值的数组正常情况下是不会被持久化的。目前应该只有配置导入修改调速策略或者busctl 去设置才会持久化。这个需要确认删除调速持久化表t_cooling_requirement再重启bmc后是否还被持久化

如果带smartcooling 的场景下,目标值是会被持久化的,常见的有cpu核温,cpu内存最大温度,出风口

基于带smart数组,然后热设计又不想要这个数组了,还有一个方案是把目标值和smart数组的每个值都改成最新的。现网场景得这样做,研发阶段还是删除数据库吧

有现网机型 收编的场景,就只能把目标值和smart数组的每个值都改成最新的那个

从实际model.json中的配置来看,不涉及持久化数组