【已评审】支持配置SSD盘剩余寿命过低告警门限

背景

新增支持配置SSD盘的剩余寿命过低告警阈值

关联ISSUE

支持配置SSD盘的寿命告警阈值

整体方案

1.新增资源协作接口属性SSDMediaLifeLeftPercentThreshold用于关联告警

2.redfish接口、webrest接口新增获取和修改资源协作接口属性SSDMediaLifeLeftPercentThreshold

评审点

1.新增资源协作接口path:“bmc/kepler/Chassis/:chassisid/Storage”,interface: “bmc.kepler.Chassis.Storage.StorageSetting”, 属性SSDMediaLifeLeftPercentThreshold

2.redfish的Systems/:systemid接口新增获取和修改资源协作接口Oem属性SSDMediaLifeLeftPercentThreshold

3.redfish的Chassis/:chassisid接口新增获取和修改资源协作接口Oem属性SSDMediaLifeLeftPercentThreshold

4.webrest接口新增获取和修改资源协作接口属性SSDMediaLifeLeftPercentThreshold

详细描述

评审点1 新增资源协作接口属性SSDMediaLifeLeftPercentThreshold

新增资源path: “bmc/kepler/Chassis/:chassisid/Storage”

新增资源interface: “bmc.kepler.Chassis.Storage.StorageSetting”

新增属性:SSDMediaLifeLeftPercentThreshold

属性名称 变化类型 签名 读写&权限 持久化 变化通知 属性说明 接口约束
SSDMediaLifeLeftPercentThreshold 新增 y R:ReadOnly W:DiagnoseMgmt 掉电持久化 硬盘剩余磨损率告警阈值,单位(%)取值范围:1~50; 默认值:5

评审点2 redfish的Systems/:systemid新增接口获取和修改资源协作接口Oem属性SSDMediaLifeLeftPercentThreshold

URI:“/redfish/v1/Systems/:systemid”(已有)

变化类型:新增Oem属性

操作类型:GET

应用场景:用于获取剩余寿命过低告警阈值

属性名称 操作权限 取值类型 取值范围 默认值 说明 约束
SSDMediaLifeLeftPercentThreshold ReadOnly integer 1~50 5 硬盘剩余磨损率告警门限,单位(%)

URI:“/redfish/v1/Systems/:systemid”(已有)

变化类型:新增Oem属性

操作类型:PATCH

应用场景:用于设置剩余寿命过低告警阈值;兼容单主机,单主机设置可以成功,双主机设置报错。

属性名称 操作权限 取值类型 取值范围 默认值 说明 约束
SSDMediaLifeLeftPercentThreshold DiagnoseMgmt integer 1~50 5 硬盘剩余磨损率告警门限,单位(%)

评审点3 redfish的Chassis/:chassisid接口新增获取和修改资源协作接口Oem属性SSDMediaLifeLeftPercentThreshold

URI:“/redfish/v1/Chassis/:chassisid”(已有)

变化类型:新增Oem属性

操作类型:GET

应用场景:用于获取剩余寿命过低告警阈值;

属性名称 操作权限 取值类型 取值范围 默认值 说明 约束
SSDMediaLifeLeftPercentThreshold ReadOnly integer 1~50 5 硬盘剩余磨损率告警门限,单位(%)

URI:“/redfish/v1/Chassis/:chassisid”(已有)

变化类型:新增Oem属性

操作类型:PATCH

应用场景:用于设置剩余寿命过低告警阈值;单主机和双主机场景设置成功。

属性名称 操作权限 取值类型 取值范围 默认值 说明 约束
SSDMediaLifeLeftPercentThreshold DiagnoseMgmt integer 1~50 5 硬盘剩余磨损率告警门限,单位(%)

schema说明:

"SSDMediaLifeLeftPercentThreshold": {
    "$ref": "#/definitions/ThresholdValue",
    "readonly": false,
    "description": "Indicates the maximum threshold (%) of the ssd wornout.",
    "longDescription": "Indicates the maximum threshold (%) of the ssd wornout"
}

示例:

{
 "Oem": {
        "openUBMC": {
             "SSDMediaLifeLeftPercentThreshold": 5
         }
   }
}

评审点4 webrest接口新增获取和修改资源协作接口属性SSDMediaLifeLeftPercentThreshold

URI: “/UI/Rest/System/Storage/Settings”(新增)

变化类型:新增URI,新增属性

应用场景:用于读取设置的门限值

属性名称 取值类型 默认值 取值范围 操作权限 说明 约束
SSDMediaLifeLeftPercentThreshold integer 5 1~50 ReadOnly 硬盘剩余磨损率告警门限,单位(%)

URI: “/UI/Rest/System/Storage/Settings”(新增)

变化类型:新增URI,新增属性

操作类型:PATCH

应用场景:用于读取设置的门限值

属性名称 取值类型 默认值 取值范围 操作权限 说明 约束
SSDMediaLifeLeftPercentThreshold integer 5 1~50 DiagnoseMgmt 硬盘剩余磨损率告警门限,单位(%)

评审结论

评审点1

同意新增资源path:“bmc/kepler/Chassis/:chassisid/Storage”,资源interface:“bmc.kepler.Chassis.Storage.StorageSetting”, 属性:SSDMediaLifeLeftPercentThreshold

属性签名:y, 读写&权限:R:ReadOnly,W:DiagnoseMgmt,掉电持久化,变化通知:是, 说明:硬盘剩余磨损率告警阈值,单位(%),取值范围:1~50, 默认值:5

评审点2

同意在已有redfish URI:/redfish/v1/Systems/:systemid”下新增Oem属性SSDMediaLifeLeftPercentThreshold,属性PATCH权限:DiagnoseMgmt,GET权限:ReadOnly,

取值类型:integer,取值范围:1~50,默认值:5,说明:硬盘剩余磨损率告警门限,单位(%); 仅兼容单主机场景,双主机场景设置时返回失败;

评审点3

同意在已有redfish URI:“/redfish/v1/Chassis/:chassisid”下新增Oem属性SSDMediaLifeLeftPercentThreshold,属性PATCH权限:DiagnoseMgmt,GET权限:ReadOnly,

取值类型:integer,取值范围:1~50,默认值:5,说明:硬盘剩余磨损率告警门限,单位(%); 支持单主机场景,双主机场景。

评审点4

同意新增webrest URI:“/UI/Rest/System/Storage/Settings”并新增属性:SSDMediaLifeLeftPercentThreshold, 属性PATCH权限:DiagnoseMgmt,GET权限:ReadOnly,

取值类型:integer,取值范围:1~50,默认值:5,说明:硬盘剩余磨损率告警门限,单位(%);

遗留问题

1、剩余寿命过低告警阈值不允许遍历实现赋值到Drive对象,需要采用全局配置;

已修改为:新增path:“bmc/kepler/Chassis/:chassisid/Storage”,新增接口:“bmc.kepler.Chassis.Storage.StorageSetting”,进行全局配置,管理阈值
2、明确redfish接口是否要采用systemid区分,如果是则需要与网管对象需要进行适配(比如双主机场景则需要对多主机遍历配置),否则需要实现到chassis接口下面;

已明确:兼容旧的单主机场景,通过“/redfish/v1/Systems/:systemid”管理; 双主机场景在Chassis通过“/redfish/v1/Chassis/:chassisid”管理
3、webrest接口的URI优化,不能新增URI限制到某个属性的配置;

已修改为:新增“/UI/Rest/System/Storage/Settings”实现