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: # Used for vCPE usecase Aligned with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v0.6.0.
type: tosca.datatypes.nfv.injectFile
required: false #Aligned with ONAP R2 IM. it should be false.
#attributes meta_data: NOT#metadata DEFINEDattached INto ONAPthe IMVM andor SOL001container
#private_address:
type: #map
status: deprecated
#publicentry_addressschema:
# status: deprecated
type: string
#networks:
# statusrequired: deprecatedfalse
#portsuser_data:
#cloudinit userdata # status: deprecatedscript support
capabilities:
virtual_computetype: string
typerequired: tosca.capabilities.nfv.VirtualCompute
virtual_binding:
false
#attributes: NOT DEFINED IN ONAP IM and SOL001
type: tosca.capabilities.nfv.VirtualBindable#private_address:
# occurrencesstatus: [1, UNBOUND]deprecated
monitoring#public_parameteraddress:
#
status: deprecated
type#networks:
tosca.capabilities.nfv.Metric # this is# not astatus: verydeprecated
clear data structure enough to be coded, suggest to be annotated. #ports:
# occurrencesstatus: [0,UNBOUND]deprecated
requirementscapabilities:
- virtual_storagecompute:
capabilitytype: tosca.capabilities.nfv.VirtualStorageVirtualCompute
relationship: tosca.relationships.nfv.Vdu.AttachedTovirtual_binding:
nodetype: tosca.nodescapabilities.nfv.VDU.VirtualStorageVirtualBindable
occurencesoccurrences: [ 01, UNBOUNDED UNBOUND]
artifacts:
- sw_image:
monitoring_parameter: file:
type: tosca.artifacts.nfv.SwImage
interfaces:
cloudinit:
type:tosca.interfaces.nfv.vdu.cloudinit | Code Block |
---|
language | xml |
---|
title | tosca.nodes.nfv.VDU.VirtualStorage |
---|
linenumbers | true |
---|
collapse | true |
---|
| tosca.nodes.nfv.Vdu.VirtualStorage:
derived_from: tosca.nodes.Root
properties:
#id:
# node name
type_of_storage:
type: string
constraints:
- valid_values: [volume, object]
required: true
size_of_storage:
type: scalar-unit.size
required: true
vdu_storage_requirements: capabilities.nfv.Metric # this is not a very clear data structure enough to be coded, suggest to be annotated.
typeoccurrences: map[0,UNBOUND]
requiredrequirements:
false
- rdmavirtual_enabledstorage:
typecapability: boolean
tosca.capabilities.nfv.VirtualStorage
requiredrelationship: false
tosca.relationships.nfv.Vdu.AttachedTo
capabilities:
virtual_storage:node: tosca.nodes.nfv.VDU.VirtualStorage
type occurences: tosca.capabilities.nfv.VirtualStorage [ 0, UNBOUNDED ]
artifacts:
- sw_image:
file:
type: tosca.artifacts.Deployment.Image
interfaces:
cloudinit:
type:tosca.interfaces.nfv.vdu.cloudinitSwImage |
Code Block |
---|
language | xml |
---|
title | tosca.nodes.nfv.VDU.CpVirtualStorage |
---|
linenumbers | true |
---|
collapse | true |
---|
| tosca.nodes.nfv.Vdu.CpVirtualStorage:
derived_from: tosca.nodes.Root
properties:
properties:#id:
# node name
layertype_of_protocolstorage:
type:list
entry_schema:
string
constraints:
- valid_values: [ethernetvolume, mplsobject, odu2root, ipv4, ipv6, pseudo_wire block]
required: true
role: #Name in ETSI NFV IFA011 v0.7.3 cpRolesize_of_storage:
type:string scalar-unit.size
constraintsrequired: true
vdu_storage_requirements:
- valid_values: [ root, leaftype: ]map
required: false
descriptionrdma_enabled:
type: stringboolean
required: false
capabilities:
protocolvirtual_datastorage:
type: tosca.capabilities.nfv.VirtualStorage
artifacts: type: list
- entrysw_schemaimage:
typefile: tosca.datatypes.nfv.CpProtocolData
required:true
trunk_mode:
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:
boolean
required: true
allowed_address_data: # Aligned with ONAP R2 Im.not defined in IFA011 v2.4.1 and SOL001 v0.6.0. 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 |
|