OpenStack Tacker集成VNF的方法

OpenStack的子项目Tacker是NFV管理器,用于监视、配置NFV和管理NFV全生命周期。基于通用性考虑,Tacker对VNF的监视、配置、管理都是基于插件方式来实现,集成不同的厂商VNF需要进行开发对应的插件来适配各个厂商,在Tacker中这插件称之为mgmt_driver。本文将详细讲解tacker整个集成的流程,并重点讲解mgmt_driver插件的开发方法。

如下图所示,其中PluginA和PluginB 就是Tacker与 VNFA和VNFB进行对接的插件,主要负责与VNF和EMS交互,完成实例化、扩所容、升级、终止等生命周期操作相关的业务协商和配置。

Tacker集成VNF的流程

集成分为五个步骤。

1.收集厂商VNF的基本信息和资源信息,信息包含image、CPU、memory、disk、网络构成等。

2.根据收集的VNF信息进行Template的设计。

Template根据TOSCA规范进行了一部分自定义。在tacker /samples/tosca-templates/vnfd/下可以看到很多模板的示例,可以进行参照。这边给出一个示例。

注:详细的语法不是本文讨论的重点。在今后的分享中,会陆续的介绍。

3.根据收集的VNF信息进行配置文件的设计。VNF配置文件采用Yaml格式,内容字段由厂家自定义。配置文件中的内容,需要在后文中介绍的mgmt_drvier插件中进行解析,并根据解析出来的内容,对VNF进行配置。

4.根据收集的VNF信息进行策略文件的设计。目前策略文件,定义在中VNF Template中,以后会独立出来,可以灵活的调整的策略。

5. 根据VNF的配置需求,进行VNF配置插件的开发。插件是否需要开发,是由VNF来决定的,如果VNF不需要进行一些初始化配置、业务配置,则不需要进行插件的开发。

插件的开发

Tacker框架中,对插件定义了如下表的接口,在插件的开发的时候,需要对接口进行实现或重写,实现方式可以由VNF厂家自己实现,也可以参照ETSI规范或者相关企业标准实现。

概要的部署方式如下:

1) 实现上面的各个接口之后,将插件代码放在如下位置。

tacker/vnfm/mgmt_drivers/

2) 修改tacker/setup.cfg配置文件。

注: {your driver name}替换成插件的文件名称。{your driver class name}替换为插件文件类的名称。

3) 将代码部署到环境中。

4)修改/usr/etc/tacker/tacker.conf配置文件

目前tacker的mgmt_driver插件,只能在VNF实例化、更新、删除的时候,进行VNF的预处理和后处理,在扩缩容的时候,无法对进行VNF的预处理和后处理,而在实际的应用场景中,扩缩容的时候同样需要对VNF的进行配置,所以后续需要在mgmt_driver增加新的接口来处理扩缩容等场景下和VNF的交互。

转载自: 苏研大云人

原文发布于微信公众号 - SDNLAB(SDNLAB)

原文发表时间:2018-05-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏开源项目

代码生成器:提升程序员的生产力 | 码云周刊第 27 期

代码生成器:提升程序员的生产力 码云项目推荐 1 基于代码生成器的 J2EE 快速开发平台 jeecg ? 项目简介:JEECG(J2EE Code Gener...

3489

Apache libcloud中的CloudStack支持

阅览者注意:这篇文章的内容是由Sebastien Goasguen在Build a Cloud博客撰写的 。

2266
来自专栏原创

Gerrit代码Review入门实战

代码审核(Code Review)是软件研发质量保障机制中非常重要的一环,但在实际项目执行过程中,却因为种种原因被Delay甚至是忽略。在实践中,给大家推荐一款...

4415
来自专栏大魏分享(微信公众号:david-share)

从开发角度看四类企业应用架构1: 通过Maven编译并运行一个Java应用

892
来自专栏史上最简单的Spring Cloud教程

史上最简单的SpringCloud教程 | 第十三篇: 断路器聚合监控(Hystrix Turbine)

上一篇文章讲述了如何利用Hystrix Dashboard去监控断路器的Hystrix command。当我们有很多个服务的时候,这就需要聚合所以服务的Hyst...

1966
来自专栏开源优测

移动测试Appium工作原理

移动测试Appium工作原理 介绍 Appium是一个开源工具,用于自动化iOS、Android设备和Windows桌面平台上的原生、移动Web和混合应用。 "...

3387
来自专栏c#开发者

用selenium自动化验收测试

用 Selenium 自动化验收测试 如何使用 Selenium 测试工具对 Ruby on Rails 和 Ajax 应用程序进行功能测试 文档选项 将此...

3343
来自专栏FreeBuf

在线恶意软件和URL分析集成框架 – MalSub

malsub是一个基于Python 3.6.x的框架,它的设计遵循了当前最流行的互联网软件架构RESTful架构,并通过其RESTful API应用程序编程接口...

18710
来自专栏KaliArch

Python实现腾讯云CDB备份文件自动上传到COS

35317
来自专栏腾讯Bugly的专栏

Android Patch 方案与持续交付

Android 不仅系统版本众多,机型众多,而且各个市场都各有各的政策和审核速度,每次发布一个版本对于开发同学来讲都是一种漫长的煎熬。相比于 iOS 两三天就能...

2785

扫码关注云+社区