VNFM开发技术方案初步设计.docx

上传人:b****5 文档编号:6274743 上传时间:2023-01-05 格式:DOCX 页数:22 大小:189.49KB
下载 相关 举报
VNFM开发技术方案初步设计.docx_第1页
第1页 / 共22页
VNFM开发技术方案初步设计.docx_第2页
第2页 / 共22页
VNFM开发技术方案初步设计.docx_第3页
第3页 / 共22页
VNFM开发技术方案初步设计.docx_第4页
第4页 / 共22页
VNFM开发技术方案初步设计.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

VNFM开发技术方案初步设计.docx

《VNFM开发技术方案初步设计.docx》由会员分享,可在线阅读,更多相关《VNFM开发技术方案初步设计.docx(22页珍藏版)》请在冰豆网上搜索。

VNFM开发技术方案初步设计.docx

VNFM开发技术方案初步设计

 

VNFM开发技术方案初步设计

 

北京神州泰岳软件股份有限公司

 

一、总设计思路

VNFM管理平台的所有功能开发采用开源Tacker项目作为原生系统,在此项目的基础上修改源码架构、添加新功能等,参照中国移动的企业标准、ETSI以及社区规范来统一设计,所有研发工作分六步,分别如下:

第一步:

NFVO和VNFM拆分

拆分是所有功能研发的前提工作,依据需求,我们把VNFO和VNFM从源码架构、功能两个部分分别做了拆分。

从tacker源码架构拆分后NFVO和VNFM作为两个独立的server,NFVO和VNFM各有一套RestfulAPI,共用conductor模块与DB交互。

NFVO和VNFM作为两个独立的进程,可以单独启动、停用等操作。

源码架构拆分后,从功能的拆分角度考虑主要把例如VNFD、VNF软件、镜像、配置文件等功能拆分到NFVO服务中管理,VNFM服务跟NFVO服务订阅。

第二步:

从安全、性能、运维等角度考虑整体技术和功能的设计

第三步:

VNFM和NFVO的功能开发

第四步:

系统设备管理功能开发

第五步:

集成测试工具的开发及测试

第六步:

集成对接及运维测试工作

 

二、tacker架构设计(改造后)

依据tacker作为原生系统改造后的架构图,将NFVO和VNFM拆分成两个独立的服务进程,各有一套RestfulAPI,都支持Horizon和CLI;重新启用Condutor服务模块与DB交互;NFVCatalog拆分到NFVO中管理,VNFM去NFVO中订阅。

三、功能架构设计

依据通用VNFM开发功能列表设计(后面参考详细的需求说明书可能需要调整)。

按阶段性要求的时间点迭代完成功能研发工作。

四、功能详细设计

五、RestfulAPI设计

按照VNFM-VNF&EMS接口规范细化参数开发相关相关功能:

一级功能

二级功能

接口名称

REST接口

参数说明

VNFM-VNF

认证

Authentication(VNFM-VNF)用户认证

POST/v1/vnf/authentication/token

 

Authentication(VNF-VNFM)用户认证

POST/v1/vnfs/{vnfinstanceid}/authentication/token

 

VNF配置

SetInitialConfiguration实例化初始配置

POST/v1/vnf/configuration

 

VNF生命周期管理

GetProgress获取实例化/扩缩容进度

GET/v1/vnf/progress{?

eventtype}

 

HealingVNF自愈VNF(可选)

POST/v1/vnfs/{vnfinstanceid}/vms/{vmid}/healing

 

VNF生命周期变化通知

VNFLifecycleChangesNotification(VNFM-VNF)VNF生命周期变化通知

POST/v1/vnf/lifecyclechangesnotification

 

VNF性能

GetIndicatorValue获取指标数据

Get/v1/vnf/indicators/{indicatorname}

Get/v1/vnf/indicators

 

Event通知

VNFPreScaleNotification(VNFM-VNF)VNF生命周期变化准备通知

POST/v1/vnf/prescalenotification

 

 

VNFHealingNotification(VNFM-VNF)自愈完成通知(可选)

