【申报模板】新增/变更资源协作接口

适用场景

新增/变更资源协作接口,包括路径、接口、属性、方法、信号和错误消息定义。

注意事项
1)资源协作接口评审点以接口作为最小评审单元;
2)资源协作接口评审点需要明确说明资源协作接口的评审关键变化:新增,还是变更;
3)资源协作接口评审点需要明确说明接口下属性、信号、方法的变更方式、详细描述和变更影响;
4)资源协作接口评审点需要明确说明接口变化的影响范围,例如作用于哪些路径;

详细描述(模板)

评审点1:新增资源协作接口 bmc.Xxx.Xxx.Xxx

注意事项
1)适用于新增未定义的资源协作接口以及接口下的属性、方法和信号描述。
2)接口设计应当遵循功能内聚、职责单一、接口抽象、支持扩展的基本原则。
3)接口设计主要评审接口关键字相关内容,组件模型实现关键字仅作为评审参考。

接口描述描述接口的功能、用途和职责,以及归属的功能域。功能域和功能决定了接口如何命名。

新增属性

属性名称 签名 只读 变化通知 属性描述 | 访问权限 属性来源 持久化类型 易变属性
Prop1 y True false 属性描述,表示xxx,默认值为0 Read: ReadOnly 掉电持久化 false
Prop2 t True true 属性描述,表示xxx Read: ReadOnly 永久持久化 false
Prop3 s False const 属性描述,表示xxx,默认值为"xxx",取值范围包括["xxx1", "xxx2", "xxx3"],分别表示“含义1”、“含义2”、“含义3” Read: ReadOnly
Write: BasicSetting
CSR 复位持久化 false

新增方法

方法名称 请求签名 请求参数描述 响应签名 响应参数描述 方法描述 | 访问权限
Method1 yq Param1: 表示xxx,用于xxx 设置xxx模式 DiagnoseMgmt
Method2 a(sy) Param1: 表示xx数组,每个元素包含xx名称,xx配置 设置xxx配置 SecurityMgmt
Method3 sy Param1: 表示xx名称
Param2: 表示xx值
a{sy} Param1: 表示配置项数组,每个配置项包含xx配置项名称和配置项值 获取匹配的xxx配置信息 ReadOnly

新增信号

信号名称 签名 参数描述 信号描述
Signal1 u xxx的标识id xxx变更信号,当xxx发生变更时触发
Signal2 as 待处理xxx的清单 xxx处理信号,通知对xxx进行后置处理
Signal3 s 消息字符串 xxx消息转发信号,转发消息给订阅者

新增接口影响

注意事项
1)接口新增影响主要描述对已有资源协作路径的影响
2)新增资源协作路径需要增加独立的资源协作路径评审点

路径 新增接口影响 | CSR配置影响 持久化影响 其他影响
/bmc/Xxx/Xxx/Xxx/:Id1 对外提供xxx功能 涉及重名属性,需设置CSR配置别名 已包含稳定主键,无兼容性问题 需实现新增属性和方法
/bmc/Xxx/Xxx/Xxx/:Id2 对外提供xxx功能 不涉及重名属性,无影响 已包含稳定主键,无兼容性问题 需实现新增方法,属性当前暂不实现,仅提供默认值

评审点2:变更资源协作接口 bmc.Xxx.Xxx.Xxx

注意事项
1)适用于对已定义的资源协作接口下的属性、方法、信号进行变更、新增或废弃处理。
2)接口变更应当考虑兼容性、扩展性、正确性的影响以及影响的范围。
3)属性评审点、方法评审点、信号评审点按需选填,接口变更影响必选必填。

变更描述描述接口变更的合理性和必要性。例如:接口承载了xxx相关的功能,新增属性同属于xxx功能的一部分。
接口链接原接口定义的资源链接(mdb interface仓接口定义),用于对照接口变更点。例如:bmc.kepler.AccountService.AccountPolicy接口定义

变更属性

变更类型 属性名称 签名 只读 变化通知 属性描述 | 访问权限 属性来源 持久化类型 变更影响
新增 Prop1 y True false 属性描述,表示xxx,默认值为0 Read: ReadOnly 掉电持久化 无影响
变更 Prop2 t 变更前:True
变更后:False
变更前:true
变更后:invalidates
属性描述,表示xxx 变更前:Read: ReadOnly
变更后:Read: ReadOnly
Write: BasicSetting
变更后:配置项 永久持久化 1、只读变更为读写,无业务影响
2、访问权限增加写权限,无业务影响
3、变化通知变更为invalidates,会导致业务无法获取变更后的属性值
废弃 Prop3 s False const 属性描述,表示xxx,默认值为"xxx",取值范围包括["xxx1", "xxx2", "xxx3"],分别表示“含义1”、“含义2”、“含义3” Read: ReadOnly
Write: BasicSetting
CSR 复位持久化 调整为通过方法Method1获取和设置,依赖该属性的业务需要进行调整和适配

变更方法

变更类型 方法名称 请求签名 请求参数描述 响应签名 响应参数描述 方法描述 | 访问权限 变更影响
新增 Method1 yq Param1: 表示xxx,用于xxx 设置xxx模式 DiagnoseMgmt 新增方法,无影响
变更 Method2 a(sy) Param1: 表示xx数组,每个元素包含xx名称,xx配置 设置xxx配置 SecurityMgmt 新增错误消息,影响北向接口上报的错误码,需与周边领域对齐
废弃 Method3 sy Param1: 表示xx名称
Param2: 表示xx值
a{sy} Param1: 表示配置项数组,每个配置项包含xx配置项名称和配置项值 获取匹配的xxx配置信息 ReadOnly 影响现有获取xxx配置项的方式,需要调整为通过xxx接口的xxx方法获取

