【已评审】新增资源协作接口、webrest接口及配置项支持双主机场景KVM和VMM功能

背景

新需求;支持双主机管理能力,需要将KVM/VMM特性按照不同主机独立管理。

评审点1:/UI/Rest/GenericInfo新增SystemIds属性(GET)

详细描述

  • 场景:新增/变更webrest接口
  • URI:/UI/Rest/GenericInfo
  • 变化类型:变更/新增属性
  • 操作类型:GET
  • 应用场景:供前端识别单双主机场景,并获取创建KVM会话时使用的主机序号
  • 详细描述

调整前的属性:

属性名称 属性类型 说明 取值范围 默认值 操作权限 约束
SystemIds array 支持的主机Id 单主机场景只返回[1]、双主机场景返回[1,2] [1] ReadOnly -

响应体样例:

{
    ...
    "SystemIds": [1, 2]
}

评审点2:/UI/Rest/Maintenance/SystemDiagnostic/DownloadVideo、/UI/Rest/Maintenance/SystemDiagnostic/DeleteScreenshot、/UI/Rest/Maintenance/VideoPlayLogin、/UI/Rest/Services/KvmLogin新增属性SystemId

详细描述

  • 场景:新增/变更webrest接口
  • URI:/UI/Rest/Maintenance/SystemDiagnostic/DownloadVideo
  • URI:/UI/Rest/Maintenance/SystemDiagnostic/DeleteScreenshot
  • URI:/UI/Rest/Maintenance/VideoPlayLogin
  • URI:/UI/Rest/Services/KvmLogin
  • 变化类型:新增属性
  • 操作类型:POST
  • 应用场景:分别应用于指定对应主机id下载录像文件、删除手动截屏文件、录像播放
  • 详细描述
属性名称 属性类型 说明 取值范围 默认值 操作权限 约束
SystemId integer 主机Id - 1 保持原权限 -

请求体用例:

{
    ...
	"SystemId": 1
}

评审点3:/UI/Rest/Services/KVM变更属性Port和Enabled,新增属性ActivatedSystemId

详细描述

  • 场景:新增/变更webrest接口
  • URI:/UI/Rest/Services/KVM
  • 变化类型:变更/新增属性
  • 操作类型:GET/PATCH
  • 应用场景:查询/修改不同主机的KVM功能使能状态和端口服务,查询当前激活图像通道的主机id
  • 详细描述:

变更前:

属性名称 属性类型 说明 取值范围 默认值 操作权限 约束
Port integer 服务端口号 1-65535 主机1:2198;主机2:2298 r:ReadOnly;w:SecurityMgmt -
Enabled bool 服务使能状态 true或false true r:ReadOnly;w:SecurityMgmt -

变更后(原属性废弃):

属性名称 属性类型 说明 取值范围 默认值 操作权限 约束
ActivatedSystemId integer 当前激活图像通道的主机id - 1 ReadOnly -
GraphicalConsole [{ array 不同主机的KVM服务使能状态和服务端口号 - - - -
SystemId integer 主机id - - r:ReadOnly;w:SecurityMgmt -
Port integer 服务端口号 1~65535 主机1:2198;主机2:2298 r:ReadOnly;w:SecurityMgmt -
Enabled boolean 服务使能状态 true或false true r:ReadOnly;w:SecurityMgmt -
}]

响应体样例:

{
    ...
    "GraphicalConsole": [
    	{
    		"SystemId": 1,
            "Port": 2198,
            "Enabled": true
        },
		{
    		"SystemId": 2,
            "Port": 2298,
            "Enabled": true
        }
    ],
    "ActivatedSystemId": 1
}

评审点4:/UI/Rest/Services/VMM变更属性Port和Enabled

详细描述

  • 场景:新增/变更webrest接口
  • URI:/UI/Rest/Services/VMM
  • 变化类型:变更/新增属性
  • 操作类型:GET/PATCH
  • 应用场景:查询/修改不同主机的VMM功能使能状态和端口服务
  • 详细描述

