系统架构
OPS 基于 Huawei VRP 开发,通过开放的 RESTful API 与 VRP 的管理平面、控制平面、数据平面的模块进行交互,实现对设备整体功能的扩展。
OPS通过开放管理对象来开放设备,管理对象使用 URI 进行唯一的标识。Client 可以通过标准的HTTP方法对对象进行操作,如GET、PUT、POST、DELETE。
补充说明:
1)管理对象:网络设备中开放出来的,可以被Restful API接口进行调用的对象,如CPU信息,系统信息,接口信息等。
2)目前华为网络设备OPS功能集成了Python语言的运行环境,可以运行Python脚本。Java,C/C++语言运行环境当前版本暂未实现,待扩展。
3)在 OPS 中,使用URI标识开放的管理对象。如CPU信息的URI为/devm/cpuInfos/cpuInfo,其唯一地标识了CPU信息这个管理对象。OPS定义了一套RESTful API。用户可以通过标准的HTTP方法(GET、PUT、POST和DELETE)访问管理对象。
使用介绍(Python)
目前,华为 OPS RESTful API 只支持在 ERE(Embedded Running Environment,内嵌运行环境)中调用。网络设备系统中集成 Python 环境,用户根据 OPS RESTful API 编写 Python 脚本,并将其安装到设备系统中,当Python脚本运行时,通过向系统发送HTTP请求,来实现对设备的管理。
Python 脚本运行流程示意图:
关于维护助手:
1)维护助手是华为网络设备的一个功能,可以设置触发条件及条件满足时执行的Python脚本。系统会实时监控设备的运行,当设定的触发条件满足时,自动执行Python脚本,完成Python脚本中定义的动作。更多关于维护助手的描述可参见华为网络设备产品文档。
请求格式
用户发送的 HTTP 请求需要按照 OPS 定义的 RESTful API 进行构造(即需要查阅官方文档)。
获取系统信息 API 描述如下:
OPS RESTful API 请求报文与响应报文格式与 HTTP 请求报文与响应报文格式类似。
目前,OPS RESTful API 只支持采用 XML 格式传输数据,未来的版本会支持 JSON(JavaScript Object Notation)格式。所以,目前 OPS Restful API 请求报文和响应报文的主体部分都是 XML 格式。
《RESTful API 参考》可在华为support网站 http://support.huawei.com 的对应网络设备页面进行下载。