Deployment Flavour as VNF Capability: Alt1_r3

Deployment Flavour as VNF Capability:
Alt1_r3
May 31, 2017
Thinh Nguyenphu, Nokia
[email protected]
History:
R1: based on each DF (different topology) would be represented in its own Service Template. And, All the common
attributes of VNFD should be described in as properties within VNFD capability type.
R2: update slide 7
R3: including examples
1
© Nokia 2017
Overview: VNF Node Type: tosca.nodes.nfv.VNF: (DF & VNFD as a VNF
capabilities)
VNF
topology template:
substtution_mappings:
tosca.nodes.nfv.VNF
capabilities:
vnf_common:
deployment_flavour
requirements:
virtual_link
VNF
tosca.nodes.nfv.VNF
req
VL
interfaces
node templates:
tosca.nodes.nfv.VNF.Header
tosca.nodes.nfv.VDU.Compute
tosca.nodes.nfv.VDU.VirtualStorage
tosca.nodes.nfv.VduCpd
tosca.nodes.nfv.VL
tosca.nodes.nfv.ExtCpd
cap:
vnf:
deployment_flavour:
Node Type
Service template
Note: tosca.nodes.nfv.VNF.Header is not a manageable entity, and
DependOn relationship is required.
2
© Nokia 2017
tosca.nodes.nfv.VNF:
derived_from: tosca.nodes.Root
capabilities:
vnf_common:
type: tosca.capabilities.nfv.VNFD
deployment_flavour:
type: tosca.capabilities.nfv.VnfDeploymentFlavour
#monitoring_parameter:
# modeled as ad hoc capabilities in VNF node template
requirements:
- virtual_link:
capability: tosca.capabilities.nfv.VirtualLinkable
relationship: tosca.relationships.nfv.VirtualLinksTo
node: tosca.nodes.nfv.VL
occurrences: [ 0, UNBOUNDED ]
# still under discussion:
#interfaces:
# Basic: # not to collide with Standard on tosca.nodes.Root
#
type: tosca.interfaces.nfv.vnf.lifecycle.Basic
# Healable:
#
type: tosca.interfaces.nfv.vnf.lifecycle.Healable
# Scalable:
#
type: tosca.interfaces.nfv.vnf.lifecycle.Scalable
# Custom:
#
type: tosca.interfaces.nfv.vnf.lifecycle.Custom
tosca.capabilities.nfv.VNFD:
tosca.capabilities.nfv.VNFD:
derived_from: tosca. capabilities.Root
properties:
descriptor_id: # instead of vnfd_id
type: string # GUID
required: true
descriptor_version: # instead of vnfd_version
type: string
required: true
provider: # instead of vnf_provider
type: string
required: true
product_name: # instead of vnf_product_name
type: string
required: true
software_version: # instead of vnf_software_version
type: string
required: true
product_info_name: # instead of vnf_product_info_name
type: string
required: false
product_info_description: # instead of vnf_product_info_description
type: string
required: false
vnfm_info:
type: list
entry_schema:
type: string
required: true
localization_languages:
type: list
entry_schema:
type: string
required: false
default_localization_language:
type: string
required: false
3
© Nokia 2017
tosca.capabilities.nfv.VnfDeploymentFlavour:
4
© Nokia 2017
tosca.capabilities.nfv.VnfDeploymentFlavour:
derived_from: tosca.capabilities.Root
properties:
flavour_id:
type: string # Identifier
description:
type: string
required: true
vdu_profile:
type: map # key: VDU id
entry_schema:
type: tosca.datatypes.nfv.VduProfile
required: true
vl_profile:
type: map # key: VL id
entry_schema:
type: map # key: VlFlavour id
entry_schema:
type: tosca.datatypes.nfv.VlProfile
required: false
instantiation_levels:
type: map
entry_schema:
type: tosca.datatypes.nfv.InstantiationLevel
required: true
default_instantiation_level_id:
type: string # Identifier
required: true
#supported_operations:
# modeled as operations
lcm_operations_configuration:
type: tosca.datatypes.nfv.VnfLcmOperationsConfiguration
required: false # true in IFA011, but all members are false
#affinity_or_anti_affinity_groups:
# modeled as policies
#monitoring_parameters:
# modeled as ad hoc capabilities in VNF node template
scaling_aspects:
type: map # key: aspectId
entry_schema:
type: tosca.datatypes.nfv.ScalingAspect
required: false
Using enhance substitution_mappings grammar (capabilities)
Service template (VNF): top level

