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
#ports:user_data: #cloudinit userdata script support
# statustype: deprecatedstring
capabilities:
virtual_computerequired: false
#attributes: NOT DEFINED IN ONAP IM type: tosca.capabilities.nfv.VirtualComputeand SOL001
virtual#private_bindingaddress:
# typestatus: tosca.capabilities.nfv.VirtualBindabledeprecated
occurrences: [1, UNBOUND]
monitoring_parameter: #public_address:
# status: deprecated
#networks:
# typestatus: tosca.capabilities.nfv.Metric # this is not a very clear data structure enough to be coded, suggest to be annotated.deprecated
#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:
monitoring_parameter: - sw_image:
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 |
---|
| type: tosca.capabilities.nfv.Metric # this is not a very clear data structure enough to be coded, suggest to be annotated.
occurrences: [0,UNBOUND]
requirements:
- virtual_storage:
capability: tosca.capabilities.nfv.VirtualStorage
relationship: tosca.relationships.nfv.Vdu.AttachedTo
node: tosca.nodes.nfv.VduVDU.VirtualStorage:
derived_from: tosca.nodes.Root
propertiesoccurences:
[ 0, UNBOUNDED #id:]
artifacts: #
node name
- type_of_storagesw_image:
type: string
file: constraints:
- valid_values: [volume, object]
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.Deploymentnfv.ImageSwImage |
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:
layer_protocol:
# node name
type_of_storage:list
entry_schematype: string
constraints:
- valid_values: [ethernet, mpls, odu2volume, ipv4object, ipv6root, 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: list
tosca.capabilities.nfv.VirtualStorage
artifacts:
- entry_schema:sw_image:
file:
type: tosca.datatypesartifacts.nfvDeployment.CpProtocolDataImage
#interfaces: # not needed for required:true
trunk_mode:
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: 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.
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 - valid_values: [ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ]
required:true
role: #Name in ETSI NFV IFA011 v0.7.3 cpRole
type:string
constraints:
type: integer - valid_values: [ root, leaf ]
required:false
vnic_name: #description:
Aligned withtype: ONAPstring
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:
- valid_values: [normal, macvtap, direct, baremetal, direct-physical, virtio-forwarder]
.6.0. required:false
virtual_network_interface_requirements:
type: list
entry_schematype:
tosca.datatypes.nfv.AddressData # In the type: VirtualNetworkInterfaceRequirements
required:false
# order: IM, it is a array, but here it is not a array. TBD.
#there 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:is no this attribute in IM.
# type: integer
# requiredtype: falseinteger
# constraintsrequired:false
# - 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
relationshipvnic_order: tosca.relationships.nfv.VirtualLinksTo
node: tosca.nodes.nfv.VnfVirtualLink
- virtual_binding: # Aligned with ONAP R2 Im. not defined in IFA011 v2.4.1 and SOL001 v0.6.0.
type: integer
required:false
vnic_type: # Aligned with ONAP R2 capability: tosca.capabilities.nfv.VirtualBindable
relationship: tosca.relationships.nfv.VirtualBindsToIm. 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 - external_virtual_link:
no this attribute in IM.
# capabilitytype: tosca.capabilities.nfv.VirtualLinkableinteger
# required: relationship: tosca.relationships.nfv.VirtualLinksTo
false
# constraints:
# - nodegreater_or_equal: tosca.nodes.nfv.VnfVirtualLink
0
requirements:
- 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
VnfVirtualLink
- 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 |
|