// 此模板仅供参考,如果不适用可以修改
问题描述
在硬件注入故障产生告警时,发现Scanner正常上报,按预期应该产生告警实际未产生
sr告警配置如下:
"Event_GPUBPTempFail": {
"Reading": "<=/Scanner_GpuBPTemp.Status;<=/Scanner_GpuBPTempFailed.Value |> expr((($1 == 1) || ($2 == 1)) ? 1 : 0)",
"@Default": {
"Reading": 0
},
"OperatorId": 5,
"Enabled": true,
"AdditionalInfo": "1",
"DescArg1": "${Slot}",
"Component": "#/Component_RiserCard",
"EventKeyId": "Riser.PCIeRiserAccessTempFailure",
"Condition": 1
}
环境上Scanner_GpuBPTempFailed读值为1
查看日志,发下如下打印:
1970-01-01 08:00:43.626337 hwdiscovery WARNING: analyse.lua(175): get synchronized object path failed, object: Scanner_GpuBPTemp_010105Failed
1970-01-01 08:00:43.627216 hwdiscovery WARNING: analyse.lua(515): position: 010105, ignore property: Reading, value: <=/Scanner_GpuBPTemp_010105.Status;<=/Scanner_GpuBPTemp_010105Failed.Value |> expr((($1 == 1) || ($2 == 1)) ? 1 : 0), object: Event_GPUBPTempFail_010105,error: analyse property failed
1970-01-01 08:00:43.628738 hwdiscovery WARNING: analyse.lua(182): get property interface failed, class: Scanner, property: Vaule
1970-01-01 08:00:43.629506 hwdiscovery WARNING: analyse.lua(515): position: 010105, ignore property: Reading, value: <=/Scanner_GpuBPMosTempHigh_010105.Vaule, object: Event_RiserCardMosOverTemp_010105,error: analyse property failed
Scanner_GpuBPTempFailed真实对象路径被解析成Scanner_GpuBPTemp_010105Failed,怀疑是Scanner_GpuBPTemp和Scanner_GpuBPTempFailed前缀相同,但是底层在替换对象路径的时候,使用了全局替换,导致把Scanner_GpuBPTempFailed替换成Scanner_GpuBPTemp_010105Failed,最终导致属性无法同步。
环境信息
openUBMC 25.12
重现步骤
NA
期望结果
对象引用解析正确
实际结果
对象引用解析失败
尝试过的解决方案
让两个scanner前缀不一致即可规避该问题
分析结论
NA