Open
feat: 增加有界异步 PLDM GetDateTime 业务适配模块 #12
liuxingsenAdd on 13 days ago
feat: 增加有界异步 PLDM GetDateTime 业务适配模块 #12
Open
Merged fromxiaoxinglxs/mctpdfeat/pldm-time-adapterintoopenUBMC/mctpdmain
Merge blocked
13 days ago Created pull request, commit 67608bd6
Lliuxingsen
13 days ago Associated issue: [需求]: 支持响应 GetDateTime 命令,[任务] 增加有界异步 PLDM GetDateTime 业务适配模块
13 days ago Associated issue: [需求]: 支持响应 GetDateTime 命令,[任务] 增加有界异步 PLDM GetDateTime 业务适配模块
13 days ago Added label: sig/sig-component-drivers
openUBMC-robot
13 days ago Comments:
13 days ago Comments:
欢迎来到 openUBMC 社区
Hey @xiaoxinglxs , 感谢你对社区的贡献.
机器人使用手册
有关指令的使用,可以点击 说明文档 或 论坛 查看详情。开发人员可以在每个PR或Issue下方评论特定指令来触发机器人任务。您可以自助配置此仓库的 PR 合并规则,更多详情,请参阅机器人自助配置使用手册。
联系指引
有疑问可以联系 SIG: sig-component-drivers ,
维护者是: @dongyushan, @net_swift_wangchen, @sam_h1973, @u012924942, @weixin_37569011, @xiaoxinglxs ,
优秀贡献者是: @hzy1010, @leessential .


13 days ago Added label: ai-co-authored
104 messages are collapsed here。 See more
13 days ago Added label: limit_1k_suc
openubmc-ci-bot
13 days ago Comments:
13 days ago Comments:
人工检视报告
感谢 @xiaoxinglxs 的贡献!本轮对齐到最新提交流 f72e47f,UTC/闰年/跨月跨年回退/BCD 编码/20ms 预算/16 个未返回 IPC 配额/迟到抑制等核心算法经逐一推演与测试断言核对一致,未发现会导致错误时间或双重应答的正确性缺陷。整体质量良好。
📋 检视概览
| 项目 | 详情 |
|---|---|
| 评级 | 良好 |
| 严重问题 | 0 |
| 警告 | 0 |
| 建议 | 0(本轮新增) |
已确认修复的问题 ✅
对照本轮代码,此前多轮 AI/检视机器人提出的问题均已收敛确认:
- 对象发现无超时:
GetSubObjects已改为带剩余预算的bus:timeout_call(pldm_time.lua:155-166),远程回退受预算保护 ✅ - RFC3339 小写 t/z:
M.encode已用[Tt]与Z/z大小写不敏感处理,test_lowercase_rfc3339_separators覆盖 ✅ - 业务预算到期后 busy 槽位语义:改为「保留仍运行的 IPC 槽位,防止突破 16 上限」,
test_expired_tokens_do_not_release_still_running_ipc覆盖 ✅ - 失败原因不可观测:
diagnostic()(L133-143)在各失败分支带请求号/原因/阶段/剩余预算输出 DEBUG 日志,不泄露远端错误正文 ✅ - 小数秒 + 数值时区偏移组合:
'2026-01-01T00:00:00.125+08:00'用例补充(test_pldm_time.lua:503)✅ - discovery 单测缺 ep_name:test_discovery.lua 两处调用已补首位参数,与生产调用
object.name顺序(mctp_mdb_mgmt.lua:469-476)一致 ✅ - 版本/元数据一致性:CHANGELOG 与 mds/service.json 均为 1.130.17,无遗漏硬编码 ✅
仍需关注的问题(后续验收事项)
无新增行内阻断项。上一轮已提出、当前仍未处理的 bus.bus 嵌套依赖 说明(快照读取走 bus.bus:timeout_call,要求显式 nil 校验/契约注释以避免接线时静默退化为 ipc_error)仍在待确认列表,建议在接入 !13 生产接线前落实。
最终结论
本业务模块核心正确性与有界性经多轮推演与测试验证可信,质量良好。按需求约束全部暂不合入,等待与 !13 传输收包入口联合验收。建议后续在真实未授时切换路径上补充集成验证。


13 days ago Removed label: ci-running
openubmc-ci-bot
13 days ago Comments:
13 days ago Comments:
| 任务名称 | 结果 |
|---|---|
| pre-commit检查 | ✅ SUCCESS |
| PR描述检查 | ✅ SUCCESS |
| 防投毒检查 | ✅ SUCCESS |
| 开源合规检查 | ✅ SUCCESS |
| 编译构建 | ✅ SUCCESS |
| UT测试 | ✅ SUCCESS |
| IT测试 | ✅ SUCCESS |
| 代码覆盖率 | ✅ SUCCESS |
| 修改行数检查 | ✅ SUCCESS |
| 头文件检查 | ✅ SUCCESS |
| AI Review | ✅ SUCCESS |


13 days ago Added label: ci-successful
当前PR是否有AI参与:
[ ] 否
[x] 是
__1. AI Agent 平台: OpenAI Codex
__2. AI 模型: gpt-6-astra(实现、测试与复核)
__3. Prompt上下文 : 用户授权接手 SP888-MCTP 联调所需的 BMC 实现,基于设计实现 GetDateTime,并将超过行数限制的候选拆为独立可测模块;新增文件版权归属已由用户明确确认为 Huawei。
PR功能描述 / 为什么需要这个合入:
为 PLDM GetDateTime 提供有界异步业务适配器,避免逐属性远程读取、固定时间对象路径和迟到回调造成错误应答。本 PR 提供模块及隔离测试,生产收包入口和默认关闭的取时接线由PR !13提供,两者组合后显式启用。
修改方案:
动态发现唯一 Time 对象,发现保留共享内存快路径、远程回退使用剩余预算;属性快照使用单次有期限 RPC 获取时间和同步状态,校验日历/时区并编码 UTC BCD。20ms 业务预算先于50ms命令期限,单调时钟校正提前唤醒与迟到成功;最多16个未返回IPC。无效时间返回0x8A,服务缺失/错误/超预算返回NOT_READY。另补齐两处既有discovery单测遗漏的ep_name参数。版本1.130.17、一个提交、715新增行。
验证方案:
隔离命令注册接口,覆盖动态对象路径、单次RPC、日历/时区、无效时间、服务错误、一次完成和过载。重新构建当前分支协议核心及Lua绑定,运行完整单测。
测试建议:
集成 responder 后回归命令位图、真实取时、服务退出/恢复、多网卡并发和端点代次;真实未授时切换尚未执行。本模块单测不替代完整传输入口验收。
自验证报告:
该PR关联的issue
fixes #12
希望检视人员了解:
本任务是需求编号10的业务模块子任务,不自动关闭完整需求。传输令牌、Base与能力发布继续独立提交;本PR没有提前启用尚未集成的命令,也不宣告完整架构已交付。保留原许可,新增两文件的Huawei版权依据已确认。
版本与顺序:!11=1.130.16 → !12=1.130.17 → !13=1.130.18 → !14=1.130.19;每个PR一个提交,版本固定,后续修复沿用。本次7f39fa3d9709仅协调发布元数据,完整120/120及pre-commit已重跑通过;按用户要求全部暂不合入。