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.capabilities.nfv.Metric # this is not a very clear data structure enough to be coded, suggest to be annotated.
occurrences: type: tosca.artifacts.nfv.SwImage | Code Block |
---|
language | xml |
---|
title | tosca.nodes.nfv.VDU.VirtualStorage |
---|
linenumbers | true |
---|
collapse | true |
---|
| tosca.nodes[0,UNBOUND]
requirements:
- virtual_storage:
capability: tosca.capabilities.nfv.VirtualStorage
relationship: tosca.relationships.nfv.Vdu.VirtualStorage: AttachedTo
derived_from: node: tosca.nodes.nfv.VDU.RootVirtualStorage
properties:
#id:
# node name
occurences: [ 0, UNBOUNDED ]
artifacts:
- typesw_of_storageimage:
type: string
file: constraints:
type: tosca.artifacts.nfv.SwImage |
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 - valid_values: [volume, object]
required: true
sizetype_of_storage:
type: scalar-unit.sizestring
requiredconstraints: true
vdu_storage_requirements:
- type: mapvalid_values: [volume, object, root, block]
required: true false
rdmasize_of_enabledstorage:
type: booleanscalar-unit.size
required: falsetrue
capabilities:
virtualvdu_storage_requirements:
type: tosca.capabilities.nfv.VirtualStorage
artifacts: map
required: false
- swrdma_imageenabled:
type: boolean
file: required: false
capabilities:
virtual_storage:
type: tosca.artifacts.Deployment.Image | Code Block |
---|
language | xml |
---|
title | tosca.nodes.nfv.Cp |
---|
linenumbers | true |
---|
collapse | true |
---|
| tosca.nodes.nfv.Cp:
derived_from: tosca.nodes.Root
propertiescapabilities.nfv.VirtualStorage
artifacts:
- sw_image:
layer_protocol:
file: type:list
entry_schema:
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. 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 |
|