收藏 分销(赏)

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

上传人:可**** 文档编号:4750474 上传时间:2024-10-11 格式:DOC 页数:13 大小:1,012.04KB 下载积分:8 金币
下载 相关 举报
VNFM开发技术方案初步设计.doc_第1页
第1页 / 共13页
VNFM开发技术方案初步设计.doc_第2页
第2页 / 共13页


点击查看更多>>
资源描述
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/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/〈vnfInstanceID〉/policies UpdatePolicy(更新策略) PUT /v1/vnfs/<vnfInstanceID>/policies/{policyID} DeletePolicy(删除策略) DELETE /v1/vnfs/<vnfInstanceID〉/policies /{policyID}{?NFVOID&VNFMID} QueryPolicy(查询策略) GET /v1/vnfs/〈vnfInstanceID〉/policies/{policyID}{?NFVOID&VNFMID} GET /v1/vnfs/〈VNFInstanceID>/policies{?NFVOID&VNFMID} ActivePolicy(激活策略) PUT /v1/vnfs/〈vnfInstanceID〉/policies/{policyID}/active PUT /v1/vnfs/<vnfInstanceID>/policies/active DeActivePolicy(去激活策略) PUT /v1/vnfs/〈vnfInstanceID〉/policies/{policyID}/deactive PUT/v1/vnfs/<vnfInstanceID〉/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&q Type} ListHistoryAlarms GET/v1/alarm/vnfmFm/hisAlarms{?NFVOID&qType&StartTime&EndTime&StartSeq &EndSeq} 六、数据库表设计 需要调整tacker数据库表结构,新增表如VNF包表结构、配置管理表结构、故障管理表结构、日志管理表结构等等。具体表结构属性需要阅读需求规范后详细讨论需求后制定. 北京神州泰岳股份有限公司 OpenStack研发和运维 相关表: 表名 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 project id 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 project id 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 project id 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 project id varchar(64) 否 vnfd_id vnfd模板的id varchar(36) 否 外键关联vnfd表的id service_type 服务类型(VDU,CP,VL) varchar(64) 是 表名 nsd 字段名 含义 字段类型 是否可为空 属性描述 tenant_id project id 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 project id 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 Classifier id varchar(36) 否 外键关联vnffgclassfilters表的id eth_src 发送端网卡 varchar(36) 是 eth_dst 接收端网卡 varchar(36) 是 eth_type 网卡类型 varchar(36) 是 vlan_id vlan id 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 project id 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 Classifier id varchar(36) 否 主键 tenant_id project id 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 字段名 含义 字段类型 是否可为空 属性描述 id vnf转发链id varchar(36) 否 主键 tenant_id project id varchar(64) 否 instance_id 实例id varchar(255) 是 nfp_id vnffgnfps的id varchar(36) 否 外键关联vnffgnfps表的id status 状态 varchar(255) 否 path_id 转发路径id varchar(255) 否 symmetrical 对称性 tinyint(1) 是 chain 转发链信息 text 是 表名 vnffgnfps 字段名 含义 字段类型 是否可为空 属性描述 id 主键id varchar(36) 否 主键 tenant_id project id varchar(64) 否 vnffg_id vnffg模板id varchar(36) 否 外键关联vnffgs表的id name vnffg模板名称 varchar(255) 否 status 状态 varchar(255) 否 path_id 转发路径id varchar(255) 否 symmetrical 对称性 tinyint(1) 是 表名 vnffgs 字段名 含义 字段类型 是否可为空 属性描述 id 主键id varchar(36) 否 主键 tenant_id project id varchar(64) 否 name project name varchar(255) 否 description 描述 varchar(255) 是 vnffgd_id vnffg模板id varchar(36) 否 外键关联vnffgtemplates表的id status 状态 varchar(255) 否 vnf_mapping 和哪个vnf mapping text 是 attributes 模板相关属性 text 是 表名 vnffgtemplates 字段名 含义 字段类型 是否可为空 属性描述 id vnffg模板id varchar(36) 否 主键 tenant_id project id varchar(64) 否 name project name varchar(255) 否 description 描述 varchar(255) 是 template 模板内容 text 是 template_source 模板源地址 varchar(255) 是 表名 events 字段名 含义 字段类型 是否可为空 属性描述 id 主键id int(11) 否 自增主键 resource_id 资源id varchar(36) 否 resource_state 资源状态 varchar(64) 否 resource_type 资源类型 varchar(64) 否 event_type 事件类型 varchar(64) 否 timestamp 发生时间 datetime 否 event_details 事件详情 text 是 表名 alembic_version 字段名 含义 字段类型 是否可为空 属性描述 version_num alembic版本号 varchar(32) 否 主键
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服