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:
occurrences: [0,UNBOUND]
requirements:
- virtual_storage:
# node namecapability: tosca.capabilities.nfv.VirtualStorage
type_of_storage:
relationship: type: string
tosca.relationships.nfv.Vdu.AttachedTo
requirednode: true tosca.nodes.nfv.VDU.VirtualStorage
size_of_storage:
occurences: [ type: scalar-unit.size
required: true0, UNBOUNDED ]
#vduStorageRequirementsartifacts:
# type: map
# - entrysw_schemaimage:
# typefile: TBD, missing in ONAP IM
# required: false
rdma_enabledtype: 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:
type: boolean
required#id: false
capabilities:
virtual# node name
type_of_storage:
type: tosca.capabilities.nfv.VirtualStorage
string
artifactsconstraints:
- swvalid_imagevalues:
[volume, object, root, block]
file required: true
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
properties:scalar-unit.size
required: true
layervdu_protocolstorage_requirements:
type:list map
entry_schemarequired: false
constraintsrdma_enabled:
type: boolean
- valid_values: [ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ] required: false
capabilities:
required:truevirtual_storage:
role: #Name in ETSI NFV IFA011 v0.7.3 cpRoletype: tosca.capabilities.nfv.VirtualStorage
artifacts: type:string
- constraintssw_image:
- valid_values: [ root, leaf ]
file: 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: # 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: # not defined in IFA011 v2.4.1 and SOL001 v0.6.0
type: String
required:false
vnicOrder: # not defined in IFA011 v2.4.1 and SOL001 v0.6.0
type: integer
required:false
vnicType: # 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:
constraints:
- valid_values: [ethernet, mpls, odu2, ipv4, ipv6, type: VirtualNetworkInterfaceRequirementspseudo_wire ]
required:falsetrue
orderrole:
#Name in ETSI NFV type: integerIFA011 v0.7.3 cpRole
requiredtype: falsestring
constraints:
- greater_or_equal: 0
requirements:
- virtual_link:
valid_values: [ root, leaf ]
capability: tosca.capabilities.nfv.VirtualLinkablerequired:false
description:
relationshiptype: tosca.relationships.nfv.VirtualLinksTostring
required: false
nodeprotocol_data:
tosca.nodes.nfv.VnfVirtualLinkDesc
type: list
- virtualentry_bindingschema:
capabilitytype: tosca.capabilitiesdatatypes.nfv.VirtualBindableCpProtocolData
required:true
relationship: tosca.relationships.nfv.VirtualBindsTotrunk_mode:
type: boolean
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:
virtual_network_interface_requirements:
required: true
allowed_address_data: # Aligned with ONAP R2 Im.not defined in IFA011 v2.4.1 and SOL001 v0.6.0. type: list
entry_schema:
type: tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements
AddressData # In the required: false
requirements:
- external_virtual_link:
capability: tosca.capabilities.nfv.VirtualLinkableIM, it is a array, but here it is not a array. TBD.
relationshiprequired: false |
Code Block |
---|
language | xml |
---|
title | tosca.nodes.nfv.VduCp |
---|
linenumbers | true |
---|
collapse | true |
---|
| tosca.nodes.relationships.nfv.VirtualLinksToVduCp:
nodederived_from: tosca.nodes.nfv.VnfVirtualLinkCp
properties:
bitrate_requirement:
- internal_virtual_link type: #nameinteger
in ETSI NFV IFA011 v0.7.3 intVirtualLinkDesc required:false
vnic_name: # Aligned capability: tosca.capabilities.nfv.VirtualLinkable
relationship: tosca.relationships.nfv.VirtualLinksTo
with ONAP R2 Im.not defined in IFA011 v2.4.1 and SOL001 v0.6.0.
nodetype: tosca.nodes.nfv.VnfVirtualLinkstring
occurrencesrequired:false
[ 0, 1 ]vnic_order: # 0Aligned ifwith re-exposingONAP aR2 VduCp
Im. not defined in IFA011 v2.4.1 and SOL001 v0.6.0.
type: integer
required:false
vnic_type: # Aligned with #ONAP 1R2 ifIm. connectingnot todefined anin 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
connectivity_type: string
type: tosca.datatypes.nfv.ConnectivityTypeconstraints:
required: true
- descriptionvalid_values:
[normal, macvtap, direct, baremetal, type: stringdirect-physical, virtio-forwarder]
required: false
test_access:virtual_network_interface_requirements:
type: list
entry_schema:
type: stringVirtualNetworkInterfaceRequirements
required: false
# vl_profileorder:
type: tosca.datatypes.nfv.VlProfile
required: true
capabilities:
monitoring_parameter:
type: tosca.capabilities.nfv.Metric#there is no this attribute in IM.
# type: integer
# occurrencesrequired: [0,UNBOUND]
false
# virtual_linkableconstraints:
# - type: tosca.capabilities.nfv.VirtualLinkable | 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.
# tosca.nodes.nfv.VDU.Composition:
# derived_from: tosca.nodes.root
# properties:
# name:
# type: string
# required: true
# description:
#greater_or_equal: 0
requirements:
- virtual_link:
capability: tosca.capabilities.nfv.VirtualLinkable
relationship: tosca.relationships.nfv.VirtualLinksTo
node: tosca.nodes.nfv.VnfVirtualLink
- virtual_binding:
type: string
# capability: tosca.capabilities.nfv.VirtualBindable
required: true
# boot_order:
# relationship: tosca.relationships.nfv.VirtualBindsTo
type: list
# entry_schema:
# type: string
# required: false
# nfvi_constraints:
#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:
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 |
|