l00012320
(kunlun_luzhanghui)
1
这个属性是frudata更新的,属于开源组件,可以看一下源码
l00012320
(kunlun_luzhanghui)
4
FruData内的更新入口是一个方法,UpdateHealth,但是方法调用的入口不在FruData内,需要帮忙找一下调用这个方法的地方.
要么我看错了,帮忙找一下其它的入口.
这个是会去读fru看是否成功,错误连续读取10次,不成功会把frudata的health置为1。fru对象的health是在关联的cpuboard有告警时会变为1,更新frudata的health代码就在frudata这个组件的
l00012320
(kunlun_luzhanghui)
6
我看代码,Fru的Health更新只有ImplComponentComponentUpdateHealth与update_fru_health这两个函数处,但是最终都是关联到入口的方法ImplComponentComponentUpdateHealth这里啊,没有见到你说的关联CpuBoard有告警,或者连续读取10次什么的
方便帮忙捋一下具体更新的逻辑吗
l00012320
(kunlun_luzhanghui)
8
我们的代码是基于frudata/1.70.39这个版本来的,没有带上这个十二月份的需求,不是从这里进行更新的.而且这里更新的是Frudata的Health,是一个新增属性,也不是Fru本身的Health. 更新FRU的入口依然只有update_fru_health, 麻烦再帮忙看下呢
l00012320
(kunlun_luzhanghui)
11
看下我上面的答复,我们的代码是基于frudata/1.70.39这个版本来的,没有带上这个十二月份的需求,不是从这里进行更新的.而且这里更新的是Frudata的Health,是一个新增属性,也不是Fru本身的Health. 更新FRU的入口依然只有update_fru_health
春阳那个应该不是更新Fru的入口,还是得再帮忙找下.目前只能看见这个方法调用.
l00012320
(kunlun_luzhanghui)
13
不是啊,精细化告警的Reading关联的是FRU的Health,怎么会是产生精细化告警后,再反过来更新Health状态呢,这不可能啊.
是先有FRU属性发生变更,产生精细化告警的.
所以这里配置错了呀,要改成frudata的health
l00012320
(kunlun_luzhanghui)
15
大概流程是, Scanner状态异常,触发CpuBrd过温告警, Component_CpuBoard状态变为异常,然后Event(闭源)组件修改关联的FRU的状态为异常,从而触发Fru_CpuBoard.Health异常,最终导致产生电子标签告警.
但是关联Fru_CpuBoard.Health,同时又关联Component_CpuBoard,会导致异常状态无法消除.
所以根因在于过温告警的产生,而不是Elabel的状态异常.