背景
bmc_datasync 当前支持属性和文件的实时/周期同步,但业务 App、运维工具或网管无法通过资源树接口立即触发一次全量同步。发生节点重连、目标资源重新发现或数据需要重新校准时,只能等待下一个周期,恢复时延和操作确定性不足。
关联ISSUE
整体方案
复用现有 DataSync 资源协作接口:
- 资源路径:
/bmc/kepler/Managers/:ManagerId/DataSync - 资源协作接口:
bmc.kepler.Managers.DataSync - 新增方法:
TriggerSync
全量任务只执行一次当前目标快照,不修改 SyncMode、SyncInterval、TTL 或实时监听。任务执行期间再次调用方法时直接返回成功,不创建并发任务。
评审点
变更已有资源协作接口 bmc.kepler.Managers.DataSync,在路径 /bmc/kepler/Managers/:ManagerId/DataSync 新增带 SyncMode 入参的 TriggerSync 方法,用于选择性触发属性同步、文件同步或两者同步。
详细描述
评审点1:变更资源协作接口 bmc.kepler.Managers.DataSync
接口链接:当前接口定义位于 bmc_datasync/mds/model.json 的 DataSync 类。
变更描述:bmc.kepler.Managers.DataSync 已承载数据同步服务状态和配置相关能力。新增一次性全量同步控制能力,职责仍属于 DataSync 功能域;不新增资源路径,不改变已有属性和方法。
新增方法
| 方法名称 | 请求签名 | 请求参数描述 | 响应签名 | 响应参数描述 | 方法描述 | 访问权限 |
|---|---|---|---|---|---|---|
TriggerSync |
y |
SyncMode:bit0 为1文件同步,bit1 为1属性同步;其他保留位 |
空 | 无;通过 D-Bus 方法调用成功/失败表示受理结果 | 异步触发一次全量数据同步,可选择属性、文件或两者。 | BasicSetting |
SyncMode 取值约束:
| 值 | 触发内容 |
|---|---|
0x01 |
仅属性 |
0x02 |
仅文件 |
0x03 |
文件 + 属性 |
是否准备好AI预审
是。
评审结论
已线下审核:同意变更资源协作接口 bmc.kepler.Managers.DataSync,在路径 /bmc/kepler/Managers/:ManagerId/DataSync 新增:
TriggerSync(y) 方法,请求参数为 SyncMode,无响应参数,采用异步执行; SyncMode :bit0 为1文件同步,bit1 为1属性同步;其他保留位。
遗留问题
无