变更前:

属性名称 属性类型 说明 取值范围 默认值 操作权限 约束
Port integer 服务端口号 1-65535 主机1:8208;主机2:8308 r:ReadOnly;w:SecurityMgmt -
Enabled bool 服务使能状态 true或false true r:ReadOnly;w:SecurityMgmt -

变更后(原属性废弃):

属性名称 属性类型 说明 取值范围 默认值 操作权限 约束
VirtualMediaConfig[{ array 不同主机的VMM服务使能状态和服务端口号 - - - -
SystemId integer 主机id - - r:ReadOnly;w:SecurityMgmt -
Port integer 服务端口号 1~65535 主机1:8208;主机2:8308 r:ReadOnly;w:SecurityMgmt -
Enabled boolean 服务使能状态 true或false true r:ReadOnly;w:SecurityMgmt -
}]

响应体样例:

{
    ...
    "VirtualMediaConfig": [
    	{
    		"SystemId": 1,
            "Port": 8208,
            "Enabled": true
        },
		{
    		"SystemId": 2,
            "Port": 8308,
            "Enabled": true
        }
    ]
}

评审点5:/UI/Rest/Maintenance/SystemDiagnostic变更VideoRecordInfo和ScreenshotCreateTime属性(GET),新增ActivatedSystemId属性(GET/PATCH)

详细描述

  • 场景:新增/变更webrest接口
  • URI:/UI/Rest/Maintenance/SystemDiagnostic
  • 变化类型:变更/新增属性
  • 操作类型:GET/PATCH
  • 应用场景:查询录像截屏界面的资源信息
  • 详细描述

调整前的属性:

属性名称 属性类型 说明 取值范围 默认值 操作权限 约束
VideoRecordInfo array 录像文件信息 - - ReadOnly -
ScreenshotCreateTime object 截图文件信息 - - ReadOnly -

调整后及新增属性(原属性废弃):

属性名称 属性类型 说明 取值范围 默认值 操作权限 约束
ActivatedSystemId integer 当前激活图像的主机id 1 - r:ReadOnly,w:KVMMgmt -
VideoRecords[{ array 录像文件信息 单主机场景无System2信息 - ReadOnly -
SystemId integer 主机id - - ReadOnly -
TriggerType string 触发类型 caterr:CPU出错;poweroff:关机;osreset:重启 - ReadOnly -
VideoSizeBytes integer 录像文件大小 - - ReadOnly -
CreateTime string 录像文件生成时间 - - ReadOnly -
}]
Screenshots [{ array 截图文件信息 单主机场景无System2信息 - ReadOnly -
SystemId integer 主机id - - ReadOnly -
CreateTime { object 截屏文件生成时间信息 - - ReadOnly -
Auto array 自动截屏文件生成时间信息 - - ReadOnly -
Manual array 手动截屏文件生成时间信息 - - ReadOnly -
}
}]

响应体样例:

{
    ...
    "VideoRecords": [
        {
            "SystemId": 1,
            "TriggerType": "caterr",
            "VideoSizeBytes": 417080,
            "CreateTime": "2025-10-14 04:32:12"
        },
        ...
           {
            "SystemId": 2,
            "TriggerType": "caterr",
            "VideoSizeBytes": 417080,
            "CreateTime": "2025-10-14 04:32:12"
        }, {
            "SystemId": 2,
            "TriggerType": "poweroff",
            "VideoSizeBytes": 417080,
            "CreateTime": "2025-10-14 04:32:12"
        }
    ],
    ...
    "Screenshots": [
        {
            "SystemId": 1,
            "CreateTime": {
                "Auto": [
                	"2025-10-14 04:23:47",
                    "2025-10-14 04:25:19",
                    "2025-10-14 04:32:31",
                ],
                "Manual": [
                	"2025-10-14 04:23:20"
                ]
			}
		}, {
			"SystemId": 2,
            "CreateTime": {
                "Auto": [
                	"2025-10-14 04:23:47"
                ],
                "Manual": [
                	"2025-10-14 04:23:20"
                ]
			}
        }
    ],
    ...
    "ActivatedSystemId": 1
}

