VNFM开发技术方案初步设计.doc_第1页
VNFM开发技术方案初步设计.doc_第2页
VNFM开发技术方案初步设计.doc_第3页
VNFM开发技术方案初步设计.doc_第4页
VNFM开发技术方案初步设计.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VNFM开发技术方案初步设计北京神州泰岳软件股份有限公司一、总设计思路VNFM管理平台的所有功能开发采用开源Tacker项目作为原生系统,在此项目的基础上修改源码架构、添加新功能等,参照中国移动的企业标准、ETSI以及社区规范来统一设计,所有研发工作分六步,分别如下:第一步:NFVO和VNFM拆分 拆分是所有功能研发的前提工作,依据需求,我们把VNFO和VNFM从源码架构、功能两个部分分别做了拆分。 从tacker源码架构拆分后NFVO和VNFM作为两个独立的server,NFVO和VNFM各有一套Restful API,共用conductor模块与DB交互。NFVO和VNFM作为两个独立的进程,可以单独启动、停用等操作。 源码架构拆分后,从功能的拆分角度考虑主要把例如VNFD、VNF软件、镜像、配置文件等功能拆分到NFVO服务中管理,VNFM服务跟NFVO服务订阅。第二步:从安全、性能、运维等角度考虑整体技术和功能的设计第三步:VNFM和NFVO的功能开发第四步:系统设备管理功能开发第五步:集成测试工具的开发及测试第六步:集成对接及运维测试工作二、tacker架构设计(改造后)依据tacker作为原生系统改造后的架构图,将NFVO和VNFM拆分成两个独立的服务进程,各有一套Restful API,都支持Horizon和CLI;重新启用Condutor服务模块与DB交互;NFV Catalog拆分到NFVO中管理,VNFM去NFVO中订阅。三、功能架构设计依据通用VNFM开发功能列表设计(后面参考详细的需求说明书可能需要调整)。按阶段性要求的时间点迭代完成功能研发工作。四、功能详细设计五、Restful API设计按照VNFM-VNF&EMS接口规范细化参数开发相关相关功能:一级功能二级功能接口名称REST接口参数说明VNFM-VNF认证Authentication(VNFM-VNF) 用户认证POST /v1/vnf/authentication/tokenAuthentication(VNF-VNFM) 用户认证POST /v1/vnfs/vnfinstanceid/ authentication/tokenVNF配置SetInitialConfiguration 实例化初始配置POST /v1/vnf/configurationVNF生命周期管理GetProgress 获取实例化/扩缩容进度GET /v1/vnf/progress?eventtypeHealingVNF 自愈VNF(可选)POST /v1/vnfs/vnfinstanceid/vms/vmid/healingVNF生命周期变化通知VNFLifecycleChangesNotification (VNFM-VNF) VNF生命周期变化通知POST /v1/vnf/lifecyclechangesnotificationVNF性能GetIndicatorValue 获取指标数据Get /v1/vnf/indicators/indicatornameGet /v1/vnf/indicatorsEvent通知VNFPreScaleNotification(VNFM-VNF) VNF生命周期变化准备通知POST /v1/vnf/prescalenotificationVNFHealingNotification(VNFM-VNF) 自愈完成通知(可选)POST/v1/vnf/vms/vmid/healingVNFM-EMS认证Authentication(VNFM-EM) 用户认证POST /v1/vnfms/authentication/tokenVNF生命周期变化通知VNFLifecycleChangesNotification(VNFM-EM) VNF生命周期变化通知POST /v1/vnfs/lifecyclechangesnotificationEvent通知VNFPreScaleNotification(VNFM-EM) VNF扩缩容准备通知POST /v1/vnfs/prescalenotification按照NFVO-VNFM接口规范细化传递参数开发相关功能:一级功能接口名称REST接口参数说明VNF包管理QuerySubscribe(查询VNF包订阅)GET /v1/catalog/subscribe?NFVOID&VNFMIDCreateSubscribe(创建VNF包订阅)POST /v1/catalog/subscribeDeleteSubscribe(删除VNF包订阅)DELETE /v1/catalog/subscribe/subscribeid?NFVOID&VNFMIDVNFPackageNotify(VNF包通知)POST /v1/catalog/notificationQueryVNFPackage(查询VNF包信息)GET /v1/catalog/vnfpkgs?NFVOID&VNFMIDFetchVNFPackage(获取VNF包)GET /v1/catalog/vnfpkgs/packageid/filename?NFVOID&VNFMIDVNFD信息获取QueryVNFD(查询VNFD信息)GET /v1/vnfds/vnfd_id?NFVOID&VNFMIDVNF资源授权GrantLifecycle(VNF生命周期授权)PUT /v1/resource/grantVNF生命周期管理InstantiateVnf(初始化VNF实例)POST /v1/vnfsQueryVnf(查询VNF)GET /v1/vnfs/vnfInstanceID ?NFVOID&VNFMID GET /v1/vnfs?NFVOID&VNFMIDScaleVnf(扩容缩容接口)PUT /v1/vnfs/vnfInstanceID/scaleUpgradeVnfSoftware(升级VNF软件)PUT /v1/vnfs/vnfInstanceID/upgradeTerminateVnf(终止VNF)DELETE /v1/vnfs/vnfInstanceID?NFVOID&VNFMIDGetJobStatus(获取任务执行状态)GET /v1/jobs/jobId?NFVOID&VNFMID&ResponseID VNF生命周期变化通知VNFLifecycleChangesNotification (VNF生命周期变化通知)POST /v1/vnfs/lifecyclechangesnotification策略管理CreatePolicy(策略下发)POST /v1/vnfs/policiesUpdatePolicy(更新策略)PUT /v1/vnfs/policies/policyIDDeletePolicy(删除策略)DELETE /v1/vnfs/policies /policyID?NFVOID&VNFMIDQueryPolicy(查询策略)GET /v1/vnfs/policies/policyID?NFVOID&VNFMIDGET /v1/vnfs/policies?NFVOID&VNFMIDActivePolicy(激活策略)PUT /v1/vnfs/policies/policyID/activePUT /v1/vnfs/policies/activeDeActivePolicy(去激活策略)PUT /v1/vnfs/policies/policyID/deactivePUT/v1/vnfs/policies/deactiveEvent通知VNFMEventNotification(VNFMEvent通知)POST /v1/vnfs/eventnotification告警ListSubcriptionsGET/v1/alarm/subscribe?NFVOID&qType CreateSubcriptionPOST/v1/alarm/subscribeDeleteSubcriptionDELETE/v1/alarm/subscribe/subscribeid?NFVOID&VNFMID&subTypePushAlarmsPUT/v1/alarm /pushalarmsPushFmHeartbeatPUT/v1/alarm/pushfmheartbeatListActiveAlarmsGET/v1/alarm/vnfmFm/asctiveAlarms?NFVOID&q TypeListHistoryAlarmsGET/v1/alarm/vnfmFm/hisAlarms?NFVOID&qType&StartTime&EndTime&StartSeq &EndSeq六、数据库表设计需要调整tacker数据库表结构,新增表如VNF包表结构、配置管理表结构、故障管理表结构、日志管理表结构等等。具体表结构属性需要阅读需求规范后详细讨论需求后制定。精品文档交流相关表:表名vimauths字段名含义字段类型是否可为空属性描述id主键idvarchar(36)否主键vim_idvim的idvarchar(36)否外键关联vim表的idpassword密码varchar(255)是auth_urlvim访问地址varchar(255)否vim_projectvim项目和项目所属域text是auth_cred认证信息(包括用户名,密码,访问地址,项目名)text是表名vims字段名含义字段类型是否可为空属性描述idvim的idvarchar(36)否主键typevim类型varchar(64)是tenant_idproject idvarchar(64)否nameproject名varchar(255)否description描述text是placement_attrregion信息text是shared共享的tinyint(1)否status状态varchar(255)否is_default是否是默认的tinyint(1)否created_at创建时间datetime是updated_at更新时间datetime是deleted_at删除时间datetime是表名vnf字段名含义字段类型是否可为空属性描述idvnf的idvarchar(36)否主键tenant_idproject idvarchar(64)否nameproject名varchar(255)否vnfd_idvnfd模板的idvarchar(36)否外键关联vnfd表的idinstance_id实例idvarchar(64)是mgmt_urlvnf创建完成之后返回的vdu的ip地址varchar(255)是status状态varchar(64)是description描述text是placement_attrregion信息text是vim_idvim的idvarchar(36)否外键关联vim表的iderror_reason错误原因text是created_at创建时间datetime是updated_at更新时间datetime是deleted_at删除时间datetime是表名vnf_attribute字段名含义字段类型是否可为空属性描述id主键idvarchar(36)否主键vnf_idvnf的idvarchar(36)否外键关联vnf表的idkeyvnf中的keyvarchar(255)否valuevnf中的valuetext是表名vnfd字段名含义字段类型是否可为空属性描述idvnfd模板的idvarchar(36)否主键tenant_idproject idvarchar(64)否nameproject名varchar(255)否description描述text否mgmt_drivermgmt驱动varchar(255)是created_at创建时间datetime是updated_at更新时间datetime是deleted_at删除时间datetime是template_source模板源地址varchar(255)否表名vnfd_attribute字段名含义字段类型是否可为空属性描述id主键idvarchar(36)否主键vnfd_idvnfd模板的idvarchar(36)否外键关联vnfd表的idkeyvnfd中的属性名varchar(255)否valuevnfd中的属性值text是表名servicetypes字段名含义字段类型是否可为空属性描述id主键idvarchar(36)否主键tenant_idproject idvarchar(64)否vnfd_idvnfd模板的idvarchar(36)否外键关联vnfd表的idservice_type服务类型(VDU,CP,VL)varchar(64)是表名nsd字段名含义字段类型是否可为空属性描述tenant_idproject idvarchar(64)否idnsd模板的idvarchar(36)否主键namensd名varchar(255)否description描述text否created_at创建时间datetime是updated_at更新时间datetime是deleted_at删除时间datetime是vnfdsnsd模板中包含的vnfdtext是template_source模板源地址varchar(255)是表名nsd_attribute字段名含义字段类型是否可为空属性描述id主键idvarchar(36)否主键nsd_idnsd模板的idvarchar(36)否外键关联nsd表的idkeynsd中的属性名varchar(255)否valuensd中的属性值text是表名ns字段名含义字段类型是否可为空属性描述tenant_idproject idvarchar(64)否idns的idvarchar(36)否主键created_at创建时间datetime是updated_at更新时间datetime是deleted_at删除时间datetime是nsd_idnsd模板的idvarchar(36)否外键关联vnfd表的idvim_idvim的idvarchar(36)否外键关联vim表的idnamevim名varchar(255)否description描述text是vnf_idsvnf的id集合mgmt_urlns创建完之后返回的地址varchar(255)是status状态varchar(64)是error_reason错误原因text是表名aclmatchcriterias字段名含义字段类型是否可为空属性描述idacl匹配规则 idvarchar(36)否主键vnffgc_idClassifier idvarchar(36)否外键关联vnffgclassfilters表的ideth_src发送端网卡varchar(36)是eth_dst接收端网卡varchar(36)是eth_type网卡类型varchar(36)是vlan_idvlan idint(11)是vlan_pcpvlan 优先权代码点int(11)是mpls_label多协议标签交换labelint(11)是mpls_tc多协议标签交换tcint(11)是ip_dscpip中的dscp值int(11)是ip_ecnip中的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_protoip协议int(11)是network_id网络idvarchar(36)是network_src_port_id发送端网络端口号idvarchar(36)是network_dst_port_id接收端网络端口号idvarchar(36)是tenant_idproject idvarchar(64)是icmpv4_typeicmpv4协议类型int(11)是icmpv4_codeicmpv4协议代码int(11)是arp_oparp协议的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_flabelipv6的流标签int(11)是icmpv6_typeicmpv6协议类型int(11)是icmpv6_codeicmpv6协议代码int(11)是ipv6_nd_targetipv6的nd协议的待解析的ipv6地址varchar(36)是ipv6_nd_sllipv6的nd协议的sll值varchar(36)是ipv6_nd_tllipv6的nd协议的tll值varchar(36)是表名vnffgclassifiers字段名含义字段类型是否可为空属性描述idClassifier idvarchar(36)否主键tenant_idproject idvarchar(64)否nfp_idvnffgnfps的idvarchar(36)否外键关联vnffgnfps表的idinstance_id实例idvarchar(255)是chain_idvnf转发链idvarchar(36)否外键关联vnffgchains表的idstatus状态varchar(255)否namevnf转发链名字varchar(255)是表名vnffgchains字段名含义字段类型是否可为空属性描述idvnf转发链idvarchar(36)否主键tenant_idproject idvarchar(64)否instance_id实例idvarchar(255)是nfp_idvnffgnfps的idvarchar(36)否外键关联vnffgnfps表的idstatus状态varchar(255)否path_id转发路径idvarchar(255)否symmetrical对称性tinyint(1)是chain转发链信息text是表名vnffgnfps字段名含义字段类型是否可为空属性描述id主键idvarchar(36)否主键tenant_idproject idvarchar(64)否vnffg_idvnffg模板idvarchar(36)否外键关联vnffgs表的idna

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论