超越ODL:直接使用ncclient通过NETCONF配置华为设备,实现真正的基础设施即代码

经过前面几次测试,我们已经成功部署了ODL(OpenDaylight)服务器(低成本玩转SDN:实测OpenDaylight资源消耗仅1.1GB,完美纳管华为设备,开源方案真香!),也成功测试了使用NETCONF推送一些基础配置(告别CLI:手把手教你用ODL的RESTCONF接口管理设备,增删改查只需一条curl命令),对于暂不支持的配置,我们也使用Linux标准工具expect通过SSH批量并发地将配置推送到所有设备(ODL高级配置受阻?巧用Expect脚本另辟蹊径,SSH批量下发OSPF/BGP/SRv6等复杂配置)。

但是,我们前面也介绍了,使用expect工具配置时,需要对命令配置非常熟悉才行,毕竟有时命令不是一次下发成功的,还涉及到交互才能完成配置。

其实,这就触及到了expect工具的本质,这是一种使用SSH + PTY伪终端的通信协议,使用非结构化字符串,全靠正则匹配CLI回显,对于复杂命令,需要人工进行解析,通过正则表达式从海量CLI回显中提取结果,而且CLI提示符的更改或输出格式微调都会导致脚本崩盘,对版本兼容性较差,极易出错。

熟悉k8s的同学应该熟悉,这就涉及到了事务的原子性,expect工具不支持原事务,一条条敲命令,中间断开可能导致配置停留在中间状态。此外,expect工具这种模拟人工登录的方式,也存在输入注入的风险。

这样的话,我们又不得不回到基于XML的NETCONF上,既然如此,那我们不如跳过ODL对YANG的死板校验,对于不兼容的YANG模型,我们不妨试试通过NETCONF协议发送设备原生支持的VRP XML报文,覆盖原有设备配置来达到配置的目的。

相关推荐
zhangfeng11339 小时前
ATK(华为算子测试平台)详细介绍 CANN(Compute Architecture for Neural Networks,神经网络计算架构
人工智能·华为·ai编程·npu·cann
zhangfeng113310 小时前
《从“人工适配“到“智能生成“:KernelSwift 跨国产芯片算子迁移全栈方案解读》 —— 强调范式跃迁和跨硬件属性,适合偏架构分析的写法
人工智能·算法·华为·ai编程·npu
传奇开心果编程13 小时前
【ArkUI 练中学】第14课:应用性能优化实战
学习·ui·华为·harmonyos
威哥爱编程15 小时前
HarmonyOS 互动卡片实战:摇一摇触发静态转动态,前景元素出框
华为·harmonyos·arkts
威哥爱编程15 小时前
HarmonyOS 7 闪控窗实战:标准悬浮窗、侧边栏暂存与闪控球一键切换
华为·harmonyos·arkts
威哥爱编程15 小时前
HarmonyOS 7 图像超分实战:端侧 4 倍高清放大,数据不出设备
华为·harmonyos·arkts
威哥爱编程15 小时前
HarmonyOS 6.1 智能窥屏防护实战:实时感知窥屏风险,敏感页自动防护
华为·harmonyos·arkts
威哥爱编程15 小时前
HarmonyOS 7 文搜图实战:自然语言检索本地图片,全流程端侧闭环
华为·harmonyos·arkts
昇腾知识体系1 天前
昇腾 torchrec_npu Docker 镜像选择:CANN/PyTorch/torchrec 版本矩阵与启动参数
人工智能·华为·知识图谱
昇腾知识体系1 天前
K8s 调度昇腾 NPU:device-plugin 部署、Volcano 与 vNPU 切分
人工智能·华为·知识图谱