POST/v1/vnf/vms/{vmid}/healing

 

VNFM-EMS

认证

Authentication(VNFM-EM)用户认证

POST/v1/vnfms/authentication/token

 

 

VNF生命周期变化通知

VNFLifecycleChangesNotification(VNFM-EM)VNF生命周期变化通知

POST/v1/vnfs/lifecyclechangesnotification

 

 

Event通知

VNFPreScaleNotification(VNFM-EM)VNF扩缩容准备通知

POST/v1/vnfs/prescalenotification

 

按照NFVO-VNFM接口规范细化传递参数开发相关功能:

一级功能

接口名称

REST接口

参数说明

VNF包管理

QuerySubscribe(查询VNF包订阅)

GET/v1/catalog/subscribe{?

NFVOID&VNFMID}

 

CreateSubscribe(创建VNF包订阅)

POST/v1/catalog/subscribe

 

DeleteSubscribe(删除VNF包订阅)

DELETE/v1/catalog/subscribe/{subscribeid}{?

NFVOID&VNFMID}

 

VNFPackageNotify(VNF包通知)

POST/v1/catalog/notification

 

QueryVNFPackage(查询VNF包信息)

GET/v1/catalog/vnfpkgs{?

NFVOID&VNFMID}

 

FetchVNFPackage(获取VNF包)

GET/v1/catalog/vnfpkgs/{packageid}/{filename}{?

NFVOID&VNFMID}

 

VNFD信息获取

QueryVNFD(查询VNFD信息)

GET/v1/vnfds/{vnfd_id}{?

NFVOID&VNFMID}

 

VNF资源授权

GrantLifecycle(VNF生命周期授权)

PUT/v1/resource/grant

 

VNF生命周期管理

InstantiateVnf(初始化VNF实例)

POST/v1/vnfs

 

QueryVnf(查询VNF)

GET/v1/vnfs/{vnfInstanceID}{?

NFVOID&VNFMID}

GET/v1/vnfs{?

NFVOID&VNFMID}

 

ScaleVnf(扩容缩容接口)

PUT/v1/vnfs/{vnfInstanceID}/scale

 

UpgradeVnfSoftware(升级VNF软件)

PUT/v1/vnfs/{vnfInstanceID}/upgrade

 

TerminateVnf(终止VNF)

DELETE/v1/vnfs/{vnfInstanceID}{?

NFVOID&VNFMID}

 

GetJobStatus(获取任务执行状态)

GET/v1/jobs/{jobId}{?

NFVOID&VNFMID&ResponseID}

 

VNF生命周期变化通知

VNFLifecycleChangesNotification(VNF生命周期变化通知)

POST/v1/vnfs/lifecyclechangesnotification

 

策略管理

CreatePolicy(策略下发)

POST/v1/vnfs//policies

 

UpdatePolicy(更新策略)

PUT/v1/vnfs//policies/{policyID}

 

DeletePolicy(删除策略)

DELETE/v1/vnfs//policies/{policyID}{?

NFVOID&VNFMID}

 

QueryPolicy(查询策略)

GET/v1/vnfs//policies/{policyID}{?

NFVOID&VNFMID}

GET/v1/vnfs//policies{?

NFVOID&VNFMID}

 

ActivePolicy(激活策略)

PUT/v1/vnfs//policies/{policyID}/active

PUT/v1/vnfs//policies/active

 

DeActivePolicy(去激活策略)

PUT/v1/vnfs//policies/{policyID}/deactive

PUT/v1/vnfs//policies/deactive

 

Event通知

VNFMEventNotification(VNFMEvent通知)

POST/v1/vnfs/eventnotification

 

告警

ListSubcriptions

GET/v1/alarm/subscribe{?

NFVOID&qType}

 

CreateSubcription

POST/v1/alarm/subscribe

 

DeleteSubcription

DELETE/v1/alarm/subscribe/{subscribeid}{?

NFVOID&VNFMID&subType}

 

PushAlarms

PUT/v1/alarm/pushalarms

 

PushFmHeartbeat

