评审背景
某客户对KVM的使用有特殊诉求:
1、使用redfish接口获取KVM访问链接,且返回的KVM访问链接中token字段要求仅用于KVM访问KVM场景(不能用于其他鉴权场景);
2、redfish接口支持设置KVM会话类型(共享、独占)
当前现状
1、当前使用URL直连KVM 需要通过用户名密码鉴权,客户要求KVM链接使用专用的token进行鉴权,当前实现不满足客户要求
2、当前只支持在创建KVM会话时选择会话类型,客户要求先设置KVM会话类型,然后创建出的KVM连接即为之前设置的会话类型,当前实现不满足客户要求
需要针对客户要求进行处理,计划新增资源协作接口实现
触发原因
新需求
决策点
决策点一 支持使用redfish接口获取KVM访问链接
原有KVM URL直连需要通过用户名密码鉴权,不满足客户诉求。计划提供资源协作接口方法进行实现
资源协作路径:/bmc/{customer}/Managers/:Id/GraphicalConsole(新增)
资源协作接口:bmc.{customer}.Managers.GraphicalConsole(新增)
方法:GetKVMToken(新增)
详细描述:
| 方法名称 | 变化类型 | req签名 | 请求参数说明 | 响应参数类型 | 响应参数说明 | 执行权限 | 备注 |
|---|---|---|---|---|---|---|---|
| GetKVMToken | 新增方法 | s | Credential:通用鉴权凭据,比如用户通过SessionService创建,携带在接口请求头中的X-Auth-Token | s | KVMToken:KVM链接token | KVMMgmt | 获取KVM token方法 |
决策点二 支持设置KVM会话类型
设置该属性之后,通过redfish接口查询的KVM直连URL,使用该URL建立的KVM会话时会根据属性值建立对应类型的会话
资源协作路径:/bmc/{customer}/Managers/:Id/GraphicalConsole(新增)
资源协作接口:bmc.{customer}.Managers.GraphicalConsole(新增)
属性:KVMSessionMode(新增)
详细描述:
| 属性名称 | 变化类型 | 签名 | 读写权限 | 持久化 | 默认值 | 变化通知 | 属性说明 | 属性约束 |
|---|---|---|---|---|---|---|---|---|
| KVMSessionMode | 新增属性 | y | 读写 read:ReadOnly write:KVMMgmt |
掉电持久化 | 0 | false | KVM会话类型 | 取值: 0:共享模式 1:独占模式 |
评审结论
同意新增如下资源协作接口,方法和属性:
新增path:/bmc/{customer}/Managers/:Id/GraphicalConsole
新增interface:bmc.{customer}.Managers.GraphicalConsole
新增方法:
| 方法名称 | 变化类型 | req签名 | 请求参数说明 | 响应参数类型 | 响应参数说明 | 执行权限 | 备注 |
|---|---|---|---|---|---|---|---|
| GetKVMToken | 新增方法 | s | Credential:通用鉴权凭据,比如用户通过SessionService创建,携带在接口请求头中的X-Auth-Token | s | KVMToken:KVM链接token | KVMMgmt | 获取KVM token方法 |
新增属性:
| 属性名称 | 变化类型 | 签名 | 读写权限 | 持久化 | 默认值 | 变化通知 | 属性说明 | 属性约束 |
|---|---|---|---|---|---|---|---|---|
| KVMSessionMode | 新增属性 | y | 读写 read:ReadOnly write:KVMMgmt |
掉电持久化 | 0 | false | KVM会话类型 | 取值: 0:共享模式 1:独占模式 |