【已评审】新增双主机虚拟控制台和虚拟媒体相关标准redfish接口

背景

支持双主机管理能力,需要将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方法(详情见评审点)

遗留问题