PUT/v1/alarm/pushfmheartbeat

 

ListActiveAlarms

GET/v1/alarm/vnfmFm/asctiveAlarms{?

NFVOID&qType}

 

ListHistoryAlarms

GET/v1/alarm/vnfmFm/hisAlarms{?

NFVOID&qType&StartTime&EndTime&StartSeq&EndSeq}

 

六、数据库表设计

需要调整tacker数据库表结构,新增表如VNF包表结构、配置管理表结构、故障管理表结构、日志管理表结构等等。

具体表结构属性需要阅读需求规范后详细讨论需求后制定。

相关表:

表名

vimauths

字段名

含义

字段类型

是否可为空

属性描述

id

主键id

varchar(36)

主键

vim_id

vim的id

varchar(36)

外键关联vim表的id

password

密码

varchar(255)

 

auth_url

vim访问地址

varchar(255)

 

vim_project

vim项目和项目所属域

text

 

auth_cred

认证信息(包括用户名,密码,访问地址,项目名)

text

 

表名

vims

字段名

含义

字段类型

是否可为空

属性描述

id

vim的id

varchar(36)

主键

type

vim类型

varchar(64)

 

tenant_id

projectid

varchar(64)

 

name

project名

varchar(255)

 

description

描述

text

 

placement_attr

region信息

text

 

shared

共享的

tinyint

(1)

 

status

状态

varchar(255)

 

is_default

是否是默认的

tinyint

(1)

 

created_at

创建时间

datetime

 

updated_at

更新时间

datetime

 

deleted_at

删除时间

datetime

 

表名

vnf

字段名

含义

字段类型

是否可为空

属性描述

id

vnf的id

varchar(36)

主键

tenant_id

projectid

varchar(64)

 

name

project名

varchar(255)

 

vnfd_id

vnfd模板的id

varchar(36)

外键关联vnfd表的id

instance_id

实例id

varchar(64)

 

mgmt_url

vnf创建完成之后返回的vdu的ip地址

varchar(255)

 

status

状态

varchar(64)

 

description

描述

text

 

placement_attr

region信息

text

 

vim_id

vim的id

varchar(36)

外键关联vim表的id

error_reason

错误原因

text

 

created_at

创建时间

datetime

 

updated_at

更新时间

datetime

 

deleted_at

删除时间

datetime

 

表名

vnf_attribute

字段名

含义

字段类型

是否可为空

属性描述

id

主键id

varchar(36)

主键

vnf_id

vnf的id

varchar(36)

外键关联vnf表的id

key

vnf中的key

varchar(255)

 

value

vnf中的value

text

 

表名

vnfd

字段名

含义

字段类型

是否可为空

属性描述

id

vnfd模板的id

varchar(36)

主键

tenant_id

projectid

varchar(64)

 

name

project名

varchar(255)

 

description

描述

text

 

mgmt_driver

mgmt驱动

varchar(255)

 

created_at

创建时间

datetime

 

updated_at

更新时间

datetime

 

deleted_at

删除时间

datetime

 

template_source

模板源地址

varchar(255)

 

表名

vnfd_attribute

字段名

含义

字段类型

是否可为空

属性描述

id

主键id

varchar(36)

主键

vnfd_id

vnfd模板的id

varchar(36)

外键关联vnfd表的id

key

vnfd中的属性名

varchar(255)

 

value

vnfd中的属性值

text

 

表名

servicetypes

字段名

含义

字段类型

是否可为空

属性描述

id

主键id

varchar(36)

主键

tenant_id

projectid

varchar(64)

 

vnfd_id

vnfd模板的id

varchar(36)

外键关联vnfd表的id

service_type

服务类型(VDU,CP,VL)

varchar(64)

 

表名

nsd

字段名

含义

字段类型

是否可为空

属性描述

tenant_id

projectid

varchar(64)

 

id

nsd模板的id

varchar(36)

主键

name

nsd名

varchar(255)

 

description

描述

text

 

created_at

创建时间

datetime

 

updated_at

更新时间

datetime

 

deleted_at

删除时间

datetime

 