评审点6:/UI/Rest/Services/PortConfig变更属性KVM和VMM

详细描述

  • 场景:新增/变更webrest接口
  • URI:/UI/Rest/Services/PortConfig
  • 变化类型:变更属性
  • 操作类型:GET/PATCH
  • 应用场景:查询/修改不同主机的KVM/VMM功能使能状态和端口服务
  • 详细描述

变更前:

属性名称 属性类型 说明 取值范围 默认值 操作权限 约束
KVM object KVM的服务使能状态及服务端口号 Port取值范围1~65535 - r:ReadOnly;w:SecurityMgmt -
VMM object VMM的服务使能状态及服务端口号 Port取值范围1~65535 - r:ReadOnly;w:SecurityMgmt -

变更后(原属性废弃):

属性名称 属性类型 说明 取值范围 默认值 操作权限 约束
KVM [{ array KVM的服务使能状态及服务端口号 单主机场景无System2信息;Port取值范围1~65535 - - -
SystemId integer 主机id - - r:ReadOnly;w:SecurityMgmt -
Port integer 服务端口号 1~65535 主机1:2198;主机2:2298 r:ReadOnly;w:SecurityMgmt -
Enabled boolean 服务使能状态 true或false true r:ReadOnly;w:SecurityMgmt -
}]
VMM [{ array VMM的服务使能状态及服务端口号 单主机场景无System2信息;Port取值范围1~65535 - - -
SystemId integer 主机id - - r:ReadOnly;w:SecurityMgmt -
Port integer 服务端口号 1~65535 主机1:8208;主机2:8308 r:ReadOnly;w:SecurityMgmt -
Enabled boolean 服务使能状态 true或false true r:ReadOnly;w:SecurityMgmt -
}]

响应体用例:

{
    ...
    "KVM": [
    	{
    		"SystemId": 1,
            "Port": 2198,
            "Enabled": true
        },
		{
    		"SystemId": 2,
            "Port": 2298,
            "Enabled": true
        }
    ],
    "VMM": [
    	{
    		"SystemId": 1,
            "Port": 8208,
            "Enabled": true
        },
		{
    		"SystemId": 2,
            "Port": 8308,
            "Enabled": true
        }
    ]
}

评审点7:/UI/Rest/Services/VNC新增属性ActivatedSystemId

详细描述

  • 场景:新增/变更webrest接口
  • URI:/UI/Rest/Services/VNC
  • 变化类型:新增属性
  • 操作类型:GET/PATCH
  • 应用场景:VNC服务界面切换当前激活图像通道的主机id
  • 详细描述
属性名称 属性类型 说明 取值范围 默认值 操作权限 约束
ActivatedSystemId integer 当前激活图像通道的主机id - 1 r:ReadOnly;w:KVMMgmt -

响应体样例:

{
    ...
    "ActivatedSystemId": 1
}

评审点8:新增资源协作接口

详细描述

资源树path改为/bmc/kepler/Managers/:managerid/NetworkProtocol/KVMIP/:instanceid
interface不变,属性增加一个SystemId标识所属主机,SystemId与:instanceid无一一对应关系

资源path:/bmc/kepler/Managers/:managerid/NetworkProtocol/KVMIP/:instanceid

资源path:/bmc/kepler/Managers/:managerid/NetworkProtocol/VirtualMedia/:instanceid

资源interface:bmc.kepler.Managers.NetworkProtocol.PortConfig

新增属性:

属性名称 变化类型 签名 读写&权限 持久化 变化通知 说明 约束
SystemId 属性 y 读:ReadOnly 掉电 true 网络服务实例所属的System ID

详细描述

资源path: /bmc/kepler/Systems/:systemid/GraphicalConsole

资源interface: bmc.kepler.Systems.GraphicalConsole

