背景
需要提供NTP时间同步结果、时间跳变状态和RTC时间同步结果的原子能力,以支持伙伴实现对这些属性的监听、同步或配置对应的传感器事件等功能。当前已有表示NTP时间同步结果的资源协作接口属性,需将其变更为发信号,另外,需要新增表示时间跳变状态和RTC时间同步结果的资源协作接口。
整体方案
- 变更已有的“表示BMC与NTP服务器同步的结果”的属性为发送信号;
- 新增资源协作接口属性承载时间跳变状态;
- 新增资源协作接口bmc.kepler.Managers.Rtc,在该接口下新增属性表示RTC时间同步结果
评审点
- 变更已有的表示“BMC与NTP服务器同步的结果”的属性为发送信号;
- 新增资源协作接口属性承载时间跳变状态;
- 新增资源协作接口bmc.kepler.Managers.Rtc,在该接口下新增属性表示RTC时间同步结果
详细描述
评审点1:变更已有的“表示BMC与NTP服务器同步的结果”的属性为发送信号
变更描述 :资源协作接口bmc.kepler.Managers.Ntp下的属性SyncResult变更为发送信号
接口链接 : mdb_interface/json/intf/mdb/bmc/kepler/Managers/Ntp.json-代码预览-mdb_interface:基于 D-Bus 协议的资源协作接口模型定义项目 - AtomGit | GitCode
属性评审点
| 变更类型 | 属性名称 | 签名 | 只读 | 变化通知 | 属性描述 | 访问权限 | 属性来源 | 持久化类型 | 变更影响 | ||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 变更 | SyncResult | y | True | 变更前:false 变更后:true |
表示BMC与NTP服务器同步的结果,0:成功,1:未成功(包含同步失败和未开启NTP),默认值为1 | Read: ReadOnly | 软件刷新 | 掉电持久化 | 变化通知变更为true,使业务可以及时获取变更后的属性值 |
评审点2:新增资源协作接口属性承载时间跳变状态
变更描述 :资源协作接口bmc.kepler.Managers.Time下新增属性TimeJumpstatus
接口链接 : mdb_interface/blob/main/json/intf/mdb/bmc/kepler/Managers/Time.json-代码预览-mdb_interface:基于 D-Bus 协议的资源协作接口模型定义项目 - AtomGit | GitCode
新增属性
| 属性名称 | 签名 | 只读 | 变化通知 | 属性描述 | 访问权限 | 属性来源 | 持久化类型 | 易变属性 | |
|---|---|---|---|---|---|---|---|---|---|
| TimeJumpStatus | b | True | true | 表示系统时间跳变状态,true:跳变,false:非跳变,默认为false | Read: ReadOnly | 软件刷新,时间跳变后置为true,1s后恢复为false,告警配置建议通过变化判断是否发生时间跳变 | 不持久化 | false |
评审点3:新增资源协作接口bmc.kepler.Managers.Rtc,在该接口下新增属性表示RTC时间同步结果
接口描述 :该接口用于管理RTC时间同步相关的属性
新增属性
| 属性名称 | 签名 | 只读 | 变化通知 | 属性描述 | 访问权限 | 属性来源 | 持久化类型 | 易变属性 | |
|---|---|---|---|---|---|---|---|---|---|
| RTCSyncResult | y | True | true | 表示RTC时间同步结果,0:成功,1:失败,255:不支持RTC同步,默认为255 | Read: ReadOnly | 软件刷新 | 不持久化 | false |
新增接口影响
| 路径 | 新增接口影响 | CSR配置影响 | 持久化影响 | 其他影响 | ||
|---|---|---|---|---|---|---|
| /bmc/kepler/Managers/:Id | 对外提供RTC时间同步相关的信息 | 不涉及重名属性,无影响 | 已包含稳定主键,无兼容性问题 | 需实现新增属性 |
评审结论
通过,具体结论如下:
- 同意将资源协作接口bmc.kepler.Managers.Ntp下的属性SyncResult变更为发送信号。
- 同意在资源协作接口bmc.kepler.Managers.Time下新增属性TimeJumpstatus,用于表示系统时间跳变状态,true:跳变,false:非跳变,默认为false,签名为 b,只读,读权限为ReadOnly,属性变化时发送变更通知,不持久化。
- 同意新增资源协作接口bmc.kepler.Managers.Rtc,并且在该接口下新增属性RTCSyncResult表示RTC时间同步结果,0:成功,1:失败,255:不支持RTC同步,默认为255,签名为 y,只读,读权限为ReadOnly,属性变化时发送变更通知,不持久化。
遗留问题
- 确认新增的属性TimeJumpStatus和RTCSyncResult是否需要持久化
结论:TimeJumpStatus和RTCSyncResult属性均不需要持久化。时间跳变只关注产生沿,不涉及误告警;同步RTCSyncResult的事件防止误告警可以通过配置Event的InvalidReading(需要忽略的无效值)和InvalidReadingIgnore(是否忽略无效值,1:开启 0 : 关闭)属性实现。