VNF
(abstract)
VNF
req
req
VNFDeploymentFlavour
req
req
req
property
property
interface
interface
req
cap: DF
cap: DF
deployment_flavour
cap: DF
deployment_flavour
(DF = Deployment Flavour)
VNFDeploymentFlavour
#1
req
req
VNFDeploymentFlavour
#xyz
req
req
req
CP1
Note: substitution_mappings gramma enhancement in Simple
YAML v1.2:
Properties in substitution_mappings
In-place capabilities in substitution_mappings
Interfaces in substitution_mappings
Indexed access of requirements in substitution_mappings
req
CP1
req
CP2
cap: DF
CP2
flavour_id:
…
VDU1
req
cap: DF
flavour_id:
…
VDU2
…
…
…
…
VDU3
…
Service template (DF): lower level, only represent DF
Overview: Without enhanced substitution_mappings grammar
..
topology_template:
substitution_mappings:
node_type: tosca.nodes.nfv.VNF
capabilities:
vnf_common: [ header, vnf_common ]
deployment_flavour: [ df, deployment_flavour ]
requirements:
- virtual_link: [ df, virtual_link]
node_templates:
header:
type: tosca.nodes.nfv.VNF.Header
capabilities:
vnf_common:
properties:
descriptor_id: ..
descriptor_version: ..
provider: ..
..
df:
type: tosca.nodes.nfv.VnfDeploymentFlavour
Service template (VNF): top level
6
© Nokia 2017
..
topology_template:
substitution_mappings:
type: tosca.nodes.nfv.VnfDeploymentFlavour
..
capabilities:
deployment_flavour: [ header, deployment_flavour ]
requirements:
- virtual_link: [ ecp, external_virtual_link ]
..
node_templates:
header:
type: tosca.nodes.nfv.VNF.Header
capabilities:
deployment_flavour:
type: tosca.capabilities.nfv.VnfDeploymentFlavour
properties:
flavour_id:
aspects:
..
vdu:
type: tosca.nodes.nfv.VDU.Compute
..
ecp:
type: tosca.nodes.nfv.ECP # external connection point
..
..
Service template (DF): lower level, only represent DF
Using enhance substitution_mappings grammar (properties,
capabilities)
7
© Nokia 2017
Overview: Using enhance substitution_mappings grammar (capabilities) 1/2
VNF
topology template:
substtution_mappings:
type:
tosca.nodes.nfv.VnfDeploymentFlavour
properties:
capabilities:
deployment_flavour
requirements:
virtual_link
DF
tosca.nodes.nfv.VnfDe
ploymentFlavour
req
VL
interfaces
properties
cap:
node templates:
tosca.nodes.nfv.VDU.Compute
tosca.nodes.nfv.VDU.VirtualStorage
tosca.nodes.nfv.VduCpd
tosca.nodes.nfv.VL
tosca.nodes.nfv.ExtCpd
deployment_flavour:
Node Type
Service template
Note: substitution_mappings gramma enhancement in Simple YAML v1.2:
• Properties in substitution_mappings
• In-place capabilities in substitution_mappings
• Interfaces in substitution_mappings
• Indexed access of requirements in substitution_mappings
8
© Nokia 2017
tosca.nodes.nfv.VnfDeploymentFlavour:
derived_from: tosca.nodes.Root
capabilities:
vnf_common:
type: tosca.capabilities.nfv.VNFD
deployment_flavour:
type: tosca.capabilities.nfv.VnfDeploymentFlavour
#monitoring_parameter:
# modeled as ad hoc capabilities in VNF node template
requirements:
- virtual_link:
capability: tosca.capabilities.nfv.VirtualLinkable
relationship: tosca.relationships.nfv.VirtualLinksTo
node: tosca.nodes.nfv.VL
occurrences: [ 0, UNBOUNDED ]
# still under discussion:
#interfaces:
# Basic: # not to collide with Standard on tosca.nodes.Root
#
type: tosca.interfaces.nfv.vnf.lifecycle.Basic
# Healable:
#
type: tosca.interfaces.nfv.vnf.lifecycle.Healable
# Scalable:
#
type: tosca.interfaces.nfv.vnf.lifecycle.Scalable
# Custom:
#
type: tosca.interfaces.nfv.vnf.lifecycle.Custom
Overview: Using enhanced substitution_mappings grammar (capabilities)
2/2
..
..
topology_template:
substitution_mappings:
node_type: tosca.nodes.nfv.VNF
capabilities:
vnf_common:
properties:
descriptor_id: ..
descriptor_version: ..
provider: ..
..
deployment_flavour: [ df, deployment_flavour ]
requirements:
- virtual_link: [ df, virtual_link]
topology_template:
substitution_mappings:
type: tosca.nodes.nfv.VnfDeploymentFlavour
..
capabilities:
deployment_flavour:
properties:
flavour_id:
aspects:
..
requirements:
- virtual_link: [ ecp, external_virtual_link ]
..
node_templates:
df:
type: tosca.nodes.nfv.VnfDeploymentFlavour
node_templates:
vdu:
type: tosca.nodes.nfv.VDU.Compute
..
ecp:
type: tosca.nodes.nfv.ECP # external connection point
..
..
Service template (VNF): top level
9
© Nokia 2017
Service template (DF): lower level, only represent DF