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
#namename:
# type: string
# 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: listmap # explicit index (boot index) not necessary, contrary to IFA011
. In the IM, it entryshoul be a array of KeyValuePair/NameValuePair
entry_schema:
type: string
required: false
nfvi_constraints:
type: list 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 entry_schema:
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: list
tosca.datatypes.nfv.injectFile
entry_schemarequired:
false #Aligned with ONAP R2 IM. it should type:be stringfalse.
meta_data: #metadata required: true
#attributes: NOT DEFINED IN ONAP IM and SOL001
attached to the VM or container
type: map
#privateentry_addressschema:
# status: deprecated
type: string
#public_address:
# statusrequired: deprecatedfalse
#networks:user_data: #cloudinit userdata script support
# statustype: deprecatedstring
#portsrequired: false
#attributes: NOT #DEFINED IN status:ONAP deprecated
IM and capabilities:SOL001
virtual#private_computeaddress:
# typestatus: tosca.capabilities.nfv.VirtualComputedeprecated
virtual#public_bindingaddress:
# type: tosca.capabilities.nfv.VirtualBindablestatus: deprecated
#networks:
# occurrencesstatus: [1, UNBOUND]deprecated
monitoring_parameter#ports:
# typestatus: tosca.capabilities.nfv.Metric deprecated
capabilities:
occurrences: [0,UNBOUND]
requirements:
- 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.
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
type_of_storage:
type: string
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 |
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 ]occurrences: [0,UNBOUND]
requirements:
- requiredvirtual_storage:true
role: #Name in ETSI NFV IFA011 v0.7.3 cpRole
capability: tosca.capabilities.nfv.VirtualStorage
type:string
relationship: tosca.relationships.nfv.Vdu.AttachedTo
constraints:node: tosca.nodes.nfv.VDU.VirtualStorage
- valid_valuesoccurences: [ root0, leafUNBOUNDED ]
required:false
artifacts: description:
type: string
required: false
protocol_data- sw_image:
type: list
file: entry_schema:
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:
.datatype.nfv.CpProtocolData
required#id:true
trunk_mode:
# node name
type_of_storage: boolean
requiredtype: truestring
allowedAddressDataconstraints:
# not defined in IFA011 v2.4.1 and SOL001 v0.6.0
- valid_values: [volume, type: tosca.datatype.nfv.AddressDataobject, root, block]
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:
bitratesize_of_requirementstorage:
type: integerscalar-unit.size
required:false true
vnicName: # not defined in IFA011 v2.4.1 and SOL001 v0.6.0vdu_storage_requirements:
type: Stringmap
required:false
vnicOrder: # not defined inrequired: IFA011 v2.4.1 and SOL001 v0.6.0false
rdma_enabled:
type: integerboolean
required: false
capabilities:
vnicTypevirtual_storage:
# not defined in IFA011 v2.4.1 and SOL001 v0.6.0
type: tosca.capabilities.nfv.VirtualStorage
artifacts:
- sw_image:
typefile: String
constraints:
- valid_values: [normal, macvtap, direct, baremetal, direct-physical, virtio-forwarder]
required:false
virtual_network_interface_requirements:
type: list
entry_schema:
type: VirtualNetworkInterfaceRequirements
required:false
ordertype: 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: integerlist
requiredentry_schema:
false
constraints:
- greatervalid_or_equalvalues: 0
requirements:
[ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ]
- virtual_linkrequired:true
role: #Name in ETSI NFV IFA011 capability: tosca.capabilities.nfv.VirtualLinkablev0.7.3 cpRole
relationship: tosca.relationships.nfv.VirtualLinksTo
type:string
constraints:
node: tosca.nodes.nfv.VnfVirtualLinkDesc - valid_values:
[ root, leaf ]
- virtual_bindingrequired:false
description:
capabilitytype: tosca.capabilities.nfv.VirtualBindablestring
required: false
relationshipprotocol_data: tosca.relationships.nfv.VirtualBindsTo
type: list
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 entry_schema:
type: tosca.nodesdatatypes.nfv.CpCpProtocolData
propertiesrequired:true
virtual_network_interface_requirementstrunk_mode:
type: listboolean
required: true
entryallowed_address_schema:
type: tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements
data: # Aligned with ONAP R2 Im.not defined in IFA011 v2.4.1 and SOL001 v0.6.0. required: false
requirements:
- external_virtual_link:
capability: tosca.capabilities.nfv.VirtualLinkable
relationshiptype: tosca.relationshipsdatatypes.nfv.VirtualLinksTo
AddressData # In the IM, it node: tosca.nodes.nfv.VnfVirtualLink
- internal_virtual_link: #name in ETSI NFV IFA011 v0.7.3 intVirtualLinkDescis a array, but here it is not a array. TBD.
capabilityrequired: false |
Code Block |
---|
| capabilitiesnodes.nfv.VduCp | linenumbers | true |
---|
collapse | true |
---|
| tosca.nodesVirtualLinkable
relationship: tosca.relationships.nfv.VirtualLinksToVduCp:
nodederived_from: tosca.nodes.nfv.VnfVirtualLinkCp
properties:
occurrences: [ 0, 1 ] # 0 if re-exposing a VduCp
bitrate_requirement:
type: integer
required:false
vnic_name: # Aligned with ONAP R2 #Im.not 1defined ifin connecting to an internal VL | Code Block |
---|
language | xml |
---|
title | tosca.nodes.nfv.VnfVirtualLink |
---|
linenumbers | true |
---|
collapse | true |
---|
| tosca.nodes.nfv.VnfVirtualLink:
derived_from: tosca.nodes.Root
properties:IFA011 v2.4.1 and SOL001 v0.6.0.
type: string
required:false
connectivityvnic_type:
type: tosca.datatypes.nfv.ConnectivityTypeorder: # Aligned with ONAP R2 Im. not defined in IFA011 v2.4.1 and SOL001 v0.6.0.
requiredtype: trueinteger
descriptionrequired:false
vnic_type: # type:Aligned string
with ONAP R2 Im. not defined required:in false
test_access:IFA011 v2.4.1 and SOL001 v0.6.0
type: liststring
constraints:
entry_schema:
- typevalid_values: string
required: false
[normal, macvtap, direct, baremetal, direct-physical, virtio-forwarder]
vl_profilerequired:false
type: tosca.datatypes.nfv.VlProfilevirtual_network_interface_requirements:
requiredtype: truelist
capabilities:
monitoringentry_parameterschema:
type: tosca.capabilities.nfv.MetricVirtualNetworkInterfaceRequirements
occurrences: [0,UNBOUND]required:false
# virtual_linkableorder:
#there type: tosca.capabilities.nfv.VirtualLinkableis no this attribute in IM.
# type: integer
# required: false
# constraints:
# - greater_or_equal: 0
requirements:
- virtual_link:
capability: tosca.capabilities.nfv.VirtualLinkable
relationship: tosca.relationships.nfv.VirtualLinksTo
node: tosca.nodes.nfv.VnfVirtualLink
- virtual_binding:
capability: tosca.capabilities.nfv.VirtualBindable
relationship: tosca.relationships.nfv.VirtualBindsTo
node: 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:
| Code Block |
---|
language | xml |
---|
title | tosca.nodes.nfv.VDU.Composition |
---|
linenumbers | true |
---|
collapse | true |
---|
| # this node type is no long valid or applicable
# for now, the entire node definition is mark-off.
# Agree TO BE REMOVED, we have not agreed VDUcomposition in ONAP IM, It is not defined in SOL001, same properties and capabilities defined # in VDU.COMPUTE
# tosca.nodes.nfv.VDU.Composition:
# derived_from: tosca.nodes.root
# properties:
# name:
# type: string
# required: true
# description:
# type: string
# required: true
# boot_order:
# type: list
# entry_schema:
# type: string
# required: false
# nfvi_constraints:
# type: list
#tosca.datatypes.nfv.ConnectivityType
entry_schemarequired: true
# description:
type: string
# required: false
# configurabletest_propertiesaccess:
# type: maplist
# entry_schema:
# type: tosca.datatypes.nfv.VnfcConfigurableProperties
# string
required: true
# capabilities:
#false
virtualvl_computeprofile:
# type: tosca.capabilitiesdatatypes.nfv.VirtualComputeVlProfile
# virtual_storage:
# type: tosca.capabilities.nfv.VirtualStorage
# occurrences: [0,UNBOUNDED]
# requirements:
# required: true
capabilities:
- virtualmonitoring_linkparameter:
# # this is not a very capability: tosca.capabilities.nfv.VirtualLinkable
# relationship: tosca.relationships.nfv.VirtualLinksTo
# clear data structure enough to be coded, suggest to be annotated.
nodetype: tosca.nodescapabilities.nfv.VnfVirtualLinkDescMetric
occurrences:
# [0,UNBOUND]
virtual_linkable:
occurrencestype: [1,UNBOUNDED] 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: truefalse # 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 |
|