摘要:AOC是一个做网络设备自动化运维以及三方设备纳管的一个能力平台。

本文分享自华为云社区《AOC萌新探索之旅第一期——在线AOC环境初体验》,作者:oysterzz。

接触AOC没多久,这里本萌新打算开一系列贴记录一下学习过程中的日常;中间一些深水区帮大家趟一下,希望能够帮得上大家。

先大概介绍一下自己吧,应该会有不少能力模型相仿的同学,可以一起交流学习;我之前接触过设备,敲过CLI给设备下配置,做过运营商网络交付;代码方面算是熟悉C,搞过几年C的开发,python java会个皮毛;进入正题吧。

其实在接触AOC之前,大概初步了解到AOC是一个做网络设备自动化运维以及三方设备纳管的一个能力平台;要学习体验AOC,那我一方面是得有个AOC,还需要一个网络设备;最后还得有个python的环境来搞代码开发。

python的开发环境倒是好搞,但是AOC和网络设备我该怎么办呢?

这个时候我发现了社区首页的在线开发

进入在线开发页面后,这三个不就是我需要的AOC、python环境以及网络设备嘛;(雪中送炭)

  • AOCmini提供了一个在线版AOC,
  • CloudIDE提供了一个在线的python环境,
  • AOCMONI提供了一个网元设备模拟器。

进入环境的时候需要华为云的实名认证,这里遇见了一个问题,在社区中也看到了其他小伙伴有遇到过,实名认证后再次进入环境的时候还是提示未实名认证;

这里咨询了社区的支持人员,这个问题是由于华为云的实名认证与社区这边的数据库同步需要一点时间触发,一般等几分钟就可以进入环境了。这个问题也是劝退萌新的一条拦路虎了,其实这个就是华为云在后台为每位开发者起了一台虚拟机,其实也是够大方了,毕竟免费试用。

到这里心里还有最后一个疑惑,就是这三个工具是怎么在云上串联起来的呢,算了先不管那么多了,先点进去看看。我这里多少有点编码情节,第一个进入的是CLOUD IDE。

整个IDE界面跟PYCHARM等主流IDE相似,左侧右侧可以看到有插件相关的图标,应该是可以从CLOUD IDE 应用商店下载插件安装。

右侧可以看到有个蓝色的AOC图标

点开之后可以看到这个IDE默认安装了AOCmini与AOCmoni的插件服务,这里也解释了我心里最后一个疑问,就是IDE、AOC环境、设备环境是如何串联起来的。

这里可以看到有调试开关以及打开插件的开关,点击打开,果然不出所料打开了AOCmoni与AOCmini,这里基本可以确定,IDE中开发的代码运行起来的数据可以通过IDE的插件功能与AOCmini以及AOCmoni互通进行代码debug,这也就基本满足了一个开发者学习开发流程基本的环境要求了

下面我们具体来试一下debug功能,看看用起来如何。

在CLOUD IDE与AOCmini中我们可以看到系统预置了一个名叫aaamini的SSP包

这里看默认已经将IDE里的SSP包加载至AOCmini上,(下一回我们具体看看怎么在IDE里编辑包然后再上传至AOCmini),现在我们试试看怎么让IDE和AOCmini一起debug起来。

首先要在AOC插件列表中奖调试开关打开,打开后如下图所示。

然后我们找到aaamini这个SSP包的业务python文件,凭借“丰富的代码经验”锁定如下文件,其实还是挺容易找的,因为实际就俩正经py文件,悄悄吹一下python。

红框是主业务实现的文件,黄框是一个UT测试文件(UT后续开贴我们详细来讲)。

大概看了下ncs_map这个方法应该就是下发配置时做模型映射的主入口了,二话不说我们打上断点先试一把看看。

打上断点后,我们来到AOCmini中的业务管理界面,点击增加来添加一条配置

需要我们填写一下username,然后点击创建;

这个时候我们看到需要填写一个nename,这里其实就是看将此次配置下发给具体哪台设备;

由于要看下发给哪台设备,我们得知道现在AOC现在对接的设备有哪些,点击资源->设备管理,我们可以看到AOCmini默认对接了一台名为NE1的NE40E;所以我们将nename填写为NE1就可以了。

点击试运行后,切回IDE界面点击run->StartDebugging,可以看到IDE中的程序已经执行起来,暂停到我们刚才打的断点处。

点击continue将程序运行完成,可以看到AOCmini的页面中就弹出了试运行结果的对话框。

这里结合代码大概看了一下,ncs_map这个方法其实就是将我们刚才在网页上输入的参数通过下图中的jinja模板进行了映射组合成一个netconf报文。

第一次就先记录这么多吧,其实就是体验了一下AOC在线环境的debug功能。

中间也遇到了一些预料之外的问题,不过总体流程还是比较容易理解的,下一次继续探索一下在线环境,包括包的编辑加载,希望大家多多关照多多交流。

点击关注,第一时间了解华为云新鲜技术~

