背景
现状:当前network_adapter组件存在部分属性类型为bool,属性默认值只能为false或者true;
问题场景:如果实际不支持获取相关属性或获取失败时显示为默认值,但实际值可能与默认值不一致,导致信息显示不准确;
涉及属性:
| 接口 | 属性 | 属性说明 |
|---|---|---|
| bmc.kepler.Systems.NetworkPort | AutoConnectOnBoot | 开机是否自动启用网络连接 |
| bmc.kepler.Systems.NetworkPort.VLAN | AutoConnectOnBoot | 开机是否自动启用网络连接 |
| bmc.kepler.Systems.OpticalModule | RxLossState | 光模块接收端信号是否丢失 |
| bmc.kepler.Systems.OpticalModule | TxLossState | 光模块发送端信号是否丢失 |
| bmc.kepler.Systems.OpticalModule | TxFaultState | 光模块发送端是否故障 |
| bmc.kepler.Systems.OpticalModule | TypeMatch | 光模块类型是否匹配 |
| bmc.kepler.Systems.OpticalModule | SpeedMatch | 光模块速率是否匹配 |
关联ISSUE
https://gitcode.com/openUBMC/network_adapter/issues/294
整体方案
1、新增属性:AutoConnectOnBootValidity、RxLossStateValidity、TxLossStateValidity、TxFaultStateValidity、TypeMatchValidity、SpeedMatchValidity表明对应的属性的值是否有效,类型为bool,true表示有效(当前值是通过带外或iBMA真实获取到的有效值),北向根据实际获取到值正常显示,false表示无效(当前未通过带外或iBMA成功获取到该属性),无效时北向显示为null;
2、redfish资源IsOnBoot新增null类型,未获取到AutoConnectOnBoot时该资源显示为null;
评审点
1、资源协作接口bmc.kepler.Systems.NetworkPort新增属性AutoConnectOnBootValidity;
2、资源协作接口bmc.kepler.Systems.NetworkPort.VLAN新增属性AutoConnectOnBootValidity;
3、资源协作接口bmc.kepler.Systems.OpticalModule新增属性RxLossStateValidity、TxLossStateValidity、TxFaultStateValidity、TypeMatchValidity、SpeedMatchValidity;
4、redfish资源IsOnBoot新增null类型,未获取到AutoConnectOnBoot时该资源显示为null;
详细描述
接口链接:
bmc.kepler.Systems.NetworkPort
变更属性:
| 变更类型 | 属性名称 | 签名 | 只读 | 变化通知 | 属性描述 | 访问权限 | 属性来源 | 持久化类型 | 变更影响 |
|---|---|---|---|---|---|---|---|---|---|
| 新增 | AutoConnectOnBootValidity | b | 只读 | 变化通知 | 表示AutoConnectOnBoot的值是否有效 ,true:有效,false:无效 | ReadOnly | NA | 不持久化 | 需要对应修改北向接口的逻辑,若无效则对应的值显示为null |
接口链接:
bmc.kepler.Systems.NetworkPort.VLAN
变更属性:
| 变更类型 | 属性名称 | 签名 | 只读 | 变化通知 | 属性描述 | 访问权限 | 属性来源 | 持久化类型 | 变更影响 |
|---|---|---|---|---|---|---|---|---|---|
| 新增 | AutoConnectOnBootValidity | b | 只读 | 变化通知 | 表示AutoConnectOnBoot的值是否有效,true:有效,false:无效 | ReadOnly | NA | 不持久化 | 需要对应修改北向接口的逻辑,若无效则对应的值显示为null |
接口链接:
bmc.kepler.Systems.OpticalModule
变更属性:
| 变更类型 | 属性名称 | 签名 | 只读 | 变化通知 | 属性描述 | 访问权限 | 属性来源 | 持久化类型 | 变更影响 |
|---|---|---|---|---|---|---|---|---|---|
| 新增 | RxLossStateValidity | b | 只读 | 变化通知 | 表示RxLossState的值是否有效,true:有效,false:无效 | ReadOnly | NA | 不持久化 | 需要对应修改北向接口的逻辑,若无效则对应的值显示为null |
| 新增 | TxLossStateValidity | b | 只读 | 变化通知 | 表示TxLossState的值是否有效,true:有效,false:无效 | ReadOnly | NA | 不持久化 | 不涉及 |
| 新增 | TxFaultStateValidity | b | 只读 | 变化通知 | 表示TxFaultState的值是否有效,true:有效,false:无效 | ReadOnly | NA | 不持久化 | 需要对应修改北向接口的逻辑,若无效则对应的值显示为null |
| 新增 | TypeMatchValidity | b | 只读 | 变化通知 | 表示TypeMatch的值是否有效,true:有效,false:无效 | ReadOnly | NA | 不持久化 | 不涉及 |
| 新增 | SpeedMatchValidity | b | 只读 | 变化通知 | 表示SpeedMatch的值是否有效,true:有效,false:无效 | ReadOnly | NA | 不持久化 | 不涉及 |
变更redfish资源schema文件
资源:IsOnBoot
描述:该属性用于指定系统启动时是否激活网络
涉及文件:
openubmcethernetinterface.v1_0_0.json
openubmcvlannetworkinterface.v1_0_0.json
变更点:属性新增null类型,未获取到AutoConnectOnBoot时该资源显示为null
是否准备好AI预审
评审结论
1、同意资源协作接口bmc.kepler.Systems.NetworkPort新增属性AutoConnectOnBootValidity,类型为bool,只读,变化通知,读权限为RedOnly,无持久化,属性true表示有效(当前值是通过带外或iBMA真实获取到的有效值),北向根据实际获取到值正常显示,false表示无效(当前未通过带外或iBMA成功获取到该属性),无效时北向显示为null;
2、同意资源协作接口bmc.kepler.Systems.NetworkPort.VALN新增属性AutoConnectOnBootValidity,类型为bool,只读,变化通知,读权限为RedOnly,无持久化,属性true表示有效(当前值是通过带外或iBMA真实获取到的有效值),北向根据实际获取到值正常显示,false表示无效(当前未通过带外或iBMA成功获取到该属性),无效时北向显示为null;
3、同意资源协作接口bmc.kepler.Systems.OpticalModule新增属性RxLossStateValidity、TxLossStateValidity、TxFaultStateValidity、TypeMatchValidity、SpeedMatchValidity,类型为bool,只读,变化通知,读权限为RedOnly,无持久化,属性分别表示RxLossState、TxLossState、TxFaultState、TypeMatch、SpeedMatch当前是否有效,true表示有效(当前值是通过带外或iBMA真实获取到的有效值),北向根据实际获取到值正常显示,false表示无效(当前未通过带外或iBMA成功获取到该属性),无效时北向显示为null;
4、同意redfish资源IsOnBoot新增null类型,未获取到AutoConnectOnBoot时该资源显示为null;