变化类型:新增path、interface和属性

应用场景:承载不同主机下的录像文件信息和截屏文件信息

持久化类型: 掉电持久化

属性:

属性名称 变化类型 签名 读写&权限 持久化 变化通知 说明 约束
VideoAttributes 属性 a(uss) u:大小,s:时间,s:类型 读:ReadOnly 不持久化 false 录像文件信息
ScreenshotAttributes 属性 a(uss) u:大小,s:时间,s:类型 读:ReadOnly 不持久化 false 截屏文件信息
PersistentUSBConnectionEnabled 属性 b 读:ReadOnly 掉电 true 虚拟键鼠持续连接使能
AutoOSLockEnabled 属性 b 读:ReadOnly 写:KVMMgmt 掉电 true 系统自动锁定使能
AutoOSLockType 属性 s 读:ReadOnly 写:KVMMgmt 掉电 true 系统自动锁定方式
AutoOSLockKey 属性 as 读:ReadOnly 写:KVMMgmt 掉电 true 系统自动锁定自定义快捷键
AutoScreenshotTriggers 属性 au 读:ReadOnly 写:DiagnoseMgmt 不持久化 true 自动截屏触发类型
DisableKeyboardDuringBiosStartup 属性 b 读:ReadOnly 写:KVMMgmt 掉电 true BIOS启动过程中是否允许kvm键盘输入
VideoEnabled 属性 b 读:ReadOnly 掉电 true 录像使能
ScreenshotEnabled 属性 b 读:ReadOnly 掉电 true 截屏使能

方法:

方法名称 变化类型 请求签名 请求参数说明 响应签名 响应参数说明 访问权限 说明 约束
CreateVideoPlayToken 方法 ss s: WebToken,Web端Token;s: VideoName,录像名称 sy s:VideoPlayToken播放录像Token;y:VideoType录像类型 DiagnoseMgmt 登录录像播放服务
ExportVideo 方法 ss s: VideoName,录像名称;s: DstPath,导出路径 u u:任务id DiagnoseMgmt 导出录像文件
ExportScreenshots 方法 s s: DstPath,导出路径 u u:任务id DiagnoseMgmt 导出截图文件
RemoveScreenshot 方法 - - DiagnoseMgmt 删除指定主机的截屏文件
SetPersisUSBConnEnabled 方法 b b: 虚拟键鼠持续连接使能 i i:设置结果 KVMMgmt 设置虚拟键鼠是否持续连接
CaptureScreenshot 方法 ys y: 手动截屏模式(是否唤醒屏幕) s: 目标路径 u u: 任务id DiagnoseMgmt 手动截屏

详细描述

资源path: /bmc/kepler/Systems/:systemid/VirtualMedia/CD

资源interface: bmc.kepler.Systems.VirtualMedia.CD

变化类型:新增path、interface和属性

应用场景:承载不同主机下的录像文件信息和截屏文件信息

持久化类型: 掉电持久化

属性:

属性名称 变化类型 签名 读写&权限 持久化 变化通知 说明 取值说明
EjectPolicy 属性 s 读:ReadOnly;写:VMMMgmt 掉电 true 镜像弹出策略 枚举类型,取值:OnPowerOff:OS下电或重启时弹出;Persistent:永不弹出;Timed:在经过EjectTimeout属性指定的时间后弹出。默认值为:Persistent
EjectTimeoutSeconds 属性 u 读:ReadOnly;写:VMMMgmt 掉电 true 虚拟媒体的超时弹出时间(秒) 取值范围:0~28800,默认值:3600
UserName 属性 s 读:ReadOnly;写:VMMMgmt 掉电 true 访问远程镜像需要的用户名 默认值:“”
ConnectedVia 属性 s 读:ReadOnly 不持久化 true 虚拟媒体连接途径 默认值:“NotConnected”
Image 属性 s 读:ReadOnly 不持久化 true 远程镜像URI 默认值:“”
ImageName 属性 s 读:ReadOnly 不持久化 true 远程镜像文件名 默认值:“”
MediaTypes 属性 as 读:ReadOnly 不持久化 true 虚拟媒体类型 []
ConnectNum 属性 y 读:ReadOnly 不持久化 true 虚拟媒体连接数量 默认值:0
ConnectState 属性 y 读:ReadOnly 不持久化 true 虚拟媒体连接状态 默认值:0