AOC萌新探索:搭建和体验在线AOC环境的更多相关文章

  1. java萌新尝试搭建WordPress记录

    问题1:安装好PHP环境没找好mysql路径,导致不能调用数据库模块 解决方案:重装一次,参考链接 https://www.cnblogs.com/yangxia-test/p/4174372.htm ...

  2. 萌新--关于vue.js入门及环境搭建

    十几天闭关修炼,恶补了html跟css以及JavaScript相应的基础知识,恰巧有个群友准备做开源项目,愿意带着我做,但是要求我必须懂vue.js,所以开始恶补vue.js相关的东西. 在淘宝上买了 ...

  3. 萌新在线模板--keyboarder_zsq

    好像马上就要出去打铁了QAQ,所以是不是要做个模板带过去也玩一玩? 那就做吧... 标题就设为萌新模板吧...各种萌新讲解对吧.... 图论 拓扑排序 最短路 最小生成树 二分匹配 强连通Tarjan ...

  4. 萌新学习Python爬取B站弹幕+R语言分词demo说明

    代码地址如下:http://www.demodashi.com/demo/11578.html 一.写在前面 之前在简书首页看到了Python爬虫的介绍,于是就想着爬取B站弹幕并绘制词云,因此有了这样 ...

  5. Vue初识:一个前端萌新的总结

    一.前言 时隔三年,记得第一次写博客还是2015年了,经过这几年的洗礼,我也从一个后端的小萌新变成现在略懂一点点知识的文青.如今对于前端的东东也算有一知半解,个人能力总的来说,也能够独立开发产品级项目 ...

  6. #使用abp框架与vue一步一步写我是月老的小工具(2) 后台搭建初体验

    #使用abp框架与vue一步一步写我是月老的小工具(2) 后台搭建初体验 一.续上前言 关于这个小玩意的产品思考,假设我暂时把他叫我是月老热心人 这是一个没有中心的关系链,每个人进入以后都是以自己为中 ...

  7. 留学萌新Essay写作须知

    Essay是留学生们接触比较多的一项留学生作业,但尽管如此,依旧有部分同学对于essay写作是没有足够的把握的.随着开学季的到来,很多萌新初次接触Essay写作,难免会有很多不懂得地方.所以今天小编就 ...

  8. 致萌新与不会用 NOI Linux 的 OIer

    全文绝大部分转载自:这篇好文章啊. 目录 1:GUIDE 2:Gedit 原文 打开 编译运行 3.Vim 3-1:这东西咋开啊 3-2:这东西咋用啊 4.编译与运行 5.调试 6.CSP竞赛中编写代 ...

  9. 关于 video 播放的新探索

    前端同学要使用 HTML5 播放器视频,必然会使用 video 标签,不过大多数同学只是使用了较简单的功能,其实它本身拥有不凡之力有待我们发现. 首先,我们先来看下 video 最基础的用法: 使用 ...

  10. 【unity萌新第一步】Unity的Hello World(适合小白)

    Unity萌新的第一步:使用unity写第一个Hello World IT界有个笑话:"我擅长用各种语言写Hello World".我讲这个笑话的目的是,指出:写一个HelloWo ...

随机推荐

  1. 每天5分钟复习OpenStack(九)存储发展史

    上一章节我们介绍了使用本地硬盘做kvm的存储池,这章开始将介绍下存储的发展历程,并介绍什么是分布式存储,为什么HDFS为有中心节点的分布式存储? 1.存储发展 在单机计算时代(大型机.小型机.微机), ...

  2. .NET8依赖注入新特性Keyed services

    什么是Keyed service Keyed service是指,为一个需要注入的服务定义一个Key Name,并使用使用Key Name检索依赖项注入 (DI) 服务的机制. 使用方法 通过调用 A ...

  3. FPGA与Simulink联合仿真环境搭建(硬件在环)

    硬件在环(HIL) \(\quad\)官方的一些定义:硬件在环 (HIL) 测试是一种实时仿真,让您无需使用系统硬件即可开始测试嵌入式代码.如果正在开发的代码未按照规范运行,您可以通过此项测试来发现可 ...

  4. 宏(define)与常量(const)

    既然选择了远方,便只顾风雨兼程. 宏(define) 一. 宏的理解   宏是一种批量处理的称谓.一般说来,宏是一种规则或模式,或称语法替换 ,用于说明某一特定输入(通常是字符串)如何根据预定义的规则 ...

  5. [WPF]动手写一个简单的消息对话框

    消息对话框是UI界面中不可或缺的组成部分,用于给用户一些提示,警告或者询问的窗口.在WPF中,消息对话框是系统原生(user32.dll)的MessageBox,无法通过Style或者Template ...

  6. 线性代数导论MIT第一章中的知识点

    线性代数知识点: 0.矩阵表 1.线性组合 2.向量与线性组合 3.线性组合 4.三维向量 平面向量(x, y)与3维空间的(x, y, 0)不相同! 二维空间的向量v具有两个分量v1与v2. v + ...

  7. 【外包杯】【报错】(表面解决实际未解决)微信小程序报错:[渲染层错误] TypeError: Cannot read property ‘$$‘ of undefined

    半解不解吧,反正实现了就行 渲染层出错,滑动图片组件无法显示,(swiper是轮播图插件,因此错误应该出现在swiper渲染中) 可以这样移动,但是没有图片 我觉得是路径的问题 兄弟们,目前没有解决接 ...

  8. 安卓端出现https请求失败的一次问题排查

    背景 某天早上,正在一个会议时,突然好几个同事被叫出去了:后面才知道,是有业务同事反馈到领导那里,我们app里面某个功能异常. 具体是这样,我们安卓版本的app是禁止截屏的(应该是app里做了拦截), ...

  9. [JVM] 应用诊断工具之Fastthread(在线诊断)

    0 序言 背景 近期生产系统遇到了一个线程方面的问题,目前根因已定位到.现将fastthread这一诊断工具做一小结,便于以后快速使用 博主我遇到的线程问题:java.lang.OutOfMemory ...

  10. VCS用法

    1.时钟频率点击,鼠标左键点击波形上升沿,中间滚轮点击,然后选择hz,就显示当前信号时钟频率. 2.窗口乱掉,找不到文件列表,右下角点击弹出选择instance. 3.bus地址查找,选择信号,然后蓝 ...