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.VDUVdu.Compute:
derived_from: tosca.nodes.ComputeRoot
properties:
#id:
# node name
name:
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 shoul 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 multipilicity of VnfcConfigurableProperties is 1, not a map.
entry_schema:
type: tosca.datatypes.nfv.VnfcConfigurableProperties
required: true true
injectvdu_filesprofile:
type: list
entry_schema:
type: stringtosca.datatypes.nfv.VduProfile
required: true
#attributes: NOT DEFINED IN ONAP IM and SOL001
#private_address:
# status: deprecated
#public_address:
# status: deprecated
#networks:
# status: deprecated
#ports:
# status: deprecated
capabilities:
virtual_compute: 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.
meta_data: #metadata attached to the VM or container
type: map
type: tosca.capabilities.nfv.VirtualCompute
virtual_binding:
entry_schema:
type: tosca.capabilities.nfv.VirtualBindable
string
occurrencesrequired: [1, UNBOUND]false
monitoringuser_parameter: data: #cloudinit userdata script support
type: tosca.capabilities.nfv.Metric string
occurrencesrequired: [0,UNBOUND]
false
requirements:#attributes: NOT DEFINED IN ONAP IM and SOL001
- virtual#private_storageaddress:
# status: deprecated
capability: tosca.capabilities.nfv.VirtualStorage
#public_address:
# relationshipstatus: tosca.relationships.nfv.VDU.AttachedTodeprecated
#networks:
# nodestatus: tosca.nodes.nfv.VDU.VirtualStoragedeprecated
#ports:
occurences:# [ 0, UNBOUNDED ]status: deprecated
artifactscapabilities:
- swvirtual_imagecompute:
type: file:
tosca.capabilities.nfv.VirtualCompute
virtual_binding:
type: tosca.artifactscapabilities.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:VirtualBindable
occurrences: [1, UNBOUND]
monitoring_parameter: # node name
type_of_storage:
type: string
required: true : tosca.capabilities.nfv.Metric # this is not a very clear data structure enough to be coded, suggest to be annotated.
size_of_storage:
occurrences: [0,UNBOUND]
requirements:
- typevirtual_storage: scalar-unit.size
requiredcapability: truetosca.capabilities.nfv.VirtualStorage
#vduStorageRequirements:
# typerelationship: maptosca.relationships.nfv.Vdu.AttachedTo
# entrySchema:
#node: tosca.nodes.nfv.VDU.VirtualStorage
type: TBD, missing in ONAPoccurences: IM
[ 0, UNBOUNDED #]
requiredartifacts: false
rdma_enabled:
- type: booleansw_image:
required: false
capabilitiesfile:
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.CpVdu.VirtualStorage:
derived_from: tosca.nodes.Root
properties:
properties:#id:
# node name
layertype_of_protocolstorage:
type: string
constraints:
- valid_values: [ethernetvolume, mplsobject, odu2root, ipv4, ipv6, pseudo_wire block]
required: true
rolesize_of_storage:
#Name in ETSI NFV IFA011 v0.7.3 cpRole type: scalar-unit.size
typerequired:string true
constraints:vdu_storage_requirements:
- valid_values: [ root, leaf ]type: map
required: false
descriptionrdma_enabled:
type: stringboolean
required: false
capabilities:
protocol virtual_datastorage:
type: listtosca.capabilities.nfv.VirtualStorage
artifacts:
entry- sw_schemaimage:
typefile: tosca.datatype.nfv.CpProtocolData
required:true
allowedAddressData:
type: tosca.datatypeartifacts.nfvDeployment.AddressDataImage
#interfaces: # not needed for virtualstroage. it required: falsedoesn't support cloudinit.
# cloudinit:
# type:tosca.interfaces.nfv.vdu.cloudinit |
Code Block |
---|
Code Block |
---|
language | xml |
---|
title | tosca.nodes.nfv.VduCpCp |
---|
linenumbers | true |
---|
collapse | true |
---|
| tosca.nodes.nfv.VduCp:
derived_from: tosca.nodes.nfv.Cp
properties:
bitrate_requirement:
type: integertosca.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
vnicNamedescription:
type: Stringstring
required: false
vnicOrderprotocol_data:
type: integerlist
requiredentry_schema:false
vnicType:
type: String
tosca.datatypes.nfv.CpProtocolData
constraints:
required:true
- valid_values: [normal, macvtap, direct, baremetal, direct-physical, virtio-forwarder]trunk_mode:
type: boolean
required:false true
virtualallowed_network_interface_requirements:
address_data: # Aligned with ONAP R2 Im.not defined in IFA011 v2.4.1 and SOL001 v0.6.0. type: list
entry_schema:
type: VirtualNetworkInterfaceRequirements
required:false
type: tosca.datatypes.nfv.AddressData # In requirements:
the IM, it is a array, but here - virtual_link:
it is not a array. TBD.
capabilityrequired: false |
Code Block |
---|
language | xml |
---|
title | tosca.nodes.nfv.VduCp |
---|
linenumbers | true |
---|
collapse | true |
---|
| tosca.capabilitiesnodes.nfv.VirtualLinkableVduCp:
relationshipderived_from: tosca.relationshipsnodes.nfv.VirtualLinksTo
Cp
properties:
bitrate_requirement:
nodetype: tosca.nodes.nfv.VnfVirtualLinkDescinteger
required:false
vnic_name: # - virtual_binding:
Aligned with ONAP R2 Im.not defined in IFA011 v2.4.1 and capability:SOL001 toscav0.capabilities6.nfv0.VirtualBindable
type: string
relationship: tosca.relationships.nfv.VirtualBindsTorequired:false
vnic_order: # Aligned with ONAP R2 node: tosca.nodes.nfv.VDU | Code Block |
---|
language | xml |
---|
title | tosca.nodes.nfv.VnfExtCp |
---|
linenumbers | true |
---|
collapse | true |
---|
| tosca.nodes.nfv.VnfExtCp:
derived_from: tosca.nodes.nfv.Cp
properties:
virtual_network_interface_requirements:Im. not defined in IFA011 v2.4.1 and SOL001 v0.6.0.
type: integer
typerequired:false
list
vnic_type: # entry_schema:
type: tosca.datatypes.nfv.VirtualNetworkInterfaceRequirementsAligned with ONAP R2 Im. not defined in IFA011 v2.4.1 and SOL001 v0.6.0
requiredtype: falsestring
requirementsconstraints:
- external_virtual_link:
capability: tosca.capabilities.nfv.VirtualLinkable
relationship: tosca.relationships.nfv.VirtualLinksTo
node: tosca.nodes.nfv.VL
- internal_virtual_link: #name in ETSI NFV IFA011 v0.7.3 intVirtualLinkDesc- valid_values: [normal, macvtap, direct, baremetal, direct-physical, virtio-forwarder]
required:false
virtual_network_interface_requirements:
type: list
entry_schema:
capabilitytype: tosca.capabilities.nfv.VirtualLinkableVirtualNetworkInterfaceRequirements
required:false
relationship: tosca.relationships.nfv.VirtualLinksTo
# order: #there is no this attribute node: tosca.nodes.nfv.VLin IM.
# occurrencestype: [integer
0, 1 ] # 0 if re-exposing a VduCp
# 1 if 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:
connectivity_typerequired: false
# constraints:
# - greater_or_equal: 0
requirements:
- virtual_link:
type capability: tosca.datatypescapabilities.nfv.ConnectivityTypeVirtualLinkable
requiredrelationship: truetosca.relationships.nfv.VirtualLinksTo
description:
type: string
node: tosca.nodes.nfv.VnfVirtualLink
required: false
test- virtual_accessbinding:
type: list
entry_schema:
capability: tosca.capabilities.nfv.VirtualBindable
type: string
requiredrelationship: falsetosca.relationships.nfv.VirtualBindsTo
vl_profile:
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
propertiestype: tosca.datatypes.nfv.VlProfile
required: true
capabilities:
monitoringconnectivity_parametertype:
type: tosca.capabilitiesdatatypes.nfv.MetricConnectivityType
occurrencesrequired: [0,UNBOUND]true
virtual_linkabledescription:
type: tosca.capabilities.nfv.VirtualLinkable | Code Block |
---|
language | xml |
---|
title | tosca.nodes.nfv.VDU.Composition |
---|
linenumbers | true |
---|
collapse | true |
---|
| tosca.nodes.nfv.VDU.Composition:
derived_from: tosca.nodes.root
properties:
name:
string
required: false
test_access:
type: list
entry_schema:
type: string
required: truefalse
descriptionvl_profile:
type: string: tosca.datatypes.nfv.VlProfile
required: true
boot_ordercapabilities:
monitoring_parameter: type: list#
this is not a very clear entry_schema:
data structure enough to be coded, suggest to type:be stringannotated.
required: false
nfvi_constraints:type: tosca.capabilities.nfv.Metric
typeoccurrences: list[0,UNBOUND]
entryvirtual_schemalinkable:
type: string
required: false
configurable_properties: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:
typedescriptor_id: map
# instead of entry_schema:
vnfd_id
type: tosca.datatypes.nfv.VnfcConfigurableProperties
string # GUID
required: true
capabilitiesdescriptor_version:
# instead of virtualvnfd_compute: version
type: tosca.capabilities.nfv.VirtualCompute
string
virtual_storagerequired: true
provider: # instead type: tosca.capabilities.nfv.VirtualStorage
occurrences: [0,UNBOUNDED]
requirements:
of vnf_provider
type: string
- virtual_linkrequired: true
product_name: # instead of capability: tosca.capabilities.nfv.VirtualLinkable
vnf_product_name
type: string
relationship: tosca.relationships.nfv.VirtualLinksTo
required: true
node: tosca.nodes.nfv.VnfVirtualLinkDesc
software_version: # instead of vnf_software_version
type: string
occurrences: [1,UNBOUNDED] | Code Block |
---|
firstline | 1 |
---|
title | tosca.nodes.nfv.VNF |
---|
linenumbers | true |
---|
collapse | true |
---|
| tosca.nodes.nfv.VNF:
derived_from: tosca.nodes.Root
properties: required: true
product_info_name: # instead of vnf_product_info_name
type: string
required: false
descriptorproduct_info_iddescription: # instead of vnfd_idvnf_product_info_description
type: string # GUID
required: truefalse
descriptorvnfm_versioninfo:
# instead of vnfd_versiontype: list
typeentry_schema:
string
requiredtype: truestring
provider: # instead of vnf_providerrequired: true
type: stringlocalization_languages:
requiredtype: truelist
product entry_nameschema:
# instead of vnf_product_name
type: string
required: truefalse
softwaredefault_localization_version: # instead of vnf_software_versionlanguage:
type: string
required: truefalse
product_info_name: # instead of vnf_product_info_nameconfigurable_properties:
type: stringtosca.datatypes.nfv.VnfConfigurableProperties
required: false
productmodifiable_info_description: # instead of vnf_product_info_descriptionattributes:
type: stringtosca.datatypes.nfv.VnfInfoModifiableAttributes
required: false
vnfm_info:
type: list # true in IFA011, but all of members are false. Align with the IM, it is false
entryflavour_schemaid:
type: string
required: true
localizationflavour_languagesdescription:
type: liststring
entry_schemarequired:
type: string true
required: false
capabilities:
# defaultmonitoring_localization_languageparameter:
# type: string
required: falsemodelled 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 |
|