方法:

方法名称 变化类型 请求签名 请求参数说明 响应签名 响应参数说明 访问权限 说明 约束
InsertMedia 方法 ssss s:Image 镜像URI;s:ProtocolType 传输协议类型;s:UserName 插入镜像访问用户名;s:Password 插入镜像访问密码 u TaskId:插入媒体任务ID VMMMgmt 插入媒体方法
EjectMedia 方法 - u TaskId:弹出媒体任务ID VMMMgmt 弹出媒体方法
SetPassword 方法 s s: Password 设置访问远程镜像密码 - - VMMMgmt 设置访问远程镜像需要使用的密码

评审点9:新增装备定制项

详细描述

用以支持双主机场景下通过装备定制项定制主机2的KVM/VMM的服务使能状态和服务端口号

主机1:

说明
定制化项名称 BMCSet_System1_KVM_Service_Enabled
归属组件 nsm
类型 string
默认值 “on”
说明 定制系统1的KVM服务使能状态,off表示设置为默认值;
实现方式 配置文件导入
说明
定制化项名称 BMCSet_System1_KVM_Service_Port
归属组件 nsm
类型 integer
默认值 2198
说明 定制系统1的KVM服务端口号,取值范围1~65535
实现方式 配置文件导入
说明
定制化项名称 BMCSet_System1_VMM_Service_Enabled
归属组件 nsm
类型 string
默认值 “on”
说明 定制系统1的VMM服务使能状态,off表示设置为默认值;
实现方式 配置文件导入
说明
定制化项名称 BMCSet_System1_VMM_Service_Port
归属组件 nsm
类型 integer
默认值 8208
说明 定制系统1的VMM服务端口号,取值范围1~65535
实现方式 配置文件导入

主机2

说明
定制化项名称 BMCSet_System2_KVM_Service_Enabled
归属组件 nsm
类型 string
默认值 “on”
说明 定制系统2的KVM服务使能状态,off表示设置为默认值;
实现方式 配置文件导入
说明
定制化项名称 BMCSet_System2_KVM_Service_Port
归属组件 nsm
类型 integer
默认值 2298
说明 定制系统2的KVM服务端口号,取值范围1~65535
实现方式 配置文件导入
说明
定制化项名称 BMCSet_System2_VMM_Service_Enabled
归属组件 nsm
类型 string
默认值 “on”
说明 定制系统2的VMM服务使能状态,off表示设置为默认值;
实现方式 配置文件导入
说明
定制化项名称 BMCSet_System2_VMM_Service_Port
归属组件 nsm
类型 integer
默认值 8308
说明 定制系统2的VMM服务端口号,取值范围1~65535
实现方式 配置文件导入

评审点10:新增配置导入导出项

详细描述

