已关闭
[缺陷]: 接口设计,实现不合理,需要优化实现 #391
byosoft_zhangyunxu创建于  7月3日关闭于  9月8日
byosoft_zhangyunxu
byosoft_zhangyunxu
7月3日 创建

感谢您为社区报告缺陷!请按照以下提示提供详细信息,以便我们更好地理解并跟进。

版本分支

openUBMC main

环境信息

问题详细描述

新增资源协作接口 bmc.dev.Storage.Volume.Settings

接口描述:逻辑磁盘操作。

新增方法

方法名称 请求签名 请求参数描述 响应签名 响应参数描述 方法描述 访问权限
SetBootPriority y BootPriority: 设置启动优先级
0:非启动盘
1:主启动盘
2:次启动盘
i 成功:0;失败:错误码 设置/取消启动盘 BasicSetting
SetProperties (usyyyyyyyuyi) *Properties: 需要修改的属性,*<br>*SettingOptions:位掩码,标识哪些字段为有效值*<br>*LdName:逻辑盘名称*<br>*ReadPolicy:读策略*<br>*WritePolicy:写策略*<br>*IOPolicy:IO策略*<br>*AccessPolicy:访问策略*<br>*DiskCachePolicy:磁盘缓存策略*<br>*BGIEnable:后台初始化使能*<br>*Accelerator:加速方法*<br>*CapacityMB:容量大小,单位MB*<br>*StripSize:条带大小*<br>*SSDInLd:指示逻辑盘中是否包含SSD硬盘` i 成功:0;失败:错误码 修改逻辑磁盘参数配置 BasicSetting
StartFGI y InitType: 初始化类型
0 = 快速初始化
1 = 全量初始化
u TaskId 开始初始化逻辑磁盘 BasicSetting
CancelFGI i 成功:0;失败:错误码 退出初始化逻辑磁盘 BasicSetting
SetSSDCachingEnable b Enabled: 是否关联<br>true = 关联 <br>false = 不关联 i 成功:0;失败:错误码 设置SSD Cache使能状态 BasicSetting

变更资源协作接口 bmc.dev.Storage.Volume.Settings

变更描述:boolean改为uint8_t类型。

变更签名

变更类型 属性名称 签名 只读 变化通知 属性描述 访问权限 属性来源 持久化 变更影响
变更 BootEnable b → y false false 0xFF表示查询失败 不持久化 无影响
变更 SSDCachingEnable b → y false false sml_base中如果是SSD组的逻辑盘,直接返回 0xFF 不持久化 无影响

变更资源协作接口 bmc.dev.Storage.Drive.Status

变更描述:接口方法响应类型无改为U32。

变更响应类型

方法名称 请求签名 请求参数描述 响应签名 响应参数描述 方法描述 访问权限
SetFirmwareStatus y FirmwareStatus: 固件状态 void → i 成功:0;失败:错误码 设置固件状态 BasicSetting
SetLocationIndicatorState y LocationIndicatorState: 定位指示灯状态 void → i 成功:0;失败:错误码 设置定位指示灯状态 BasicSetting
SetFaultIndicatorState y FaultIndicatorState: 故障指示灯状态 void → i 成功:0;失败:错误码 设置故障指示灯状态 BasicSetting

变更资源协作接口 bmc.dev.Storage.Drive.Settings

变更描述:接口方法响应类型无改为int32。

变更响应类型

方法名称 请求签名 请求参数描述 响应签名 响应参数描述 方法描述 访问权限
SetHotspare yq HotspareType: 驱动器的热备状态
0 = None
1 = Global
2 = Dedicated
3 = Auto
VolumeId:逻辑盘Id
void → i 成功:0;失败:错误码 设置热备类型 BasicSetting
CryptoErase void → i 成功:0;失败:错误码 擦除加密盘 BasicSetting
SetBootPrority HotspareType: 启动优先级 void → i 成功:0;失败:错误码 设置启动优先级 BasicSetting
SetPatrolState HotspareType: 巡检状态 void → i 成功:0;失败:错误码 设置物理盘的巡检状态 BasicSetting

变更资源协作接口 bmc.dev.Storage.Volume

变更描述:属性名称和签名修改。

变更属性名称和签名类型

变更类型 属性名称 签名 只读 变化通知 属性描述 访问权限 属性来源 持久化类型 变更影响
变更 CapacityBytes → CapacityMB t → u true false 属性描述:逻辑盘容量,单位MB 不持久化 无影响
变更 StripSizeBytes → StripSize u → y true false 属性描述:逻辑盘条带大小枚举 不持久化 无影响
变更 MaxResizableSizeBytes → MaxResizableSize t → u true false 属性描述:逻辑盘最大可调整的容量 不持久化 无影响
变更 CacheLineSizeKiB → CacheLineSize u → y true false 属性描述:逻辑盘缓存行大小 不持久化 无影响

新增资源协作接口 bmc.dev.Storage.Controller.Settings

接口描述:逻辑磁盘操作。

新增方法

方法名称 请求签名 请求参数描述 响应签名 响应参数描述 方法描述 访问权限
SetCopybackEnabled y CopybackEnabled: 回拷 i 成功:0;失败:错误码 启用/禁用回拷 BasicSetting
SetSMARTerCopybackEnabled y SMARTerCopybackEnabled: smart错误时回拷 i 成功:0;失败:错误码 启用/禁用smart错误时回拷 BasicSetting
SetMode y Mode: 工作模式
0 = Raid
1 = HBA
2 = JBOD
i 成功:0;失败:错误码 修改raid卡工作模式 BasicSetting
SetJBODEnabled y Enabled: JBOD功能使能开关
0 = 禁用
1 = 启用
i 成功:0;失败:错误码 设置JBOD功能使能 BasicSetting
SetMaintPDFailHistory y Enabled: 硬盘故障记忆功能使能开关
0 = 禁用
1 = 启用
i 成功:0;失败:错误码 设置硬盘故障记忆功能 BasicSetting
SetNoBatteryWriteCache y Enabled: 无电池写缓存使能开关
0 = 禁用
1 = 启用
i 成功:0;失败:错误码 设置无电池写缓存功能 BasicSetting
SetReadCachePercent y Percent: 读缓存百分比
取值范围 0~100,必须为5的倍数
i 成功:0;失败:错误码 设置读缓存百分比 BasicSetting

变更资源协作接口 bmc.dev.Storage.Controller.ForeignConfigurations

变更描述:接口方法响应类型无改为int32。

变更响应类型

方法名称 请求签名 请求参数描述 响应签名 响应参数描述 方法描述 访问权限
Import void → i 成功:0;失败:错误码 导入外部配置 BasicSetting
Clear void → i 成功:0;失败:错误码 清除外部配置 BasicSetting

变更资源协作接口 bmc.dev.Storage.Volume.Policy

变更描述:String改为uint8_t类型。

变更签名

变更类型 属性名称 签名 只读 变化通知 属性描述 访问权限 属性来源 持久化 变更影响
变更 DefaultReadPolicy s → y false false 逻辑盘默认读策略 不持久化 无影响
变更 CurrentReadPolicy s → y true false 逻辑盘实际读策略 不持久化 无影响
变更 DefaultWritePolicy s → y false false 逻辑盘默认写策略 不持久化 无影响
变更 CurrentWritePolicy s → y true false 逻辑盘实际写策略 不持久化 无影响
变更 DefaultIOPolicy s → y false false 逻辑盘默认IO策略 不持久化 无影响
变更 CurrentIOPolicy s → y true false 逻辑盘实际IO策略 不持久化 无影响
变更 DiskCachePolicy s → y false false 逻辑盘的物理盘缓存策略 不持久化 无影响
变更 AccessPolicy s → y false false 逻辑盘访问策略 不持久化 无影响

新增资源协作接口 bmc.dev.Storage.Controller

变更描述:String改为uint8_t类型。

新增属性

属性名称 签名 只读 变化通知 属性描述 访问权限 属性来源 持久化类型 易变属性
TypeId y true false 属性描述:控制器类型 Read: ReadOnly CSR false
Model s true false 属性描述,产品型号 Read: ReadOnly CSR false
HardwareRevision s true false 属性描述,硬件版本号 Read: ReadOnly 不持久化 false
HotSpareActivationMode s true false 属性描述,热备盘激活策略 Read: ReadOnly 不持久化 false
FirmwareVersion s true false 属性描述,固件版本 Read: ReadOnly 不持久化 false

变更资源协作接口 bmc.dev.Storage.Controller.Status

变更描述:boolean改为uint8_t类型。

变更签名

变更类型 属性名称 签名 只读 变化通知 属性描述 访问权限 属性来源 持久化 变更影响
变更 CachePinned b → y true false 是否发生cache pinned 不持久化 无影响

新增资源协作接口 bmc.dev.Storage.Drive.Metrics

变更描述:新增华为ssd硬盘smart信息,新增华为硬盘smart标记位信息,新增厂商自定义Smart标记位信息,用于计算"预估寿命(天)"。

新增属性

属性名称 签名 只读 变化通知 属性描述 访问权限 属性来源 持久化类型 易变属性
SlcPeCycle u true false 属性描述:华为自定义Smart信息:SLC擦除次数的规格值 Read: ReadOnly 不持久化 false
TlcPeCycle u true false 属性描述,华为自定义Smart信息:TLC擦除次数的规格值 Read: ReadOnly 不持久化 false
SlcAvgEc u true false 属性描述,华为自定义Smart信息:SLC的平均擦除次数 Read: ReadOnly 不持久化 false
TlcAvgEc u true false 属性描述,华为自定义Smart信息:TLC的平均擦除次数 Read: ReadOnly 不持久化 false
SlcPoh u true false 属性描述,华为自定义Smart信息:SLC当前的累计上电时长 Read: ReadOnly 不持久化 false
TlcPoh u true false 属性描述,华为自定义Smart信息:TLC当前的累计上电时长 Read: ReadOnly 不持久化 false
SlcUsedLifespan u true false 属性描述,华为自定义Smart信息:用户区已使用寿命百分比值 Read: ReadOnly 不持久化 false
TlcUsedLifespan u true false 属性描述,华为自定义Smart信息:非用户区已使用寿命百分比值 Read: ReadOnly 不持久化 false
HwValidFlag b true false 属性描述:标志从华为自定义Smart获取信息 Read: ReadOnly 不持久化 false
VendorValidFlag b true false 属性描述,标志从厂商自定义Smart获取信息 Read: ReadOnly 不持久化 false
VendorPoh u true false 属性描述,厂商自定义Smart信息:累计上电时长 Read: ReadOnly 不持久化 false
VendorRemnWearout y true false 属性描述,厂商自定义Smart信息:剩余磨损率 Read: ReadOnly 不持久化 false
StripTemperatureCelsius u true false 属性描述:SAS硬盘条带温度 Read: ReadOnly 不持久化 false
ElementsInGrownDefectList u true false 属性描述:SAS硬盘GLIST计数 Read: ReadOnly ResetPer false
ElementsInPrimaryDefectList u true false 属性描述:SAS硬盘PLIST计数 Read: ReadOnly ResetPer false
ManufacturedInWeekOfYear s true false 属性描述:SAS硬盘生产日期 Read: ReadOnly 不持久化 false
BlocksSentToInitiator u true false 属性描述:SAS硬盘发送到发起者的块数 Read: ReadOnly 不持久化 false
BlocksReceivedFromInitiator u true false 属性描述:SAS硬盘从发起者接收的块数 Read: ReadOnly 不持久化 false
UntilNextInterSMARTTestMinutes u true false 属性描述:SAS硬盘距离下次SMART测试的分钟数 Read: ReadOnly 不持久化 false
LastPrefailEventSeqNum u true false 属性描述:预故障事件序列号 Read: ReadOnly 不持久化 false

新增资源协作接口 bmc.dev.Storage.Controller.Metrics

变更描述:新增控制器内存UCE计数"。

新增属性

属性名称 签名 只读 变化通知 属性描述 访问权限 属性来源 持久化类型 易变属性
UncorrectableParityErrorCount u true false 属性描述:控制器内存UCE计数 Read: ReadOnly 不持久化 false

新增资源协作接口 bmc.dev.Storage.Drive.Status

接口描述:新增慢盘计数器查询方法。

新增方法

方法名称 请求签名 响应签名 响应参数描述 方法描述 访问权限
GetSlowDiskCounters 无 (uuuu) CommandTimeoutTimes: 命令超时次数增量
UnexpectedSenseTimes: 意外感知次数增量
ResetTimes: 重置次数增量
PowerOnTimes: 上电次数增量
获取慢盘计数器增量(读取后RAID卡内部清零) BasicSetting

评审点14:资源协作接口 *bmc.dev.Storage.Controller.Settings*变更方法签名类型

接口描述:接口方法响应类型无改为int32。

变更方法签名类型

方法名称 请求签名 请求参数描述 响应签名 响应参数描述 方法描述 访问权限
SetDriveWriteCachePolicy ss Type: RAID下的硬盘管理类型
WriteCachePolicy: 写缓存策略
void → i 成功:0;失败:错误码 启用/禁用回拷 BasicSetting
SetConsisCheck qyy Period: RAID控制器一致性校验周期,单位(小时), 取值范围[1:1440]
Rate: RAID控制器一致性校验速率
AutoRepairedEnabled: 自动修复启用使能
void → i 成功:0;失败:错误码 启用/禁用smart错误时回拷 BasicSetting
RestoreSettings void → i 成功:0;失败:错误码 恢复控制默认设置 BasicSetting

预置条件

操作步骤

结果描述

预期结果

问题定位情况

likedislike
openUBMC-robot
openUBMC-robot成员
7月3日 评论:

注意

此 Issue 需要负责人。 如果没有指派时, WeberChen 是默认的负责人

likedislike
openUBMC-robotopenUBMC-robot成员
7月3日 将 WeberChen 设为负责人
openUBMC-robotopenUBMC-robot成员
7月3日 添加了label:sig/sig-component-drivers
openUBMC-robot
openUBMC-robot成员
7月3日 评论:

欢迎来到 openUBMC 社区

Hey @yxzyx7771 , 感谢你对社区的贡献.

机器人使用手册

有关指令的使用,可以点击 说明文档 或 论坛 查看详情。开发人员可以在每个PR或Issue下方评论特定指令来触发机器人任务。

联系指引

有疑问可以联系 SIG: sig-component-drivers ,
维护者是: @dongyushan, @net_swift_wangchen, @sam_h1973, @u012924942, @weixin_37569011, @xiaoxinglxs ,
优秀贡献者是: @changxingOpenUBMC, @chenshengfan, @leessential, @net_swift_tianwen, @xiapengc1, @yelvsub .

likedislike
openUBMC-robotopenUBMC-robot成员
7月3日 关联了看板:openUBMC 26.09 缺陷看板
openUBMC-robot
openUBMC-robot成员
7月3日 评论:

Issue 工作流介绍

社区的需求和缺陷的工作流状态处于纳管中。

类型 上个状态 下个状态 评论命令 谁可以操作
缺陷 待修复 修复中 /todo2fixing 仓库成员角色: Maintainer, Committer, Contributor, Owner
缺陷 修复中 待验收 /fixing2UAT 仓库成员角色: Maintainer, Committer, Contributor, Owner
缺陷 待验收 已修复 /UAT2done SIG组: sig-QA (maintainer,committer)
缺陷 待修复 已挂起 /todo2suspended 仓库成员角色: Maintainer, Committer, Contributor, Owner
缺陷 待修复 已拒绝 /todo2rejected 仓库成员角色: Maintainer, Committer, Contributor, Owner
likedislike
byosoft_zhangyunxubyosoft_zhangyunxu
7月6日 关联了pull request:1、质量加固:因为接口设计问题,从Raid卡拿到的数据转成接口类型,又从接口类型转成Lua层显示,存在冗余的中间过程,修改接口数据类型;2、头文件引用顺序修改
此处折叠了7条事件消息 查看更多
byosoft_zhangyunxubyosoft_zhangyunxu
7月18日 关联了pull request:文档变更评评审点9-11-12修改
byosoft_zhangyunxu
byosoft_zhangyunxu
7月24日 评论:

/todo2fixing

likedislike
openUBMC-robot
openUBMC-robot成员
7月24日 评论:

Issue 工作流提示

您暂无Issue的工作流 待修复 更改为 修复中 的操作权限,请联系有权限的成员。

likedislike
byosoft_chenjie成员
8月12日 评论:

/todo2fixing

likedislike
openUBMC-robotopenUBMC-robot成员
8月12日 issue状态由 待修复 改变为 修复中
byosoft_chenjie成员
8月12日 评论:

/fixing2UAT

likedislike
openUBMC-robotopenUBMC-robot成员
8月12日 issue状态由 修复中 改变为 待验收
Bbyosoft_chenjie成员
8月28日 移除了负责人 WeberChen
openUBMC-robot
openUBMC-robot成员
8月28日 评论:

注意

此 Issue 需要负责人。 如果没有指派时, WeberChen 是默认的负责人

likedislike
openUBMC-robotopenUBMC-robot成员
8月28日 将 WeberChen 设为负责人
Bbyosoft_chenjie成员
8月28日 将 chzhpfoxjay_123 设为负责人,移除负责人 WeberChen
yanyajun成员
9月8日 评论:

/UAT2done

likedislike
openUBMC-robotopenUBMC-robot成员
9月8日 issue状态由 待验收 改变为 已修复
openUBMC-robotopenUBMC-robot成员
9月8日 关闭了 issue