vnfds

nsd模板中包含的vnfd

text

 

template_source

模板源地址

varchar(255)

 

表名

nsd_attribute

字段名

含义

字段类型

是否可为空

属性描述

id

主键id

varchar(36)

主键

nsd_id

nsd模板的id

varchar(36)

外键关联nsd表的id

key

nsd中的属性名

varchar(255)

 

value

nsd中的属性值

text

 

表名

ns

字段名

含义

字段类型

是否可为空

属性描述

tenant_id

projectid

varchar(64)

 

id

ns的id

varchar(36)

主键

created_at

创建时间

datetime

 

updated_at

更新时间

datetime

 

deleted_at

删除时间

datetime

 

nsd_id

nsd模板的id

varchar(36)

外键关联vnfd表的id

vim_id

vim的id

varchar(36)

外键关联vim表的id

name

vim名

varchar(255)

 

description

描述

text

 

vnf_ids

vnf的id集合

 

 

 

mgmt_url

ns创建完之后返回的地址

varchar(255)

 

status

状态

varchar(64)

 

error_reason

错误原因

text

 

表名

aclmatchcriterias

字段名

含义

字段类型

是否可为空

属性描述

id

acl匹配规则id

varchar(36)

主键

vnffgc_id

Classifierid

varchar(36)

外键关联vnffgclassfilters表的id

eth_src

发送端网卡

varchar(36)

 

eth_dst

接收端网卡

varchar(36)

 

eth_type

网卡类型

varchar(36)

 

vlan_id

vlanid

int(11)

 

vlan_pcp

vlan优先权代码点

int(11)

 

mpls_label

多协议标签交换label

int(11)

 

mpls_tc

多协议标签交换tc

int(11)

 

ip_dscp

ip中的dscp值

int(11)

 

ip_ecn

ip中的ecn值

int(11)

 

ip_src_prefix

发送端ip前缀

varchar(36)

 

ip_dst_prefix

接收端ip前缀

varchar(36)

 

source_port_min

发送端端口号最小值

int(11)

 

source_port_max

发送端端口号最大值

int(11)

 

destination_port_min

接收端端口号最小值

int(11)

 

destination_port_max

接收端端口号最大值

int(11)

 

ip_proto

ip协议

int(11)

 

network_id

网络id

varchar(36)

 

network_src_port_id

发送端网络端口号id

varchar(36)

 

network_dst_port_id

接收端网络端口号id

varchar(36)

 

tenant_id

projectid

varchar(64)

 

icmpv4_type

icmpv4协议类型

int(11)

 

icmpv4_code

icmpv4协议代码

int(11)

 

arp_op

arp协议的op表示是请求包还是应达包

int(11)

 

arp_spa

发送端的协议地址

int(11)

 

arp_tpa

目标端协议地址

int(11)

 

arp_sha

发送端的硬件地址

int(11)

 

arp_tha

目标端硬件地址

int(11)

 

ipv6_src

发送端的ipv6地址

varchar(36)

 

ipv6_dst

目的端的ipv6地址

varchar(36)

 

ipv6_flabel

ipv6的流标签

int(11)

 

icmpv6_type

icmpv6协议类型

int(11)

 

icmpv6_code

icmpv6协议代码

int(11)

 

ipv6_nd_target

ipv6的nd协议的待解析的ipv6地址

varchar(36)

 

ipv6_nd_sll

ipv6的nd协议的sll值

varchar(36)

 

ipv6_nd_tll

ipv6的nd协议的tll值

varchar(36)

 

表名

vnffgclassifiers

字段名

含义

字段类型

是否可为空

属性描述

id

Classifierid

varchar(36)

主键

tenant_id

projectid

varchar(64)

 

nfp_id

vnffgnfps的id

varchar(36)

外键关联vnffgnfps表的id

instance_id

实例id

varchar(255)

 

chain_id

vnf转发链id

varchar(36)

外键关联vnffgchains表的id

status

状态

varchar(255)

 

name

vnf转发链名字

varchar(255)

 

表名

vnffgchains

字段名

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1