...
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)
...
-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.
...
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 |