VNFM开发技术
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
初步
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
北京神州泰岳软件股份有限公司一、总设计思路VNFM管理平台的所有功能开发采用开源Tacker项目作为原生系统,在此项目的基础上修改源码架构、添加新功能等,参照中国移动的企业
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
、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开发功能列表设计(后面参考详细的需求说明
书
关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf
可能需要调整)。按阶段性要求的时间点迭代完成功能研发工作。四、功能详细设计五、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/<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}/activePUT/v1/vnfs/<vnfInstanceID>/policies/active DeActivePolicy(去激活策略) PUT/v1/vnfs/<vnfInstanceID>/policies/{policyID}/deactivePUT/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&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 字段名 含义 字段类型 是否可为空 属性描述 id vnf转发链id varchar(36) 否 主键 tenant_id projectid 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 projectid 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 projectid varchar(64) 否 name projectname varchar(255) 否 description 描述 varchar(255) 是 vnffgd_id vnffg模板id varchar(36) 否 外键关联vnffgtemplates表的id status 状态 varchar(255) 否 vnf_mapping 和哪个vnfmapping text 是 attributes 模板相关属性 text 是 表名 vnffgtemplates 字段名 含义 字段类型 是否可为空 属性描述 id vnffg模板id varchar(36) 否 主键 tenant_id projectid varchar(64) 否 name projectname 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) 否 主键专业资料