redfish获取网卡信息时部分对象内容为空

网迅1GE网卡搭配鲲鹏920服务器测试通过redfish获取网卡信息时,遇到以下问题:

1)pcie_device选择1.70.76版本构建出包

redfish获取PCIeDevice显示的PCIeCards对象和web网络适配器,以及资源树对象都是匹配的。但是redfish获取的内容中Manufacture等信息为空。

2)选择1.70.98版本pcie_device组件版本构建出包时,redfish获取的PCIeDevice下没有1GE网卡对应的PCIeCards对象,但是webui网络适配器和资源树上都是有网卡对象的。

1、看下对应rackmonut仓中接口定义,使用对应的资源协作接口是哪个,查下对应的资源;
2、对应网迅1GE网卡的csr文件是否配置了对应的厂商,描述等信息,这个应该是固定配置的

不好意思,第一点方便再详细一点吗,刚才rackmount组件内搜索了下/redfish/v1/Chassis/{chassisid}/PCIeDevices/PCIeCard,和/redfish/v1/Chassis/{id}/PCIeDevices/PCIeCard,都没有,只能到PCIeDevices这一层。

不过从之前实际测试结果来看,对应资源树接口应该是bmc.kepler.Systems.PCIeDevices.PCIeCard,通过setprop修改这个接口下的Manufacture后,redfish获取的信息也会更新。网卡自发现加载成功后,查看过这个接口信息,厂商信息为空,但是devmon设备树上bmc.dev.PCIeCard接口下Manufacture有内容的,

第二点中sr文件里bmc.dev.PCIeCard下PCIeDevice、PCIeCard、NetworkAdapter、Board等接口都有配置Manufacture。

那就是资源协作接口未刷新是吧?redfish使用的是资源协作接口

从测试现象来看应该是的。

请问下component_drivers组件是什么版本,最近合入了一个问题是csr字段配置不对导致属性同步失败的问题。用合入这个提交后的版本试下: AtomGit | GitCode - 全球开发者的开源社区,开源代码托管平台

用pcie_device组件 1.70.100 component_drivers组件 1.1.36 试试

之前使用的Component_drivers组件是基于1.1.7版本的,刚才尝试了下合入pr_238修改,redfish获取的网卡信息中Manufacture还是空的。

尝试过使用新版本1.1.36的component_drivers,但是服务器启动后devmon服务自动加载失败并且手动加载也失败(报错./devmon: symbol lookup error: ./devmon: undefined symbol: _ZN2mc7runtime18condition_variable13remove_waiterEPNS1_10WaiterNodeE),然后更新了下manifest组件,同时使用1.1.20版本的devmon组件,以及1.70.100版本的pcie_device组件,devmon服务还是自动加载失败,手动加载也失败。

后续修改manifest.yml,使用1.1.30版本component_drivers以及1.1.18版本devmon后可以成功自动加载devmon服务,但是redfish获取网卡信息没有pciecard显示(web和资源树上都有对应网卡对象,但是redfish获取/redfish/v1/Chassis/1/PCIeDevices时没有对应PCIeCard对象)。修改manifest.yml使用1.70.76版本pcie_device后,可以获取到对应网卡对象信息了,但是Manufacture还是空的。

使用pcie_device组件的最新版本(1.70.109)进行构建出包即可解决。可能是pcie_device组件没有用最新模板自动生成代码导致,这个问题已经修复了。

1 个赞