【已评审】资源协作接口NetworkPortMetrics新增属性

背景

根据标准Redfish接口要求需要新增RXBytes、TXBytes、RXErrors属性,需要在资源协作接口中新增RXBytes、TXBytes、RXErrors属性
对应Redfish接口:/redfish/v1/Chassis/1/NetworkAdapters/{networkadapter_id}/Ports/{port_id}/Metrics
对应接口:bmc.kepler.Systems.NetworkPort.Metrics

关联ISSUE

整体方案

在资源协作接口bmc.kepler.Systems.NetworkPort.Metrics中新增RXBytes、TXBytes、RXErrors属性

评审点

在资源协作接口bmc.kepler.Systems.NetworkPort.Metrics中新增RXBytes、TXBytes、RXErrors属性

详细描述

评审点1:新增资源协作接口属性RXBytes、TXBytes、RXErrors

资源协作接口:bmc.kepler.Systems.NetworkPort.Metrics下新增属性RXBytes、TXBytes、RXErrors
资源path:/bmc/kepler/Systems/:SystemID/NetworkAdapters/:ID/Ports/:ID
资源interface:bmc.kepler.Systems.NetworkPort.Metrics
新增属性
方案1:

属性名称 签名 只读 变化通知 属性描述 访问权限 属性来源 持久化类型 易变属性
RXBytesHigh u true false 端口收到的字节数高字节,默认值:0xffffffff R:ReadOnly NA 无需持久化 true
RXBytesLow u true false 端口收到的字节数低字节,默认值:0xffffffff R:ReadOnly NA 无需持久化 true
TXBytesHigh u true false 端口发送的字节数高字节,默认值:0xffffffff R:ReadOnly NA 无需持久化 true
TXBytesLow u true false 端口发送的字节数低字节,默认值:0xffffffff R:ReadOnly NA 无需持久化 true
RXErrorsHigh u true false 端口收到的错误总数高字节,默认值:0xffffffff R:ReadOnly NA 无需持久化 true
RXErrorsLow u true false 端口收到的错误总数低字节,默认值:0xffffffff R:ReadOnly NA 无需持久化 true

方案2:

属性名称 签名 只读 变化通知 属性描述 访问权限 属性来源 持久化类型 易变属性
RXBytes s true false 端口收到的字节数,默认值:空 R:ReadOnly NA 无需持久化 true
TXBytes s true false 端口发送的字节数,默认值:空 R:ReadOnly NA 无需持久化 true
RXErrors s true false 端口收到的错误总数,默认值:空 R:ReadOnly NA 无需持久化 true

评审结论

通过,具体结论

  1. 同意bmc.kepler.Systems.NetworkPort.Metrics下新增属性RXBytes、TXBytes、RXErrors
  2. 新增属性使用方案2,string类型,只读,读权限为RedOnly,无持久化;redfish接口展示逻辑:有值时根据实际值转换成对应数字显示(当前值是通过带外或iBMA真实获取到的有效值),无值时显示为null(当前未通过带外或iBMA成功获取到该属性);

遗留问题

新增属性不使用U64原因:
U64最大值是0xffffffffffffffff,按照该默认值设置,编译打包测试发现dbus接口默认值是0x7fffffffffffffff,达不到要求,所以改用string类型

RXErrors不是字节数,redfish规范里写的是错误总数

属性来源是NA,应该属于异变属性

背景里写清楚是哪个redfish接口