Repository navigation
v0.15.0
-
SSH 归档主连接保持到批次结束,避免空闲超时后密码认证失效;关闭后释放退出清理登记,收尾取消保留原始失败与已完成回执。
-
使用 Ruby 内置的 IO 等待接口,移除已弃用的 io-wait 依赖,避免示例和命令行输出弃用警告。
-
prepare_command仅接受Command或nil;非法返回值在替代命令发送前转为带原脚本位置的ScriptError,保留此前完成步骤且不展开返回值。 -
拓扑 CLI 在交付异步取消前固定完成回执或同步失败,避免已完成应用被记成状态不明的中断;阻塞操作仍可取消。
-
PTY 输出预算直接使用 expect-pty 的公开
buffer_bytesize查询,减少大输出背压时的累计正文复制;输出上限不受日志开关影响。 -
不兼容:要求 Ruby 3.4+ 与 expect-pty 0.9.4+;PTY 传输和 SSH 归档认证统一使用
Session、transcript、spawn(raw: true)与expect,移除旧接口分支及旧依赖能力探测,CI 与文档同步更新。 -
单设备接口业务收敛为
device.interfaces.neighbors/descriptions/plan/audit/apply/sync;直接迁移原 Topology 实现至Interfaces与device/interfaces/,移除旧设备平铺入口、常量和加载路径。计划、审计、策略及 CLI/批量调用同步迁移,Netdisco 多设备方法和 Batch 返回值不变。 -
接口规划、审计与同步统一在设备访问前校验格式选项;规划的邻居和描述采集全程持有会话租约,接口对象复用时仍重新读取现场证据。
-
配置与接口描述批次复用 Worker 的结果发布机制;取消后保留已完成回执,区分执行中断与未启动任务,提供
Operation#last_batch和Fleet#last_operation_batch,原始中断仍传播且不重放命令。 -
文本报告与终端进度共用诊断白名单,未知错误码和类型不再作为自由文本输出。
-
追加敏感命令的脱敏范围覆盖提示符回调及异常归一化;无秘密规则的日志脱敏跳过过滤器分配,保留独立二进制返回值。
-
地址成员集合改名为
Netdisco::AddressSet,文件为netdisco/address_set.rb;移除AddressFilter旧名称。 -
Netdisco 多设备描述动作使用
plan_descriptions、apply_descriptions、sync_descriptions,移除更早的长方法名,更新批次操作名称;单设备入口见上方device.interfaces迁移。 -
设备批次操作统一为单数
Netdisco::Operation与netdisco/operation/,同步入口、结果对象及 Fleet 调用,移除复数旧接口。 -
SSH 归档集中到
netdisco/ssh/archive/,统一为SSH::Archive::Client/Pool与worker.py;认证独立为SSH::Authentication,移除旧加载路径及常量。 -
拓扑默认输出中文分类摘要和实际配置来源,区分待核实证据与执行失败,取消重复的逐设备刷屏;详细模式仍显示每台原因,JSON 保留状态码并增加统计。
-
拓扑计划按设备导出
scripts/设备名-IP.cfg和devices/设备名-IP.txt,命名与备份一致;索引记录路径及命令文件 SHA-256,导出失败阻止应用,无变更不生成空命令文件。 -
拓扑规划、同步和下发前重验共用未知邻居身份校验;占位符名称或端口不生成描述命令,逐接口保留问题和可核实的其他变更。
-
描述比较保留语义一致的旧值,忽略大小写和同类型端口别名差异;补齐 G、SE/Smartrate-Ethernet,Netdisco 可用
topology.neighbor_name_prefixes声明既有名称前缀,仍按当前模板生成真正需要修改的描述。 -
高并发执行前为 SSH 管道、设备伪终端、日志和锁预留文件描述符额度,必要时在本进程硬上限内提高软额度;不能满足时先拒绝整批,资源耗尽类型保留在受控诊断中。
-
SSH 主连接预检最多四条并行,失败或取消时回收全部连接;多服务器按各自选中设备数分配连接,避免小服务器按整批并发过量建连。
-
批次、拓扑和通用线程池的最大并发统一提高至 500,CLI、YAML、环境配置及交互提示共用相同范围。
-
不兼容调整:并发参数统一为
parallel:,YAML 使用parallel、环境变量使用NC_PARALLEL、命令行使用--parallel;移除旧名称,不提供兼容别名。 -
SSH 归档按批次并发分配多个主连接,保留单连接会话上限及跨连接目标锁,修复并发 50 实际被压缩为 4 的吞吐下降。
-
SSH 归档在设备任务前使用实际服务器进程预检私有目录和写权限;公共目录故障只报一次,避免整批逐设备归档失败。
-
SSH 归档预检区分密码未配置与已配置但连接失败,提示
.env特殊字符引用规则,避免误导用户重复设置密码。 -
不兼容调整:并行入口统一为
Parallel和parallel/,内置 TextFSM 资源改为textfsm/;旧并发常量及加载路径移除。 -
增加 Centec 配置采集、保存与原生 TFTP 导出;修复 Centec、Cisco IOS/NX-OS 接受
>登录但普通命令无法完成的问题,不隐式提权。 -
Radware 核对设备回显中的实际上传目标,目标不一致时保留完成回执并明确报错,不再伪造请求路径成功。
-
拒绝全空白 YAML 筛选项及单主机参数中的网段,统一重复主机校验;清单预览过滤终端控制符。
-
备份取消时保留已完成产物和回执,区分中断与未开始任务并保存摘要;任务返回交接及多服务器关闭故障不覆盖原始中断,也不自动重放设备命令。
-
TFTP 支持无密码 URI 的 SSH 双端归档及非交互认证;服务器目录和锁通过权限、所有者及固定描述符保护,认证取消时回收临时目录。
-
修复 SSH 归档独立加载缺失错误依赖,以及路径中的查询、片段、百分号字符被 URI 重新解释的问题;明确使用路径编解码规则,避免默认解析器弃用警告。
-
配置采集在安全提示符场景复用渲染结果,保留正文完整性与重绘边界;补齐库方法的中文用途和复杂逻辑说明。
-
发布包使用独立公开模板
backup.example.yml,排除运行中的现场配置;同步加载路径、贡献指南与迁移说明。