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 条评论
登录 后参与评论

相关文章

来自专栏月色的自留地

新麦装机问题汇

1353
来自专栏Java编程技术

Druid连接池原理学习

(1)、 如果设置了maxWait或者构造函数参数传入的为true,则创建的ReentrantLock为公平锁,否者为非公平锁 (2)、 如果设置了initi...

9211
来自专栏皮振伟的专栏

[linux][memory]进程的最大内存使用量的讨论

前言: 一个进程最大能使用多少虚拟内存,能控制的地方还是比想象的多一点。 尤其是IaaS上,一个qemu进程能使用多少虚拟内存,就是对应着虚拟机的物理内存的最大...

1.4K11
来自专栏程序生活

Laravel-博客实战+踩坑laravel-blog最终的效果踩的坑

最近在学习Laravel,参考的课程是后盾网地Laravel5.2博客项目实战 下面整个项目的开发过程: laravel-blog 基于laravel5....

7065
来自专栏漫漫前端路

前端安全知识

xss: 跨站脚本攻击(Cross Site Scripting)是最常见和基本的攻击 WEB 网站方法,攻击者通过注入非法的 html 标签或者 javasc...

952
来自专栏Java编程技术

UML建模(组件图)

组件图是为了展示组元(components),组元提供的接口(provided inerfaces)和需要调用的接口(required interfaces),...

2702
来自专栏北京马哥教育

10 个最不流行的 Linux 命令

英文:Tecmint,编译:Linux中国/Luoxcat linux.cn/article-2265-1.html 在本文中,我们将关注几个不为人知的Lin...

3367
来自专栏Python专栏

用python来更改小伙伴的windows开机密码,不给10块不给开机

2416
来自专栏游戏杂谈

Cocos2d-x V2.x版本对64bit的支持

我所使用的是cocos2d-x V2.0版本,而且源码有部分代码是修改过的。好在cocos2d-x官方已经放出了一个支持64位的2.2.6版本,可以做为参考。

892
来自专栏源码之家

无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装

2378

扫码关注云+社区