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

相关推荐
御承扬17 小时前
鸿蒙NDK UI之文本自定义样式
ui·华为·harmonyos·鸿蒙ndk ui
大雷神17 小时前
HarmonyOS智慧农业管理应用开发教程--高高种地--第29篇:数据管理与备份
华为·harmonyos
巴德鸟19 小时前
华为手机鸿蒙4回退到鸿蒙3到鸿蒙2再回退到EMUI11 最后关闭系统更新
华为·智能手机·harmonyos·降级·升级·回退·emui
那就回到过去20 小时前
VRRP协议
网络·华为·智能路由器·ensp·vrrp协议·网络hcip
相思难忘成疾20 小时前
通向HCIP之路:第四步:边界网关路由协议—BGP(概念、配置、特点、常见问题及其解决方案)
网络·华为·hcip
不爱吃糖的程序媛1 天前
Capacitor:跨平台Web原生应用开发利器,现已全面适配鸿蒙
前端·华为·harmonyos
果粒蹬i1 天前
【HarmonyOS】DAY9:利用React Native开发底部 Tab 开发实战:从问题定位到最佳实践
华为·harmonyos
早點睡3901 天前
高级进阶 ReactNative for Harmony 项目鸿蒙化三方库集成实战:react-native-video
react native·华为·harmonyos
试着1 天前
【huawei】机考整理
学习·华为·面试·机试
Lionel6891 天前
鸿蒙Flutter跨平台开发:首页特惠推荐模块的实现
华为·harmonyos