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.Root
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, entrythe 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 type:with list
ONAP R2 IM. not defined in entry_schema:
IFA011 v2.4.1 and SOL001 v0.6.0.
type: stringtosca.datatypes.nfv.injectFile
required: false true
#Aligned #attributes:with NOTONAP DEFINEDR2 INIM. ONAPit IMshould andbe SOL001false.
#privatemeta_addressdata:
#metadata attached to #the VM status:or deprecatedcontainer
#public_addresstype: map
# statusentry_schema: deprecated
#networks:
# statustype: deprecatedstring
#portsrequired: false
# status: deprecateduser_data: #cloudinit userdata script support
capabilities:
virtual_computetype: string
typerequired: tosca.capabilities.nfv.VirtualComputefalse
#attributes: NOT virtual_binding:
DEFINED IN ONAP IM and SOL001
type: tosca.capabilities.nfv.VirtualBindable#private_address:
# occurrencesstatus: [1, UNBOUND]deprecated
monitoring#public_parameteraddress:
# typestatus: tosca.capabilities.nfv.Metric deprecated
#networks:
# occurrences: [0,UNBOUND]
requirements:
- virtual_storage:status: deprecated
#ports:
# status: deprecated
capabilities:
virtual_compute:
capabilitytype: tosca.capabilities.nfv.VirtualStorageVirtualCompute
virtual_binding:
relationship type: tosca.relationshipscapabilities.nfv.VDU.AttachedToVirtualBindable
node: tosca.nodes.nfv.VDU.VirtualStorage
occurencesoccurrences: [ 01, UNBOUNDED UNBOUND]
artifacts:
- sw_image:
monitoring_parameter: file:
type: tosca.artifacts.nfv.SwImagecapabilities.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.VDU.VirtualStorage
occurences: [ 0, UNBOUNDED ]
artifacts:
- sw_image:
file:
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
constraints:
- valid_values: [volume, object, root, block]
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 | 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
tosca.capabilities.nfv.VirtualStorage
requiredartifacts: true
- sizesw_of_storageimage:
type file: scalar-unit.size
required: true
#vduStorageRequirements:
# type: map
# entrySchema:
# type: TBD, missing in ONAP IM
# required: falsetosca.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:
rdmalayer_enabledprotocol:
type: booleanlist
requiredentry_schema:
false
capabilities:
virtual_storageconstraints:
type: tosca.capabilities.nfv.VirtualStorage
artifacts:
- sw_image: - valid_values: [ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ]
filerequired: true
role: #Name in ETSI 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:NFV IFA011 v0.7.3 cpRole
type:string
constraints:
- valid_values: [ root, leaf ]
typerequired:stringfalse
description:
constraints type: string
required: false
- validprotocol_valuesdata:
[ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ] type: list
requiredentry_schema:true
role: #Name in ETSI NFV IFA011 v0.7.3 cpRoletype: tosca.datatypes.nfv.CpProtocolData
typerequired:stringtrue
constraintstrunk_mode:
type: boolean
- valid_values: [ root, leafrequired: ]true
allowed_address_data: # Aligned required:false
with ONAP R2 description:
type: string
Im.not defined in IFA011 v2.4.1 and SOL001 v0.6.0. required: false
protocol_data:
type: list
entry_schema:
type: tosca.datatypedatatypes.nfv.CpProtocolData
AddressData # In required:true
allowedAddressData:
type: tosca.datatype.nfv.AddressDatathe 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 |
---|
| true |
---|
collapse | true |
---|
| tosca.nodes.nfv.VduCp:
derived_from: tosca.nodes.nfv.Cp
properties:tosca.nodes.nfv.VduCp:
derived_from: tosca.nodes.nfv.Cp
properties:
bitrate_requirement:
type: integer
required:false
vnicName:
type: String
required:false
vnicOrderbitrate_requirement:
type: integer
required:false
vnicType:
vnic_name: # type: String
Aligned with constraints:
ONAP R2 Im.not defined in IFA011 v2.4.1 and SOL001 - valid_values: [normal, macvtap, direct, baremetal, direct-physical, virtio-forwarder]v0.6.0.
type: string
required:false
virtual_network_interface_requirements:
type: list
entry_schema:
vnic_order: # Aligned with ONAP R2 Im. not defined in IFA011 v2.4.1 and SOL001 v0.6.0.
type: VirtualNetworkInterfaceRequirementsinteger
required:false
requirements:
- virtualvnic_linktype:
# Aligned with ONAP R2 Im. not defined in capability: tosca.capabilities.nfv.VirtualLinkableIFA011 v2.4.1 and SOL001 v0.6.0
type: string
constraints:
relationship: tosca.relationships.nfv.VirtualLinksTo
- valid_values: [normal, macvtap, node: tosca.nodes.nfv.VnfVirtualLinkDesc
direct, baremetal, direct-physical, virtio-forwarder]
required:false
- virtual_network_interface_bindingrequirements:
type: list
capability: tosca.capabilities.nfv.VirtualBindable
entry_schema:
relationshiptype: tosca.relationships.nfv.VirtualBindsToVirtualNetworkInterfaceRequirements
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:
required:false
# order: #there is no this attribute in IM.
# type: listinteger
# entry_schemarequired: false
# type: tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements
constraints:
# required- greater_or_equal: false0
requirements:
- external_virtual_link:
capability: tosca.capabilities.nfv.VirtualLinkable
relationship: tosca.relationships.nfv.VirtualLinksTo
node: tosca.nodes.nfv.VLVnfVirtualLink
- internal_virtual_link: #name in ETSI NFV IFA011 v0.7.3 intVirtualLinkDesc
binding:
capability: tosca.capabilities.nfv.VirtualLinkableVirtualBindable
relationship: tosca.relationships.nfv.VirtualLinksToVirtualBindsTo
node: tosca.nodes.nfv.VL
occurrences: [ 0, 1 ] # 0 if re-exposing a VduCp
# 1 if connecting to an internal VLVdu.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: tosca.datatypes.nfv.ConnectivityType
typerequired: listtrue
entry_schemadescription:
type: string
required: false
vltest_profileaccess:
type: tosca.datatypes.nfv.VlProfilelist
requiredentry_schema: true
capabilities:
monitoring_parameter:
type: tosca.capabilities.nfv.Metricstring
occurrencesrequired: [0,UNBOUND]false
virtualvl_linkableprofile:
type: tosca.capabilitiesdatatypes.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:
type: stringVlProfile
required: true
capabilities:
monitoring_parameter: # this is not a very clear data structure enough to be coded, suggest to be annotated.
required: true
type: tosca.capabilities.nfv.Metric
description:occurrences: [0,UNBOUND]
type: stringvirtual_linkable:
requiredtype: 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
: true
boot_order:
type: list
entry_schema:
type: string # GUID
required: falsetrue
nfvi_constraints:
type: list
entry_schema:descriptor_version: # instead of vnfd_version
type: string
required: falsetrue
provider: # instead configurable_properties:
of vnf_provider
type: mapstring
required: true
entry product_schemaname:
# instead of vnf_product_name
type: tosca.datatypes.nfv.VnfcConfigurableProperties
string
required: true
capabilitiessoftware_version:
# instead of virtual_compute: vnf_software_version
type: tosca.capabilities.nfv.VirtualComputestring
virtual_storage:
required: true
type: tosca.capabilities.nfv.VirtualStorage
occurrences: [0,UNBOUNDED]
requirements:
product_info_name: # instead of vnf_product_info_name
- virtual_linktype: string
capabilityrequired: tosca.capabilities.nfv.VirtualLinkablefalse
product_info_description: # instead relationship: tosca.relationships.nfv.VirtualLinksToof vnf_product_info_description
nodetype: tosca.nodes.nfv.VnfVirtualLinkDesc 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: false
vnfm_info:
type: list
descriptor entry_id: # instead of vnfd_idschema:
type: string
typerequired: true
string # GUIDlocalization_languages:
requiredtype: truelist
descriptorentry_versionschema:
# instead of vnfd_version
type: string
required: truefalse
provider: # instead of vnf_providerdefault_localization_language:
type: string
required: truefalse
productconfigurable_name: # instead of vnf_product_nameproperties:
type: string: tosca.datatypes.nfv.VnfConfigurableProperties
required: truefalse
softwaremodifiable_version: # instead of vnf_software_versionattributes:
type: stringtosca.datatypes.nfv.VnfInfoModifiableAttributes
required: true
product_info_name: # instead of vnf_product_info_name false # true in IFA011, but all of members are false. Align with the IM, it is false
flavour_id:
type: string
required: true false
product_infoflavour_description: # instead of vnf_product_info_description
type: string
required: false
vnfm_info:
true
typecapabilities: list
# entrymonitoring_schemaparameter:
# modelled type:as string
ad hoc capabilities in the VNF required:node truetemplate
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 |
|