【数通网络设备社区】工具链之Ansible-gen

123hehe 发表于 2021/11/30 17:54:29 2021/11/30
【摘要】 数通网路设备社区提供设备北向工具链,帮助开发者更有效率地开发自己的程序。     

工具链——Ansible-gen

备注:数通网路设备社区提供设备北向工具链,帮助开发者更有效率地开发自己的程序。                                                                                    

   Ansible-gen工具简   

Ansible-gen是一款华为提供的用python语言编写的Ansible API自动化生成工具。Ansible-gen的使命是帮助用户按照自己的需求生成在Ansible框架上运行的Ansible API。除此之外, Ansible-gen还可以将生成的Ansible API自动化部署到Ansible框架中、对用户输入进行约束检查等功能,可以极大限度的减轻用户开发人员的工作。

Ansible-gen工具已经开源,请访问https://github.com/HuaweiDatacomm/ansible-gen了解详细信息。

Ansible-gen工作框架总览

用户可以编写自己定制的Ansible API描述文件(使用XML格式,具体要求参照下文),将所管理设备对应的YANG文件和Ansible API描述文件作为输入,运行Ansible-gen工具,可以自动化生成Ansible API,并且自动化部署到ansible框架中。

 【数通网络设备社区】工具链之Ansible-gen【数通网络设备社区】工具链之Ansible-gen

Ansible-gen输入与输出


   Ansible-gen安装   

前置要求

从代码安装

$git clone https://github.com/HuaweiDatacomm/ansible-gen.git

$python setup.py install

从pypi安装

$pip install ansible-gen


   Ansible-gen的使用   

一、构建目录

构建YANG目录

创建一个文件夹目录,目录名称自定义。该目录用于存放所管理设备使用的YANG文件。

  1. YANG文件获取方式
  2. 访问华为YANG的开源路径https://github.com/Huawei/yang/tree/master,这里提供了常用产品型态的YANG文件。
  3. 使用NETCONF协议提供的get-schemaRPC操作从华为设备获得YANG文件。
  4. 请联系华为工程师提供

约束

YANG目录下的YANG文件暂不支持多版本。例如,不支持同时放入[ietf-interfaces@2018-03-04.yang]和[ietf-interfaces@2019-06-08.yang]。

构建API描述文件目录

创建一个文件夹目录,目录名称自定义,我们可以称之为API描述根目录。该目录用于存放用户自定义的Ansible API描述文件。Ansible API描述文件是使用XML格式编写的描述自定义API格式的文件,和NETCONF标准协议报文非常相似。

目录结构说明

二、使用Ansible-gen生成脚本

  1. 正确安装好ansible-gen。
  2. 准备好配置的YANG文件。
  3. 准备好API描述文件及其示例文件。
  4. 使用ansible-gen命令行生成脚本
  5. 使用ansible —version命令查看Ansible的安装路径。

  6. 进入安装路径,使用cd ./modules/network/ne命令,进入生成脚本的部署路径。

   示例介绍   

请访问https://github.com/HuaweiDatacomm/ansible-gen-examples 了解ansible-gen的实际用例。

想要深入了解工具链——Ansible-gen的小伙伴>>戳我浏览<<


--智能云网--

       华为智能云网社区是华为专门为开发者打造的一站式“开发、验证、交流、学习”平台,提供了“开发者交流”、“API中心”、“多媒体课件”、“SDK工具包”、“开发者工具”以及“远程实验室”六大工具,让开发者们轻松完成在线开发。

53769CFC-E1AA-4C4F-93ED-A1E6D7B5ACC5.png

想要深入了解智能云网的小伙伴:>>戳我浏览<<


   加入我们   

通过扫描下面二维码,欢迎加入我们数通大家庭~~~

1540480hxhcbczbb0qwnge.png

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。