The VDU design as decscribed in latest tosca-nfv-profile-wd05-rev03 follows the IM of VDU as defined from ETSI NFV.
The main design also follows the resource concept in ONAP. TOSCA composition feature has been used as the main design pattern.
Simple Resource
-A node without associated topology template (can’t be further decomposed)
-Simple resource used to compose a composite resource or a service
-Virtual Link, Connection Point, Virtual Storage, Virtual Compute, etc.
•Composite Resource
-A resource which is composed from other resources (simple, composite)
-A node which substituted by a topology template
-VDU, VNF, etc.
VDU model in tosca-nfv-profile
in which, the tosca.nodes.nfv.VDU.Composition node type represents the VDU which is the collection of VDU.compute, VDU.storage and VduCpd.
The definition of tosca.nodes.nfv.VDU.Composition node type
Info | ||
---|---|---|
| ||
tosca.nodes.nfv.VDU.Composition: derived_from: tosca.nodes.root properties: name: type: string required: true description: type: string required: true boot_order: type: list entry_schema: type: string required: false nfvi_constraints: type: list entry_schema: type: string required: false configurable_properties: type: map entry_schema: type: tosca.datatypes.nfv.VnfcConfigurableProperties required: true capabilities: virtual_compute: type: tosca.capabilities.nfv.VirtualCompute virtual_storage: type: tosca.capabilities.nfv.VirtualStorage occurrences: [0,UNBOUNDED][L1] requirements: - virtual_link: capability: tosca.capabilities.nfv.VirtualLinkable relationship: tosca.relationships.nfv.VirtualLinksTo node: tosca.nodes.nfv.VnfVirtualLinkDesc occurrences: [1,UNBOUNDED[L2] ] |
An example of a VDU service template
Info | ||
---|---|---|
| ||
tosca_definitions _version: tosca_simple_profile_1_1
description: service template of a VDU # Human readable description of the Vdu.
topology_template:
inputs:
subsititution_mappings: node_type: tosca.nodes.nfv.VNF. VDUComposition.vduC requirements: virtualLinkable: [interanlCpd_001, virtualLinkable] capabilities: virtual_compute: [vduC_compute, virtual_compute] virtual_storage: [vduC_storage, virtual_storage]
node_templates: vduC_compute: type: tosca.nodes.nfv.VDU.Compute properties: # omitted here for brevity capabilities: virtual_compute: artifacts: - sw_image: requirements: - virtual_storage: virtualStorage_001
vduC_storage: type: tosca.nodes.nfv.VDU.VirtualStorage properties: # omitted here for brevity capabilities: virtual_storage:
internalCpd: #ID of this internalCpd type: tosca.nodes.nfv.VduCpd properties: # omitted here for brevity requirements: - VirtualLinkable: - VirtualBindable: vduC_compute
|
A VNFD example with 3VDUs
Info | ||
---|---|---|
| ||
tosca_definitions_version: tosca_simple_profile_1_1 topology_template: description: Template of a VNFD example node_templates: VDU_A: type: tosca.nodes.nfv.VDUComposition.vduA properties: # omitted here for brevity requirements: - virtual_link:VL_1 - virtual_link:VL_2
VDU_B: type: tosca.nodes.nfv.VDUComposition.vduB properties: # omitted here for brevity requirements: - virtual_link:VL_2
VDU_C: # it can be substituted with a topology provided by another template # that exports a virtual_link type’s requirement. type: tosca.nodes.nfv.VDUComposition.vduC properties: # omitted here for brevity requirements: - virtual_link:VL_1
VL_1: type: tosca.nodes.nfv.VnfVirtualLinkDesc properties: # omitted here for brevity capabilities: - virtual_link
VL_2: type: tosca.nodes.nfv.VnfVirtualLinkDesc properties: # omitted here for brevity capabilities: - virtual_link |