背景
支持双主机管理能力,需要将KVM/VMM特性按照不同主机独立管理。
关联ISSUE
需求: 支持Systems下的GraphicalConsole对象相关属性
相关议题-新增资源协作接口、webrest接口及配置项支持双主机场景KVM和VMM功能
评审点1:redfish接口/redfish/v1/Systems/:systemid的GET操作响应体和PATCH操作请求体新增属性
- 场景:新增/变更redfish接口
- URI:/redfish/v1/Systems/:systemid
- 变化类型:变更/新增属性
- 操作类型:GET/PATCH
- 应用场景:支持查询和修改不同主机下虚拟控制台信息及虚拟媒体信息
- 详细描述
| 属性名称 | 属性类型 | 说明 | 取值范围 | 默认值 | 操作权限 | 约束 |
|---|---|---|---|---|---|---|
| GraphicalConsole { | object | 虚拟控制台服务信息 | - | - | - | - |
| ConnectTypesSupported | array | 虚拟控制台支持的连接类型 | KVMIP | [“KVMIP”] | GET:ReadOnly | - |
| MaxConcurrentSessions | integer | 最大会话 | - | 2 | GET:ReadOnly | - |
| Port | integer | 服务端口号 | 1-65535 | 主机1:2198 主机2:2298 |
GET:ReadOnly PATCH:SecurityMgmt |
- |
| ServiceEnabled | boolean | 服务使能 | true或false | true | GET:ReadOnly PATCH:SecurityMgmt |
- |
| } | ||||||
| VirtualMediaConfig { | object | 虚拟媒体服务信息 | - | - | - | - |
| Port | integer | 服务端口号 | 1-65535 | 主机1:8208 主机2:8308 |
GET:ReadOnly PATCH:SecurityMgmt |
- |
| ServiceEnabled | boolean | 服务使能 | true或false | true | GET:ReadOnly PATCH:SecurityMgmt |
- |
| } |
样例:
{
"GraphicalConsole": {
"ConnectTypesSupported": ["KVMIP"],
"MaxConcurrentSessions": 2,
"Port": 2198,
"ServiceEnabled": true
},
"VirtualMediaConfig": {
"Port": 8208,
"ServiceEnabled": true
}
}
评审点2:redfish接口/redfish/v1/Systems/:systemid/VirtualMedia/CD的GET操作响应体和PATCH操作请求体新增属性
- 场景:新增/变更redfish接口
- URI:/redfish/v1/Systems/:systemid/VirtualMedia/CD
- 变化类型:变更/新增属性
- 操作类型:GET/PATCH
- 应用场景:支持查询和修改不同主机下虚拟媒体信息
- 详细描述
| 属性名称 | 属性类型 | 说明 | 取值范围 | 默认值 | 操作权限 | 约束 |
|---|---|---|---|---|---|---|
| EjectPolicy | string | 镜像弹出策略 | OnPowerOff:OS下电或重启时弹出 Persistent:永不弹出 Timed:在经过EjectTimeout属性指定的时间后弹出 AfterUse:使用后弹出(未实现) Session:会话结束后弹出(未实现) |
“Persistent” | GET:ReadOnly PATCH:VMMMgmt |
- |
| EjectTimeout | duration | 虚拟媒体的超时弹出时间 | PT0S-PT8H | PT1H | GET:ReadOnly PATCH:VMMMgmt |
- |
| UserName | string | 用户名 | - | “” | GET:ReadOnly PATCH:VMMMgmt |
- |
| Password | string | 用户密码 | - | null | GET:ReadOnly PATCH:VMMMgmt |
- |
样例:
{
...
"EjectPolicy": "Persistent",
"EjectTimeout": "PT1H",
"UserName": "test_user",
"Password": null
}
评审点3:redfish接口/redfish/v1/Systems/:systemid/VirtualMedia/CD/Actions/VirtualMedia.EjectMedia新增POST方法
- 场景:新增/变更redfish接口
- URI:/redfish/v1/Systems/:systemid/VirtualMedia/CD/Actions/VirtualMedia.EjectMedia
- 变化类型:变更/新增Action
- 操作类型:POST
- 操作权限:VMMMgmt
- 应用场景:支持弹出虚拟媒体
- 详细描述
请求体为空
评审点4:redfish接口/redfish/v1/Systems/:systemid/VirtualMedia/CD/Actions/VirtualMedia.InsertMedia新增POST方法
- 场景:新增/变更redfish接口
- URI:/redfish/v1/Systems/:systemid/VirtualMedia/CD/Actions/VirtualMedia.InsertMedia
- 变化类型:变更/新增Action
- 操作类型:POST
- 操作权限:VMMMgmt
- 应用场景:支持插入虚拟媒体
- 详细描述
| 属性名称 | 属性类型 | 说明 | 备注 |
|---|---|---|---|
| Image | string | 镜像URI | - |
| TransferProtocolType | string | 传输协议 | 枚举值: HTTPS CIFS NFS FTP(未实现) HTTP(未实现) OEM(未实现) SCP(未实现) SFTP(未实现) |
| UserName | string | 用户名 | - |
| Password | string | 用户密码 | - |
请求体样例:
{
"Image": "https://192.168.1.225/boot_image.iso",
"TransferProtocolType": "HTTPS",
"UserName": "test_user",
"Password": "test_password"
}
评审结论
1、同意redfish接口/redfish/v1/Systems/:systemid的GET操作响应体和PATCH操作请求体新增属性(详情见评审点)
2、同意redfish接口/redfish/v1/Systems/:systemid/VirtualMedia/CD的GET操作响应体和PATCH操作请求体新增属性(详情见评审点)
3、同意redfish接口/redfish/v1/Systems/:systemid/VirtualMedia/CD/Actions/VirtualMedia.EjectMedia新增POST方法(详情见评审点)
4、同意redfish接口/redfish/v1/Systems/:systemid/VirtualMedia/CD/Actions/VirtualMedia.InsertMedia新增POST方法(详情见评审点)
遗留问题
无