【已评审】支持通过lscmd打印Raid卡实时新增接口和方法

评审背景

issue链接

背景

通过在线调试客户端lscmd可以执行组件的自定义命令进行在线调试,提升开发的定位能力

现状分析

当前组件管理多个对象:比如controller,drive,volume等,因此需要针对每个对象单独
新增一个接口,接口下面新增各对象各自的方法

方案

1.针对新增方法在业务组件中进行具体的调试功能实现,比如:打印某些私有信息帮助问题定位
2.通过lscmd来进行调用方法,进行在线调试

评审点

资源path:“/bmc/kepler/Systems/:SystemId/Storage”
资源interface:bmc.kepler.Release.Storage.Controller
变化类型:新增interface
应用场景:开发或维护人员通过组件调试命令查看组件运行实时数据
持久化类型:不持久化

方法名称 变化类型 请求签名 请求参数说明 响应签名 响应参数说明 访问权限 说明 约束
GetControllerInfo 新增方法 y ControllerId:签名为y,表示控制器ID a{ss} RAID卡相关信息 ReadOnly 打印运行时RAID卡的数据 仅用于mdbctl执行组件调测命令时使用

调测命令
命令名称: getctrlinfo
命令描述: “Get the running information of controller.”

参数:ControllerId
详细描述:“The Id of controller.”

评审结论

同意在/bmc/kepler/Systems/:SystemId/Storage下新增接口bmc.kepler.Release.Storage.Controller,并在该接口下新增方法:GetControllerInfo

方法名称 变化类型 请求签名 请求参数说明 响应签名 响应参数说明 访问权限 说明 约束
GetControllerInfo 新增方法 y ControllerId:签名为y,表示控制器ID a{ss} RAID卡相关信息 ReadOnly 打印运行时RAID卡的数据 仅用于mdbctl执行组件调测命令时使用

遗留问题:

1.lscmd界面描述信息要用英文。
结论:已补充命令名称及参数的英文说明
2.新增方法名字不合理。
结论:方法名称修改为GetControllerInfo

1、命令描述
这里对应的应该是方法描述,不是接口显示,建议已“.”结尾作为完整的方法描述。
需要补充组件自定义命令名称cmdName,采用全小写方式

功能实现已经修改。
方法描述—displayDescription:“Print controller running info.”
cmdName:printcontrollerrunninginfo