【已评审】新增资源协作接口方法设置节点信息

评审背景

Chassis接口下SuperPodSize,SuperPodLabel通过调用资源协作接口方法修改属性,无论属性值是否发生变化,组件都会记录操作日志,该接口下的其他属性,如TopologyType等,通过Set-Property方式实现,当属性值不发生变化时,不会触发属性变更信号,业务组件无法感知,导致接口内部不同属性操作日志记录行为不同。

当前现状以及差距

现状

/redfish/v1/Chassis/{ChassisId}接口下的属性在PATCH操作时,后台组件存在以下两种设置方式

属性 资源协作接口属性设置方式
AssetTag Method
IndicatorLED Method
SuperPodId Method
ServerIndex Method
SuperPodSize Method
SuperPodEnabled Set-Property
TopologyType Set-Property
InterconType Set-Property
PresentDPUCount Set-Property
NPUBootOption Set-Property
UBManagedBy Set-Property
ChassisID Set-Property

差距

/redfish/v1/Chassis/{ChassisId}接口下AssetTag等属性在PATCH操作时,是通过资源协作接口的Method修改,无论属性值是否改变,业务组件能够感知属性变化,此时会记录操作日志;SuperPodEnabled等属性在PATCH操作时,是通过Set-Property方式修改,在属性值不发生变化时,由于框架当前的限制,业务组件无法感知,因此不会记录操作日志。

解决方案

新增资源协作接口方法,在用户通过北向接口设置时调用该方法,确保在属性值不发生变化的情况下也能记录操作日志

评审点

新增资源协作接口方法

资源path: /bmc/kepler/Products/Ascend/SuperPodLabel

资源interface:bmc.kepler.Products.SuperPodLabel

方法名称 变化类型 请求签名 请求参数说明 响应签名 响应参数说明 访问权限 说明 约束
SetSuperPodLabel 新增方法 a{su} 字典Key表示该接口下的属性名称
字典Value表示待设置的属性值
BasicSetting 设置超节点配置参数

资源path: /bmc/kepler/Chassis/1/SuperPodLabel

资源interface:bmc.kepler.Chassis.SuperPodLabel

方法名称 变化类型 请求签名 请求参数说明 响应签名 响应参数说明 访问权限 说明 约束
SetSuperPodEnabled 新增方法 b true:表示开启超节点使能
false:表示关闭超节点使能
BasicSetting 设置超节点模式使能状态

评审结论

1、同意资源协作接口bmc.kepler.Products.SuperPodLabel新增方法设置超节点配置参数
path: /bmc/kepler/Products/Ascend/SuperPodLabel
interface:bmc.kepler.Products.SuperPodLabel
新增方法:

  • SetSuperPodLabel,签名为a{su},字典的Key(签名s)代表该接口下的属性名称,字典的Value(签名u)代表待设置的属性值,权限为BasicSetting

2、同意资源协作接口bmc.kepler.Chassis.SuperPodLabel增加方法设置超节点模式是否使能
path:/bmc/kepler/Chassis/1/SuperPodLabel
interface:bmc.kepler.Chassis.SuperPodLabel
新增方法:

  • SetSuperPodEnabled,签名为b,其中true表示开启超节点模式,false表示关闭,权限为BasicSetting