配置项名称 配置项类别 配置项 归属组件 取值类型 取值说明 默认值 导入导出类型 导出后是否可直接导入(无修改)
多系统配置 MultiSystems SystemId nsm integer - 1 ImportAndExport 可以
多系统配置 MultiSystems KVMIP nsm object - - ImportAndExport 可以
KVM服务配置 KVMIP Enabled nsm boolean true或false true ImportAndExport 可以
KVM服务配置 KVMIP Port nsm integer 1-65535 主机1:2198,主机2:2298 ImportAndExport 可以
多系统配置 MultiSystems VirtualMedia nsm object - - ImportAndExport 可以
VMM服务配置 VirtualMedia Enabled nsm boolean true或false true ImportAndExport 可以
VMM服务配置 VirtualMedia Port nsm integer 1-65535 主机1:8208,主机2:8308 ImportAndExport 可以
MultiSystems: [
    {
		"SystemId": {
            "Value": 1,
            "AttributeType": "ImportAndExport",
            "Import": true
        },
		"KVMIP": {
			"Enabled": {
                "Value": true,
                "AttributeType": "ImportAndExport",
                "Import": true
            },
			"Port": {
                "Value": 2198,
                "AttributeType": "ImportAndExport",
                "Import": true
            }
		},
		"VirtualMedia": {
			"Enabled": {
                "Value": true,
                "AttributeType": "ImportAndExport",
                "Import": true
            },
			"Port": {
                "Value": 8208,
                "AttributeType": "ImportAndExport",
                "Import": true
            }
		}
    },
    {
		"SystemId": {
            "Value": 2,
            "AttributeType": "ImportAndExport",
            "Import": true
        },
		"KVMIP": {
			"Enabled": {
                "Value": true,
                "AttributeType": "ImportAndExport",
                "Import": true
            },
			"Port": {
                "Value": 2298,
                "AttributeType": "ImportAndExport",
                "Import": true
            }
		},
		"VirtualMedia": {
			"Enabled": {
                "Value": true,
                "AttributeType": "ImportAndExport",
                "Import": true
            },
			"Port": {
                "Value": 8308,
                "AttributeType": "ImportAndExport",
                "Import": true
            }
		}
    }
]

评审结论

1.同意webrest接口/UI/Rest/GenericInfo的GET操作响应体新增SystemIds属性,类型为array,数组元素类型为integer(参见评审点描述)

2.同意webrest接口/UI/Rest/Maintenance/SystemDiagnostic/DownloadVideo、/UI/Rest/Maintenance/SystemDiagnostic/DeleteScreenshot、/UI/Rest/Maintenance/VideoPlayLogin、/UI/Rest/Services/KvmLogin的POST操作请求体新增属性SystemId,类型为integer(参见评审点描述)

3.同意webrest接口/UI/Rest/Services/KVM的GET操作响应体和PATCH操作请求体新增属性GraphicalConsole,类型为array,数组元素类型为object,并废弃原Port和Enabled属性;GET操作响应体新增属性ActivatedSystemId,类型为integer(参见评审点描述)

4.同意webrest接口/UI/Rest/Services/VMM的GET操作响应体和PATCH操作请求体新增属性VirtualMediaConfig,类型为array,数组元素类型为object,并废弃原Port和Enabled属性(参见评审点描述)

5.同意webrest接口/UI/Rest/Maintenance/SystemDiagnostic的GET操作响应体新增VideoRecords和Screenshots属性,类型为array,数组元素类型为object,并废弃原VideoRecordInfo和ScreenshotCreateTime属性;GET操作响应体和PATCH操作请求体新增属性ActivatedSystemId,类型为integer(参见评审点描述)

6.同意webrest接口/UI/Rest/Services/PortConfig的GET操作响应体和PATCH操作请求体变更属性KVM和VMM,属性名不变,属性类型从对象变更为对象数组,子对象新增SystemId属性,类型为integer(参见评审点描述)

7.同意webrest接口/UI/Rest/Services/VNC的GET操作响应体和PATCH操作请求体新增属性ActivatedSystemId,类型为integer(参见评审点描述)

8.同意新增资源协作接口,用于承载双主机场景下上述评审资源和redfish标准资源的信息(参见评审点描述)

9.同意新增装备定制项BMCSet_System1_KVM_Service_Enabled、BMCSet_System1_KVM_Service_Port、BMCSet_System1_VMM_Service_Enabled、BMCSet_System1_VMM_Service_Port、BMCSet_System2_KVM_Service_Enabled、BMCSet_System2_KVM_Service_Port、BMCSet_System2_VMM_Service_Enabled、BMCSet_System2_VMM_Service_Port(参见评审点描述)

10.同意新增配置导入导出项,用于配置双主机系统的KVM和VMM服务的端口和使能状态(参见评审点描述)

遗留问题