【待评审】风扇同步属性CtrlMode、TimeOut、Level权限值修改

背景

双控场景风扇属性同步的工况下,主控向从控自动同步覆盖受到ReadOnly权限阻碍,无法正常写入同步属性值。

关联ISSUE

整体方案

1、组件 thermal_mgmt 的 model.json 里移除 CtrlMode、TimeOut、Level 属性的 “privilege” 定义;
2、组件mdb_interface 的 CoolingConfig.json 里 CtrlMode、TimeOut 属性的 “readOnly” 设为 false;
3、组件mdb_interface 的 CoolingFan.json 里 Level 属性的 “readOnly” 设为 false

评审点

CtrlMode、TimeOut、Level三个属性的读写权限变更

详细描述

/openubmc/thermal_mgmt/mds/model.json

"CtrlMode": {
    "usage": [

    ],
    "default": "Auto"
},
"TimeOut": {
    "usage": [],
    "default": 30,
    "options": {
        "volatile": true
    }
},
"Level": {
},

/openubmc/mdb_interface/json/intf/mdb/bmc/kepler/Systems/CoolingConfig.json

"CtrlMode": {
    "baseType": "String",
    "readOnly": false,
    "default": "Auto",
    "enum": [
        "Auto",
        "Manual",
        "Mixed"
    ],
    "options": {
        "emitsChangedSignal": "true"
    },
    "description": "冷却单元的控制模式(自动/手动/混合)"
},
"TimeOut": {
    "baseType": "U32",
    "readOnly": false,
    "default": 30,
    "options": {
        "emitsChangedSignal": "false"
    },
    "description": "手动模式下的风扇超时时间,单位:秒",
    "example": 30
},

/openubmc/mdb_interface/json/intf/mdb/bmc/kepler/Systems/CoolingFan.json

"Level": {
    "baseType": "U8",
    "readOnly": false,
    "options": {
        "emitsChangedSignal": "false"
    },
    "description": "风扇转速级别",
    "example": 80
},
属性名称 签名 访问权限 持久化 属性说明 变更影响
CtrlMode b ReadOnly 不持久化 风扇控制模式 无影响
TimeOut b ReadOnly 不持久化 手动模式时长 无影响
Level b ReadOnly 不持久化 单个风扇转速 无影响

是否准备好AI预审

是

评审结论

遗留问题

预审答案内容由AI生成,仅供参考:

帖子评审结论:【待评审】风扇同步属性CtrlMode、TimeOut、Level权限值修改

帖子相关性:相关(MDB 相关: 包含MDB技术词: emitsChangedSignal)

  • 总评审点数:1
  • MDB 资源协作接口评审点:1
  • 其他评审点:0

总体结果:不通过(0/1 个评审点通过)

评审点 1:CtrlMode、TimeOut、Level三个属性的读写权限变更【MDB】

结果:不通过

  • 规则合规性检查:不通过(4/29 项失败)
    • 规则合规性失败项(必须项):
      规则ID:MDB-NAMING-006
      级别:必须项
      问题描述:属性 CtrlMode 和 TimeOut 未使用 PascalCase 命名,违反属性首字母大写硬约束
      处理建议:将属性名 CtrlMode 修改为 CtrlMode 对应的 PascalCase 形式(如 ControlMode),将 TimeOut 修改为 Timeout 或 TimeOut 的标准 PascalCase 形式(如 Timeout)

      规则ID:MDB-PROPERTY-011
      级别:必须项
      问题描述:TimeOut 属性描述声明单位为秒,但正式名称未使用标准后缀 Seconds
      处理建议:将 TimeOut 属性重命名为 TimeOutSeconds,以符合表示时长的标准单位后缀要求

      规则ID:MDB-PROPERTY-014
      级别:必须项
      问题描述:属性表中 CtrlMode、TimeOut、Level 的签名均写为 b(布尔),与代码块中的 String/U32/U8 类型及业务语义明显矛盾
      处理建议:将属性表中 CtrlMode、TimeOut、Level 的签名分别修正为 s、u、y,以与代码块定义及业务语义一致

      规则ID:MDB-PROPERTY-015
      级别:必须项
      问题描述:CtrlMode 和 TimeOut 在代码块中为可写(readOnly: false),但在属性表中访问权限为 ReadOnly,存在明确矛盾
      处理建议:将属性表中 CtrlMode 和 TimeOut 的访问权限修正为与代码块一致的读写权限(如 ReadWrite)

    • 警告项(建议性):
      规则ID:MDB-REVIEW-003
      级别:建议性
      问题描述:属性读写权限变更缺少业务背景与消费方场景说明
      处理建议:severity=‘should’ 建议性规则,建议修改以提升规范符合性

      规则ID:MDB-NAMING-007
      级别:建议性
      问题描述:属性 CtrlMode 和 TimeOut 缩写可读性较差,建议使用更通用的全称
      处理建议:severity=‘should’ 建议性规则,建议修改以提升规范符合性

      规则ID:MDB-NAMING-028
      级别:建议性
      问题描述:属性 CtrlMode 语义命中工作模式高频场景,建议复用社区惯例 Mode 后缀命名
      处理建议:severity=‘should’ 建议性规则,建议修改以提升规范符合性