当前位置: 首页 > 后端技术 > Python

AOC新探索:在线AOC环境搭建与体验

时间:2023-03-26 13:38:18 Python

摘要:AOC是网络设备自动化运维和三方设备管理的能力平台。本文分享自华为云社区《AOC萌新探索之旅第一期——在线AOC环境初体验》,作者:oysterzz。好久没接触AOC了。在此,本萌新打算开一个系列的帖子,记录学习过程中的日常;中间会帮你趟过一些深水区,希望对大家有所帮助。我先简单介绍一下自己。应该有很多能力模型相似的同学,可以一起交流学习;之前接触过设备,敲过CLI配置设备,做过运营商网络交付;代码方面对C比较熟悉,C开发几年,python和java就肤浅了;让我们进入正题。其实在接触AOC之前,我大概了解到AOC是一个网络设备自动化运维和第三方设备管理的能力平台;学习体验AOC,一方面要有AOC,还要有网络设备;最后,代码开发必须要有python环境。python开发环境好做,但是AOC和网络设备怎么办呢?这时,我发现了社区主页的在线开发。进入在线开发页面后,这三个就是我需要的AOC、python环境、网络设备;Python环境下,AOCMONI提供网元设备模拟器。进入环境需要华为云实名认证。这里遇到了一个问题,看到社区其他小伙伴也遇到过。实名认证后,再次进入环境,仍然提示未实名认证;在这里我咨询了社区。支持人员,该问题是由于华为云实名认证与社区数据库同步导致的。这个问题也是劝阻萌新的绊脚石。其实这是华为云在后台为每个开发者设置了虚拟机。其实也够大方了,毕竟免费试用。至此,我心里还有最后一个疑惑,就是这三个工具在云端是怎么串起来的。我这里有点编码情节,第一个进入的是CLOUDIDE。整个IDE界面类似于PYCHARM等主流IDE。您可以在左侧和右侧看到与插件相关的图标。应该可以从CLOUDIDE应用商店下载并安装插件。在右侧,您可以看到一个蓝色的AOC图标。点击后可以看到IDE默认安装了AOCmini和AOCmoni插件服务。这也就解释了我心中的最后一个问题,就是IDE、AOC环境、设备环境是怎样的。串联连接。这里可以看到有一个调试开关和一个打开插件的开关。点击打开,AOCmoni和AOCmini如期打开。到这里基本确定,在IDE中开发的数据可以通过IDE的插件功能与AOCmini和AOCmoni对接。代码调试互通,基本满足开发者学习开发流程的基本环境要求。我们具体试试debug函数,看看效果如何。在CLOUDIDE和AOCmini中,我们可以看到系统预置了一个名为aaamini的SSP包。这里IDE中的SSP包已经默认加载到AOCmini中了。(下期我们会看到如何在IDE中编辑包,然后上传到AOCmini),现在我们来试试如何让IDE和AOCmini一起调试。首先需要打开AOC插件列表中的获胜调试开关,如下图。然后我们找到了SSP包aaamini的业务python文件,用“丰富的代码体验”锁定了以下文件。红框是主要业务实现文件,黄框是UT测试文件(我们在后续UT的贴子里会详细说)。大致看了一下ncs_map的方法,应该是发送配置时模型映射的主要入口。让我们先设置一个断点并尝试一下。设置好断点后,我们来到AOCmini中的业务管理界面,点击Add添加一个配置,我们需要填写用户名,然后点击Create;这个时候我们看到需要填写一个nename,这里其实就是看配置发给具体的设备;因为我们需要查看它被发送到哪个设备,所以我们需要知道AOC当前连接到哪些设备。点击资源->设备管理,我们可以看到AOCmini默认连接了一个名为NE1的设备。NE40E;所以我们可以把nename填成NE1。点击试运行后,切换回IDE界面,点击run->StartDebugging,可以看到IDE中的程序已经执行完毕,暂停到我们刚刚打的断点处。点击继续完成程序,可以看到AOCmini页面弹出试运行结果对话框。这是代码的一般外观。ncs_map方法其实就是将我们刚才在网页输入的参数通过下图中的jinja模板进行映射,并组合成一条netconf消息。第一次记录这么多。其实我只是体验了AOC线上环境的debug功能。中间也遇到了一些意想不到的问题,但是整体过程还是比较容易理解的。下一次,我将继续探索在线环境,包括编辑和加载包。希望大家多多关照,多多交流。点击关注,第一时间了解华为云的新鲜技术~