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: #Aligned # Used for vCPE usecase Aligned with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v0.6.0.
type: listtosca.datatypes.nfv.injectFile
entry_schemarequired:
false #Aligned with ONAP R2 IM. it should type:be stringfalse.
meta_data: #metadata attached to the VM required:or truecontainer
#attributes: NOT DEFINED INtype: ONAPmap
IM and SOL001
#privateentry_addressschema:
# statustype: deprecatedstring
#public_address: required: false
user_data: #cloudinit userdata script support
# statustype: deprecatedstring
#networksrequired: false
#attributes: NOT DEFINED IN #ONAP IM status:and deprecatedSOL001
#ports#private_address:
# status: deprecated
capabilities:
virtual#public_computeaddress:
# typestatus: tosca.capabilities.nfv.VirtualComputedeprecated
virtual_binding#networks:
# type: tosca.capabilities.nfv.VirtualBindablestatus: deprecated
#ports:
# occurrencesstatus: deprecated
[1, UNBOUND] capabilities:
monitoringvirtual_parametercompute:
type: tosca.capabilities.nfv.MetricVirtualCompute
virtual_binding:
occurrencestype: [0,UNBOUND]
requirements:
tosca.capabilities.nfv.VirtualBindable
occurrences: - virtual_storage:[1, UNBOUND]
monitoring_parameter: capability: tosca.capabilities.nfv.VirtualStorage
relationshiptype: tosca.relationshipscapabilities.nfv.Vdu.AttachedTo
Metric # this is not a very clear node: tosca.nodes.nfv.VDU.VirtualStoragedata structure enough to be coded, suggest to be annotated.
occurencesoccurrences: [ 0, UNBOUNDED UNBOUND]
artifactsrequirements:
- swvirtual_imagestorage:
file:capability: 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:
# node name
type_of_storage:
type: string
required: true
occurences: [ 0, UNBOUNDED ]
artifacts:
- sw_image:
file:
size_of_storage:
type: scalar-unit.size
required: true
vdu_storage_requirements:
type: map
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:
# required:node falsename
rdmatype_of_enabledstorage:
type: booleanstring
requiredconstraints: false
capabilities:
virtual_storage:
- type: tosca.capabilities.nfv.VirtualStorage
artifacts:
valid_values: [volume, object, root, block]
- sw_imagerequired:
true
file: size_of_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 scalar-unit.size
required: true
propertiesvdu_storage_requirements:
layer_protocol: type: map
typerequired:list false
entryrdma_schemaenabled:
type: constraints:boolean
required: false
- valid_values: [ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ]capabilities:
virtual_storage:
requiredtype:true
role: #Name in ETSI NFV IFA011 v0.7.3 cpRole
type:string tosca.capabilities.nfv.VirtualStorage
artifacts:
- constraintssw_image:
- valid_valuesfile: [ root, leaf ]
required:false
description:
type: string
required: false
protocol_data:
type: list
entry_schema:
tosca.artifacts.Deployment.Image
#interfaces: # not needed for virtualstroage. it doesn't support cloudinit.
# cloudinit:
# type: tosca.datatypeinterfaces.nfv.CpProtocolData
required:true
trunk_mode:
type: boolean
required: true
allowedAddressData: # Aligned with ONAP R2 Im.not defined in IFA011 v2.4.1 and SOL001 v0.6.0
type: tosca.datatype.nfv.AddressData
required: false | Code Block |
---|
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 | language | xml |
---|
title | tosca.nodes.nfv.VduCp |
---|
linenumbers | true |
---|
collapse | true |
---|
| tosca.nodes.nfv.VduCp:
derived_from: tosca.nodes.nfv.Cp
properties:
bitrate_requirement:
type: integer
required:false
vnicName: # Aligned with ONAP R2 Im.not defined in IFA011 v2.4.1 and SOL001 v0.6.0
type: String
required:false
vnicOrder: # Aligned with ONAP R2 Im. not defined in IFA011 v2.4.1 and SOL001 v0.6.0
type: integer
required:false
vnicType: # 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]
required:false
virtual_network_interface_requirements:
type: list
entry_schema:
type: VirtualNetworkInterfaceRequirements
required:false
order:
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 |
|