超越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报文,覆盖原有设备配置来达到配置的目的。

相关推荐
爱写代码的阿森1 小时前
鸿蒙三方库 | harmony-utils之PreferencesUtil用户首选项读写详解
华为·harmonyos·鸿蒙·huawei
达子6662 小时前
第6章_HarmonyOS 图解 Ability任务调度
华为·harmonyos
FrameNotWork2 小时前
HarmonyOS 6.0 分栏布局与折叠适配
华为·harmonyos
爱写代码的阿森3 小时前
鸿蒙三方库 | harmony-utils之PreferencesUtil首选项数据监听详解
服务器·华为·harmonyos·鸿蒙·huawei
爱写代码的森3 小时前
蒙三方库 | harmony-utils之FileUtil文件重命名与属性查询详解
linux·运维·服务器·华为·harmonyos·鸿蒙·huawei
程序员黑豆6 小时前
鸿蒙应用开发:Grid组件实现九宫格布局教程
前端·华为·harmonyos
程序员黑豆7 小时前
鸿蒙应用开发:Flex 组件从入门到实战
前端·华为·harmonyos
<小智>7 小时前
鸿蒙多功能工具箱开发实战(二十)-性能优化与打包发布
ui·华为·harmonyos
不肥嘟嘟右卫门9 小时前
鸿蒙原生ArkTS布局方式之Popup+TextInput提示输入布局深度解析
华为·harmonyos
在水一缸11 小时前
深度解析:OPEN NPO网络大模型架构与开发者实践指南
网络·人工智能·华为·架构·架构设计·open npo·网络大模型