华为OPS(Open Programmability System,开放可编程系统)

1.    OPS原理

  • OPS 基于华为公司通用路由平台 VRP ( Versatile Routing Platform)开发,通过开放的RESTful API接口与VRP系统的管理平面、控制平面、数据平面的模块进行交互,实现对设备整体功能的扩展。
  • OPS通过开放管理对象来开放设备,管理对象使用URI(Uniform Resource Identifier)进行唯一的标识。客户端可以通过标准的HTTP方法对对象进行操作,如GET、PUT、POST、DELETE。
  • VRP系统是华为公司多年研究和网络应用经验的成果,知识产权为华为公司所有的一种网络操作系统。管理对象:网络设备中开放出来的,可以被Restful API接口进行调用的对象,如CPU信息,系统信息,接口信息等。
  • URI(Uniform Resource Identifier):统一资源标识符,用于标识一个特定的资源, OPS中使用URI标识管理对象。如CPU信息的URI为/devm/cpuInfos/cpuInfo,其唯一地标识了CPU信息这个管理对象。
  • URL(Uniform resource locator):统一资源定位符,URL是一种URI,可以用来表示一个资源,而且还指明了如何定位这个资源,如http://www.ietf.org/rfc/rfc2396.txt, ftp://ftp.is.co.za/rfc/rfc1808.txt。
  • 目前华为网络设备OPS功能集成了Python语言的运行环境,可以运行Python脚本。 Java,C/C++语言运行环境当前版本暂未实现,待扩展。

RESTful API介绍

REST(Representational State Transfer,表现层状态转移):一种软件架构风格。其设计概念和准则为:

  1. 网络上的所有事物都可被抽象为资源。
  2. 每一个资源都有唯一的资源标识,对资源的操作不会改变这些标识。
  3. 使用标准方法操作资源,核心操作为HTTP规范定义的GET,PUT,POST,DELETE。
  4. 所有的操作都是无状态的。

RESTful API:符合REST架构风格的API。

  1. API(Application Programming Interface,应用编程接口):指应用程序之间为了保证互相通讯所提供的一系列特殊规则和要求。
  2. 获取更多Restful相关知识可学习HCIP-编程与自动化课程《RESTful原理与实践》。
  3. OPS定义了一套RESTful API,并使用URI标识开放的管理对象。用户可以通过标准的HTTP方法(GET、PUT、POST和DELETE)访问管理对象。

OPS RESTful API交互示例

有了OPS定义的RESTful API,用户就可以通过编写Python脚本,发送HTTP请求对网络设备的管理对象进行操作,网络设备则会根据操作的执行结果返回HTTP响应消息。

OPS功能是用户编写python脚本,将脚本安装到网络设备,脚本运行时发送HTTP请求,来实现对网络设备的管理。

用户发送的HTTP请求需要按照OPS定义的RESTful API进行构造。获取系统信息API描述如下。

•    OPS RESTful API请求报文与响应报文格式与上图片中的HTTP请求报文与响应报文格式类似。
•    XML(Extensible Markup Language,可扩展标记语言),被设计用来传输和存储数据。
•    目前,OPS RESTful API只支持采用XML格式传输数据,未来的版本会支持JSON
(JavaScript Object Notation)格式。所以,目前OPS Restful API请求报文和响应报文的主体部分都是XML格式。
•    《RESTful API参考》可在华为support网站http://support.huawei.com的对应网络设备页面进行下载。

目前,华为OPS RESTful API只支持在ERE(Embedded Running Environment,内嵌运行环境)中调用。网络设备系统中集成了Python语言运行环境,用户根据OPS API编写Python脚本,并将其安装到设备系统中, Python脚本运行时,通过向系统发送HTTP请求,来实现对设备的管理。

2.    OPS应用场景

  •  DHCP服务器:用来为自动部署的网络设备分配临时管理IP地置文址、缺省网关、脚本文件服务器地址等信息。
  • DHCP中继:当需要自动部署的网络设备与DHCP服务器位于不同网段时,需要通过DHCP中继转发DHCP交互报文。
  • 脚本文件服务器:用来保存网络设备自动部署时需要的脚本文件(Python脚本)。通过运行脚本文件,网络设备可以获取软件和配置文件服务器地址、版本文件、配置文件等信息。
  • 软件和配置文件服务器:用来保存网络设备自动部署需要的系统软件、配件、补丁文件。

场景2:实现自动检查设备健康状态

通常情况下,对设备的健康状态进行检查时,用户需要登录设备并执行多条命令行,以查看设备的硬件、业务运行状态。

通过OPS功能,设备可以自动执行这些健康检查命令,定时收集执行结果并将其发送至服务器以供分析,减少维护工作量。因为这些命令是通过安装在网络设备系统中的Python脚本下发的,而不是用户通过网络远程下发的,因此也不需要担心网络不通的问题。

通过编写python脚本,可以实现下发命令,当网络不通时,将执行结果暂存在设备,等网络恢复再传输到Server的功能。因此,可以消减网络不通带来的影响。

场景3:实现自动备份配置文件

网络设备通过维护助手订阅配置文件保存事件,当配置被保存后,设备自动运行Python脚本,将配置文件发送至服务器进行备份,以减少手工备份的工作量。

3.    OPS配置实践

配置思路

OPS的配置思路如下。其中最重要的是编写Python脚本,后面会详细介绍。之后的三个步骤较简单,操作方式和所涉及命令已在下图标注,不再详细展开。

Python脚本编写 (1)

Python脚本的作用是向系统下发HTTP请求,来实现对系统的管理。华为公司提供了Python脚本模板,用户只需根据要实现的功能查找相应RESTful API,并对部分代码做相应修改即可。

Python脚本模板示例:

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

❸杨开泰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值