Repository navigation
v0.5.0
本版包含不兼容的接口调整,不保留旧路径或方法别名;升级时请按当前接口说明更新调用方。
-
统一设备能力的入口与实现:配置采集/保存、本地备份、TFTP 和拓扑归入
device/,Base通过能力模块组合;接口名称与描述规则归入Topology,文件锁、私有读写及离线配置归入Storage,厂商差异只保留在vendor/。 -
移除
Operations命名空间及目录、厂商转发别名,以及engine、engine/base、engine/profile旧设备入口,不保留兼容转发。这是开发阶段的接口整理;调用方直接采用当前路径与接口。 -
TextFSM 适配统一为
Net::Connector::TextFSM(textfsm.rb),实际解析时才加载外部依赖;UTF-8 字节校验及严格终端渲染抽到TerminalText,供解析和拓扑证据检查共用,不转码或修改原始配置。 -
日志拆分为事件、formatter 和流组件,继续使用标准库
Logger与 expect-pty 脱敏。增加会话/命令标识、操作、阶段、耗时、字节数和错误码;逐行回显带相同上下文,脚本后处理失败另有完成事件,应用 formatter 可读取冻结的安全字段。 -
实时遵守注入 logger 的级别,保留 formatter/progname/资源所有权;自定义事件保留安全字段,敏感范围隐藏任意载荷。统一公开日志入口为
log_event,移除record_event;不再重复发送command_detail,耗时和字节数直接放在command_complete。 -
失败日志与批次报告共用错误类型、错误码和阶段词表,避免自定义钩子将未登记的配置正文通过错误元数据写入日志;TFTP 回执严格区分未知路径 nil 与无效路径,手工构造及
with更新执行相同校验。 -
敏感命令、交互和追加查询的保护覆盖最终处理,直接返回失败结果也会脱敏;错误归一化保留业务回执,租约结束时日志故障保留已完成步骤,避免丢失设备已执行的证据。
-
统一动作命名:单命令入口为
execute_command,脚本为execute_script;日志用log_event,抛错校验用validate_*!,错误构造用build_*_error,作用域用明确的with_*。删除run、collect_config和厂商标识别名,调用方、示例及测试同步更新。 -
删除
LegacyIndex与旧备份命名查找,只以规范管理地址文件作为本地备份、比较和导出入口;保留路径锁、同 FD 文件校验及原子持久化保护。 -
TFTP 统一通过
tftp_backup返回直接包含来源、格式和实际路径的TftpReceipt,完成后错误只提供receipt。移除双入口、原三字段结果和动态策略兜底,策略接口在 Profile 构造时完整校验。 -
Fleet 始终返回
Netdisco::Report,统一 schema 2 和受控诊断,移除report_schema与 CLI 版本选项。Outcome 的耗时和诊断直接成为 Data 成员;未测量的耗时为 nil,不用墙钟推算。 -
Storage::PrivateFile.write统一返回持久化回执,移除write_receipt双入口;业务导出和报告存储从回执读取目标路径。