适用场景
新增/变更资源协作接口,包括路径、接口、属性、方法、信号和错误消息定义。
注意事项
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: ReadOnlyWrite: 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: ReadOnlyWrite: BasicSetting |
变更后:配置项 |
永久持久化 |
1、只读变更为读写,无业务影响2、访问权限增加写权限,无业务影响3、变化通知变更为invalidates,会导致业务无法获取变更后的属性值 |
|
废弃 |
Prop3 |
s |
False |
const |
属性描述,表示xxx,默认值为"xxx",取值范围包括["xxx1", "xxx2", "xxx3"],分别表示“含义1”、“含义2”、“含义3” |
Read: ReadOnlyWrite: 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 |