this is the DM agreed to R2 and maintenance release page version 35.
the final R3 DM is still under discussion.
any change to this page done by someone other then Victor Gao or Michael Lando will be reverted thank you.
Panel |
---|
borderStyle | solid |
---|
title | Node Types |
---|
|
Code Block |
---|
language | xml |
---|
title | tosca.nodes.nfv.VDU.Compute |
---|
linenumbers | true |
---|
collapse | true |
---|
| tosca.nodes.nfv.Vdu.Compute:
derived_from: tosca.nodes.Root
properties:
#id:
# node name
name: # align with the IM, please refer to https://wiki.onap.org/display/DW/Design+Time+Model+Clean+Version#DesignTimeModelCleanVersion-Class:VDU/VDUDesc
type: string
required: true
description:
type: string
required: true
boot_order:
type: map # explicit index (boot index) not necessary, contrary to IFA011. In the IM, it shoul be a array of KeyValuePair/NameValuePair
entry_schema:
type: string
required: false
nfvi_constraints:
type: map # Align with IM, it shoul be a array of KeyValuePair/NameValuePair
entry_schema:
type: string
required: false
configurable_properties:
type: map #In the IM, the multipilicity of VnfcConfigurableProperties is 1, not a map.
entry_schema:
type: tosca.datatypes.nfv.VnfcConfigurableProperties
required: true
vdu_profile:
type: tosca.datatypes.nfv.VduProfile
required: true
inject_files: #Aligned# Used for vCPE usecase Aligned with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v0.6.0.
type: list tosca.datatypes.nfv.injectFile
entry_schemarequired:
false #Aligned with ONAP R2 IM. it should type: stringbe false.
#injectmeta_filesdata: is not enough, suggest#metadata attached to bethe aVM structure.or TBD.container
requiredtype: falsemap
#Aligned with ONAP R2 IM. it should be false.
#attributes: NOT DEFINED IN ONAP IM and SOL001
#private_address:
# status: deprecated entry_schema:
type: string
required: false
#publicuser_addressdata:
#cloudinit userdata script #support
status: deprecated
type: #networks:string
# statusrequired: deprecatedfalse
#ports#attributes: NOT DEFINED IN ONAP IM and SOL001
#private_address:
# status: deprecated
capabilities:
virtual#public_computeaddress:
# typestatus: tosca.capabilities.nfv.VirtualComputedeprecated
virtual_binding#networks:
# typestatus: tosca.capabilities.nfv.VirtualBindabledeprecated
#ports:
occurrences: [1, UNBOUND]
monitoring_parameter: # status: deprecated
capabilities:
virtual_compute:
type: tosca.capabilities.nfv.MetricVirtualCompute
# this is not a very clear data structure enough to be coded, suggest to be annotated.virtual_binding:
type: tosca.capabilities.nfv.VirtualBindable
occurrences: [01, UNBOUND]
requirementsmonitoring_parameter:
- virtual_storage:
capabilitytype: tosca.capabilities.nfv.VirtualStorage
Metric # this is not a very clear relationship: tosca.relationships.nfv.Vdu.AttachedTo
node: tosca.nodes.nfv.VDU.VirtualStoragedata structure enough to be coded, suggest to be annotated.
occurrences: occurences: [ 0, UNBOUNDED UNBOUND]
artifactsrequirements:
- swvirtual_imagestorage:
filecapability: tosca.capabilities.nfv.VirtualStorage
typerelationship: tosca.artifactsrelationships.nfv.SwImage | Code Block |
---|
|
language | xml |
---|
title | .Vdu.AttachedTo
node: tosca.nodes.nfv.VDU.VirtualStorage | linenumbers | true |
---|
collapse | true |
---|
tosca.nodes.nfv.Vdu.VirtualStorage:
derived_from: tosca.nodes.Root
properties:
#id:
occurences: [ 0, UNBOUNDED ]
artifacts: #
node name
- type_of_storagesw_image:
type file: string
type: tosca.artifacts.nfv.SwImage |
Code Block |
---|
language | xml |
---|
title | tosca.nodes.nfv.VDU.VirtualStorage |
---|
linenumbers | true |
---|
collapse | true |
---|
| tosca.nodes.nfv.Vdu.VirtualStorage: constraints:
derived_from: tosca.nodes.Root
properties:
#id:
# node name
type_of_storage:
type: string
constraints:
- valid_values: [volume, object, root, block]
required: true
size_of_storage:
type: scalar-unit.size
required: true
vdu_storage_requirements:
type: map
required: false
rdma_enabled:
type: boolean
required: false
capabilities:
virtual_storage:
type: tosca.capabilities.nfv.VirtualStorage
artifacts:
- sw_image:
file:
type: tosca.artifacts.Deployment.Image
#interfaces: # not needed for virtualstroage. it doesn't support cloudinit.
# cloudinit:
# type:tosca.interfaces.nfv.vdu.cloudinit |
Code Block |
---|
language | xml |
---|
title | tosca.nodes.nfv.Cp |
---|
linenumbers | true |
---|
collapse | true |
---|
| tosca.nodes.nfv.Cp:
derived_from: tosca.nodes.Root
properties:
layer_protocol:
type:list
entry_schema:
constraints:
- valid_values: [ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ]
required:true
role: #Name in ETSI NFV IFA011 v0.7.3 cpRole
type:string
constraints:
- valid_values: [ root, leaf ]
required:false
description:
type: string
required: false
protocol_data:
type: list
entry_schema:
type: tosca.datatypes.nfv.CpProtocolData
required:true
trunk_mode:
type: boolean
required: true
allowed_address_data: # Aligned with ONAP R2 Im.not defined in IFA011 v2.4.1 and SOL001 v0.6.0. :
derived_from: tosca.nodes.Root
properties:
layer_protocol:
type:list
entry_schema:
constraints:
type: tosca.datatypes.nfv.AddressData # In the IM, it is a array, but here it is not a array. TBD.- valid_values: [ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ]
required: false | Code Block |
---|
language | xml |
---|
title | tosca.nodes.nfv.VduCp |
---|
linenumbers | true |
---|
collapse | true |
---|
| tosca.nodes.nfv.VduCp:
derived_from: tosca.nodes.nfv.Cp
properties:
bitrate_requirement:
true
role: #Name in ETSI NFV IFA011 v0.7.3 cpRole
type:string
constraints:
- typevalid_values: integer [ root, leaf ]
required:false
vnic_namedescription:
# Alignedtype: withstring
ONAP R2 Im.not defined in IFA011 v2.4.1 and SOL001 v0.6.0. required: false
protocol_data:
type: stringlist
requiredentry_schema:false
vnic_order: # Aligned with ONAP R2 Im. not defined in IFA011 v2.4.1 and SOL001 v0.6.0. type: tosca.datatypes.nfv.CpProtocolData
required:true
trunk_mode:
type: integerboolean
required:false true
vnicallowed_address_typedata: # Aligned with ONAP R2 Im. not defined in IFA011 v2.4.1 and SOL001 v0.6.0
type: string
constraints:
and SOL001 v0.6.0. - valid_values: [normal, macvtap, direct, baremetal, direct-physical, virtio-forwarder]
required:false
virtual_network_interface_requirements:
type: list
entry_schema:
type: VirtualNetworkInterfaceRequirementstosca.datatypes.nfv.AddressData # In the IM, it is a array, but here it is not a array. TBD.
required: false |
Code Block |
---|
language | xml |
---|
title | tosca.nodes.nfv.VduCp |
---|
linenumbers | true |
---|
collapse | true |
---|
| tosca.nodes.nfv.VduCp:
derived_from: tosca.nodes.nfv.Cp
properties:
bitrate_requirement:
false
# order: #there is no this attribute in IM.
# type: integer
# required: false
# constraints:
# - greater_or_equal: 0
requirements:
- virtual_link:
vnic_name: # Aligned with ONAP R2 Im.not defined in IFA011 v2.4.1 and SOL001 v0.6.0.
capabilitytype: tosca.capabilities.nfv.VirtualLinkablestring
required:false
relationship: tosca.relationships.nfv.VirtualLinksTo
node: tosca.nodes.nfv.VnfVirtualLink vnic_order: # Aligned with ONAP R2 Im. not defined in IFA011 v2.4.1 and SOL001 v0.6.0.
type: integer
- virtual_binding:
required:false
vnic_type: # capability: tosca.capabilities.nfv.VirtualBindable
relationship: tosca.relationships.nfv.VirtualBindsToAligned with ONAP R2 Im. not defined in IFA011 v2.4.1 and SOL001 v0.6.0
node: tosca.nodes.nfv.Vdu.Compute | Code Block |
---|
language | xml |
---|
title | tosca.nodes.nfv.VnfExtCp |
---|
linenumbers | true |
---|
collapse | true |
---|
| tosca.nodes.nfv.VnfExtCp:
derived_from: tosca.nodes.nfv.Cp
properties:type: string
constraints:
- valid_values: [normal, macvtap, direct, baremetal, direct-physical, virtio-forwarder]
required:false
virtual_network_interface_requirements:
type: list
entry_schema:
type: tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements
required: false
# requirements:order: #there is no this attribute in IM.
# - external_virtual_link:type: integer
# required: capability: tosca.capabilities.nfv.VirtualLinkable
false
# constraints:
# - relationshipgreater_or_equal: tosca.relationships.nfv.VirtualLinksTo0
noderequirements: tosca.nodes.nfv.VnfVirtualLink
- internal_virtual_link:
#name in ETSI NFV IFA011 v0.7.3 intVirtualLinkDesc
capability: tosca.capabilities.nfv.VirtualLinkable
relationship: tosca.relationships.nfv.VirtualLinksTo
node: tosca.nodes.nfv.VnfVirtualLink
occurrences:
[ 0, 1 ] # 0 if re-exposing a VduCp virtual_binding:
capability: tosca.capabilities.nfv.VirtualBindable
relationship: tosca.relationships.nfv.VirtualBindsTo
# 1 if connecting to an internal VLnode: tosca.nodes.nfv.Vdu.Compute |
Code Block |
---|
language | xml |
---|
title | tosca.nodes.nfv.VnfVirtualLink |
---|
linenumbers | true |
---|
collapse | true |
---|
| tosca.nodes.nfv.VnfVirtualLink:
derived_from: tosca.nodes.Root
properties:
connectivity_type:
type: tosca.datatypes.nfv.ConnectivityType
required: true
description:
type: string
required: false
test_access:
type: list
entry_schema:
type: string
required: false
vl_profile:
type: tosca.datatypes.nfv.VlProfile
required: true
capabilities:
monitoring_parameter: # this is not a very clear data structure enough to be coded, suggest to be annotated.
type: tosca.capabilities.nfv.Metric
occurrences: [0,UNBOUND]
virtual_linkable:
type: tosca.capabilities.nfv.VirtualLinkable |
Code Block |
---|
firstline | 1 |
---|
title | tosca.nodes.nfv.VNF |
---|
linenumbers | true |
---|
collapse | true |
---|
| tosca.nodes.nfv.VNF:
derived_from: tosca.nodes.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
configurable_properties:
type: tosca.datatypes.nfv.VnfConfigurableProperties
required: false
modifiable_attributes:
type: tosca.datatypes.nfv.VnfInfoModifiableAttributes
required: false # true in IFA011, but all of members are false. Align with the IM, it is false
flavour_id:
type: string
required: true
flavour_description:
type: string
required: true
capabilities:
# monitoring_parameter:
# modelled as ad hoc capabilities in the VNF node template
requirements:
- virtual_link:
capability: tosca.capabilities.nfv.VirtualLinkable
relationship: tosca.relationships.nfv.VirtualLinksTo
node: tosca.nodes.nfv.VnfVirtualLink
occurrences: [ 0, UNBOUNDED ]
interfaces:
Nfv:
type: tosca.interfaces.nfv.vnf.lifecycle.Nfv |
|