变更信号

变更类型 信号名称 签名 参数描述 信号描述 变更影响
新增 Signal1 u xxx的标识id xxx变更信号,当xxx发生变更时触发 新增信号,无影响
变更 Signal2 变更前:as
变更后:a{sb}
变更前:待处理xxx的清单,前者表示xxx的名称,后者表示是否需要处理
变更后:待处理xxx的清单,前者表示xxx的名称,后者表示是否需要处理
xxx处理信号,通知对xxx进行后置处理 签名调整,会导致业务无法正确处理信号,依赖该信号的业务需同步修改
废弃 Signal3 s 消息字符串 xxx消息转发信号,转发消息给订阅者 废弃信号,消息通过新的机制传递,不再使用

变更接口影响

注意事项
1)接口变更影响主要描述对已有资源协作路径的影响
2)新增资源协作路径需要增加独立的资源协作路径评审点

路径 变更接口影响 | CSR配置影响 持久化影响 其他影响
/bmc/Xxx/Xxx/Xxx/:Id1 新增xx属性和xx方法,提供xxx功能 不涉及重名属性,无影响 不涉及新增和废弃主键,无兼容性问题 需实现新增属性和方法
/bmc/Xxx/Xxx/Xxx/:Id2 同上 不涉及重名属性,无影响 不涉及新增和废弃主键,无兼容性问题 需实现新增方法,属性当前暂不实现,仅提供默认值

评审点3:新增资源协作路径 /bmc/Xxx/Xxxx

注意事项
1)新增路径需要描述目的背景、功能用途等基本信息
2)新增资源协作接口需要增加独立的资源协作接口评审点,并排列在新增资源协作路径评审点之前

路径描述描述路径的功能用途、基本职责和归属的功能域,以及是否否区分系统、管理和机框等

实现接口

实现接口 实现接口描述 | CSR配置影响 持久化影响 其他影响
bmc.Xxx.Xxx.Xxx1 实现xx属性和xx方法,提供xxx功能 提供xxx属性配置能力,已通过hardware-sig评审 新增xxx主键和xxx属性持久化,无兼容性问题 不涉及
bmc.Xxx.Xxx.Xxx2 实现xx方法,提供xxx设备管理和访问能力 不涉及CSR配置,无影响 不涉及持久化,无影响 仅实现方法,属性当前暂不实现,提供默认非法值

评审点4:新增错误消息Xxx

注意事项
1)适用于新增未定义的错误消息。
2)消息名称(MessageID)是必选字段,必须以字母开头,符合大驼峰命名风格。
3)消息描述(Description)、消息体(Message)和解决方案(Resolution)是必选字段,必须采用英文描述,并保证语法正确,表述清晰。
4)严重程度(Severity)是必选字段,必须是OK、Warning、Critical其中之一。
5)参数个数(NumberOfArgs)和参数类型(ParamTypes)是可选字段,由消息体预留的参数位决定,默认参数个数为0,不需要指定参数类型。
6)HTTP状态码(HTTPStatusCode)、IPMI完成码(IpmiCompletionCode)、SnmpStatusCode(SNMP状态码)是可选字段,必须确保值有效。
6)跟踪深度(TraceDepth)可选字段,必须在[0, 5]的取值范围内,默认为0。

错误消息描述描写新增错误消息的用途,使用范围。

评审项 评审内容
消息名称 例如,PropertyValueTypeError
消息描述 例如,Indicates that a property was given the wrong value type, such as when a number is supplied for a property that requires a string.
消息体 例如,The value %1 for the property %2 is of a different type than the property can accept.
严重程度 例如,Warning
参数个数 例如,2
参数类型 例如,属性值,string类型;属性名称: string类型
解决方案 例如,Correct the value for the property in the request body and resubmit the request if the operation failed.
HTTP状态码 例如,400
IPMI完成码 例如,0xFF
SNMP状态码 例如,7
跟踪深度 例如,0

评审点5:变更错误消息Xxx

注意事项
1)适用于变更已定义的错误消息。
2)变更错误消息,需要给出错误消息的完整定义,用于评估变更影响。

变更描述描述错误消息变更的合理性和必要性。例如:消息未包含xxx信息,无法提供足够的定位信息。
消息链接原错误消息的链接,用于对照消息变更点。例如:Xxx错误消息

变更类型 评审项 评审内容 变更影响
消息名称 PropertyValueTypeError
消息描述 Indicates that a property was given the wrong value type, such as when a number is supplied for a property that requires a string.
变更 消息体 变更前:The property %2 is of a different type than the property can accept.
变更后:The value %1 for the property %2 is of a different type than the property can accept.
例如:仅内部使用,不涉及对外变更,影响可控
严重程度 Warning
变更 参数个数 变更前:1
变更后:2
例如:仅内部使用,不涉及对外变更,影响可控
变更 参数类型 变更前:属性名称: string类型
变更后:属性值,string类型;属性名称: string类型
例如:仅内部使用,不涉及对外变更,影响可控
解决方案 Correct the value for the property in the request body and resubmit the request if the operation failed.
HTTP状态码 400
IPMI完成码 0xFF
SNMP状态码 7
跟踪深度 0