【已评审】新增上下电操作失败错误消息用于特定场景阻止上下电

背景

  1. 客户需求:如果升级了下电生效的固件(比如VRD/BIOS等),如果固件正在生效过程中,则不允许上电,在 WEB/Redfish/IPMI接口上返回不支持
  2. 客户需求:在升级了特定固件之后,在固件处理完毕之前不允许下电操作,包括 Power Off/Cycle
  3. 维优需求:在BMC不支持上电/下电操作时需要在WEB页面上提示不支持,并且展示不支持的具体原因

关联ISSUE

暂无

整体方案

需求方案

在上述背景操作的上下电操作中,如果存在上下电锁则通过错误引擎阻止上下电,并且在错误Message中说明具体的原因

当前差距

  1. 当前BMC对于上电锁的情况下执行上电操作,均返回 OperationFailed 错误,当前错误采用的是标准的错误描述,没有描述具体的操作失败的原因,并且 IPMI 完成码是 0xFF,不符合需求。
  2. Redfish Error Specification (#DSP2065) 中没有对于上电失败和下电失败的标准错误
  3. 当前BMC没有下电锁,无下电阻止操作对应的自定义错误引擎

详细描述

评审点1:新增错误引擎 PowerOnNotAllowed

新增错误引擎 PowerOnNotAllowed,用于表征不允许上电操作的所有场景错误

"PowerOnNotAllowed": {
	"Description": "Indicates that power on is not allowed.",
	"Message": "Power on is not allowed in current state. Reason: %1.",
	"Severity": "Warning",
	"NumberOfArgs": 1,
	"ParamTypes": [
		"string"
	],
	"Resolution": "Make sure that no power on lock according to reason in Message.",
	"HttpStatusCode": 400,
	"IpmiCompletionCode": "0xD5", // D5h: Command not supported in present state
	"SnmpStatusCode": 3
}

评审点2:新增错误引擎 PowerOffNotAllowed

新增错误引擎 PowerOffNotAllowed,用于表征不允许下电操作的所有场景错误

"PowerOffNotAllowed": {
	"Description": "Indicates that power off is not allowed.",
	"Message": "Power off is not allowed in current state. Reason: %1.",
	"Severity": "Warning",
	"NumberOfArgs": 1,
	"ParamTypes": [
		"string"
	],
	"Resolution": "Make sure that no power off lock according to reason in Message.",
	"HttpStatusCode": 400,
	"IpmiCompletionCode": "0xD5", // D5h: Command not supported in present state
	"SnmpStatusCode": 3
}

评审结论

通过,同意新增错误消息 PowerOnNotAllowedPowerOffNotAllowed,这两个错误仅用于 BMC 人机接口(WEB/CLI接口)的上下电操作,具体的错误信息参见详细描述

遗留问题

1、错误返回发生变化属于接口变更,需要梳理此变更会影响具体哪些接口以及影响范围
结论:当前错误引擎是带有具体的错误原因的,变更接口仅涉及人机接口(WEB/CLI),评估无影响。