TOSCA NFV/SDN Adhoc
Source:Shitao li, Huawei Technologies Co.,Ltd.
Date: Feb 20, 2017
Type: Decision
Purpose: Adding TOSCA ExtVitualLinkable capability of Cpd
It covers the use case when a interanl connection point is exposed as an external connection point.
***********************************First change***************************************
5.5.5tosca.capabilities.nfv.ExtVirtualLinkable
A node type that includes the ExtVirtualLinkable capability indicates that it can be pointed by tosca.relationships.nfv.ExtVirtualLinksTo relationship type.
Shorthand Name / VirtualLinkableType Qualified Name / tosca:VirtualLinkable
Type URI / tosca.capabilities.nfv.VirtualLinkable
5.5.4.1 Properties
Name / Required / Type / Constraints / DescriptionN/A / N/A / N/A / N/A / N/A
5.5.4.2 Definition
tosca.capabilities.nfv.ExtVirtualLinkable:derived_from: tosca.capabilities.Node
***********************************End of First change*********************************
***********************************Second change**************************************
tosca.relationships.nfv.ExtVirtualLinksTo
This relationship type represents an association relationship between VduCpd and VnfVirtualLinkDesc node types.
Shorthand Name / VirtualLinksToType Qualified Name / tosca:VirtualLinksTo
Type URI / tosca.relationships.nfv.VirtualLinksTo
Definition
tosca.relationships.nfv.VirtualLinksTo:derived_from: tosca.relationships.DependsOn
valid_target_types: [ tosca.capabilities.nfv.VirtualLinkable ]
*******************************End of Second change**********************************
***********************************Third change**************************************
6Examples
6.2 VNFD modeling design with one exteranl connection point exposed by an internal connection point
This example shows a VDU model design by using TOSCA composition. In this example, VDU_1 contains a VDU.Compute node, a VDU.VirtualStorage node and two interanl connection point nodes (internalCpd_1 and interanlCpd_2). The internalCpd_1 is the connection point for connecting the internal virtual link, and internalCpd_2 is exposed as the external connection point for connecting with the exteranl virtual link.
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0description: service template of a VDU
topology_template:
inputs:
subsititution_mappings:
node_type: tosca.nodes.nfv.VNF.VDUComposition.vdu1 # this is just an example, users can define their own vdu node type based on their application
requirements:
VirtualLinkable: [interanlCpd_1, virtualLinkable]
ExtVirtualLinkable: [interanlCpd_2, ExtVirtualLinkable] # exposed as VnfExtCpd
capabilities:
virtual_compute: [vdu1_compute, virtual_compute]
virtual_storage: [vdu1_storage, virtual_storage]
node_templates:
vdu1_compute:
type: tosca.nodes.nfv.VDU.Compute
properties:
# omitted here for brevity
capabilities:
virtual_compute:
VirtualBindable:
artifacts:
- sw_image:
requirements:
- virtual_storage: vdu1_storage
vdu1_storage:
type: tosca.nodes.nfv.VDU.VirtualStorage
properties:
# omitted here for brevity
capabilities:
virtual_storage:
interanlCpd_1: #ID of this internalCpd
type: tosca.nodes.nfv.VduCpd
properties:
# omitted here for brevity
requirements:
- VirtualLinkable: Internal_VL
- VirtualBindable: vdu1_compute
interanlCpd_2: #ID of this internalCpd
type: tosca.nodes.nfv.VduCpd
properties:
# omitted here for brevity
requirements:
- VirtualBindable: vdu1_compute
ExtVirtualLinkable: #require connecting to an external VirtualLink
In this example, a VNFD contains two VDU(VDU_1 and VDU_2) nodes and one internal virtual link node (Internal_VL). The Internal_VL is used to connect the two VDUs.
tosca_definitions_version: tosca_simple_yaml_1_0topology_template:
description: Template of a VNFD example
subsititution_mappings:
node_type: tosca.nodes.nfv.VNF
requirements:
ExtVirtualLinkable: [VDU_1, ExtVirtualLinkable] #exposed as VnfExtCpd
node_templates:
VDU_1:
type: tosca.nodes.nfv.VDUComposition.vdu1
properties:
# omitted here for brevity
capabilities:
virtual_Compute:
virtual_storage:
requirements:
- VirtualLinkable: Internal_VL
ExtVirtualLinkable:
VDU_2:
type: tosca.nodes.nfv.VDUComposition.vdu2
properties:
# omitted here for brevity
capabilities:
virtual_Compute:
virtual_storage:
requirements:
- VirtualLinkable: Internal_VL
Interanl_VL:
type: tosca.nodes.nfv.VnfVirtualLinkDesc
properties:
# omitted here for brevity
capabilities:
VirtualLinkable:
*******************************End of Third change**********************************