SuperAPI AI 工具集

pyats-config-mgmt

部署与运维

查看项目

更新于 10-16 05:40

技能介绍

用途

pyats-config-mgmt 是一个基于 pyATS 的网络变更管理技能,用于对网络设备执行直接、可控的配置变更。其核心原则是:在没有先采集基线之前,绝不应用配置——因为一旦变更出错,必须知道回滚到什么状态。

主要能力

该技能提供一套五阶段变更工作流:

  1. 变更前基线(Phase 1):保存运行配置作为回滚参照;按变更类型抓取相关状态(接口变更抓 show ip interface brief、show interfaces;路由变更抓 show ip route、show ip ospf neighbor、show ip bgp summary;ACL/安全变更抓 show ip access-lists);并对关键目标做连通性基线测试(如 ping)。
  2. 变更规划(Phase 2):在应用配置前明确要下发的配置行、每行原因、预期效果、风险、验证方式与回滚方式。
  3. 应用配置(Phase 3):通过 pyATS 下发配置。最佳实践包括一次只做一个逻辑变更、不包含 configure terminal 或 end(工具自行处理)、切换配置上下文时包含 exit、为接口和 route-map 使用描述性 description、复杂对象(route-map、ACL)先构建完整对象再应用到接口。文档给出了接口、OSPF、BGP、ACL、route-map、静态路由、NTP 等常见配置模式示例。
  4. 变更后验证(Phase 4):检查日志中的新错误、比对运行配置确认只做了预期变更、重跑 Phase 1B 的 show 命令确认路由邻接/新路由/接口状态/ACL 计数器、重做连通性测试并对比成功率与 RTT。
  5. 回滚(Phase 5):验证失败时通过应用反向配置回滚(如 no interface Loopback99),或恢复 Phase 1A 基线中的原始配置行;复杂回滚可应用保存的运行配置中相关整段;回滚后需重新验证设备已回到基线状态。

此外还包含:变更报告文档格式(记录设备、请求人、变更描述、下发配置、变更前后状态、验证结果、是否需要回滚);合规模板(最小安全基线、VTY 加固);以及可选的 ServiceNow 变更请求集成与 GAIT 审计留痕。

使用方式

该技能通过 MCP 调用执行,典型命令形式为:

PYATS_TESTBED_PATH=$PYATS_TESTBED_PATH python3 $MCP_CALL "${PYATS_PYTHON:-python3} -u $PYATS_MCP_SCRIPT" pyats_show_running_config '{"device_name":"R1"}'

涉及的操作包括 pyats_show_running_config、pyats_run_show_command、pyats_ping_from_network_device、pyats_configure_device、pyats_show_logging 等。

当配置了 $SERVICENOW_MCP_SCRIPT 时,每次配置变更必须由已批准的变更请求(CR)门禁:创建 CR、提交审批、检查审批状态(未批准则停止并等待人工)、检查受影响 CI 上无未关闭的 P1/P2 事件、变更后关闭或升级 CR。紧急变更需立即通知人工、以 Emergency 类别创建 CR、可绕过审批门禁但须在 24 小时内追溯批准。

GAIT 审计要求记录变更的每个阶段(基线、规划、应用、验证、文档),形成不可变记录。文档中的审计示例仅为示意,需替换为实际会话证据。

适用场景

适用于网络工程师在实验室或生产环境中对网络设备执行可审计、可回滚的配置变更,尤其是接口、路由(OSPF/BGP)、ACL、route-map、静态路由、NTP 等变更,以及需要合规基线和变更审批流程的环境。

限制

文档未提供该技能的安装方式、支持的设备平台范围、收费信息或性能指标,这些内容暂未提供。ServiceNow 与 GAIT 集成依赖相应 MCP 脚本环境变量是否设置。