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_schematype: tosca.datatypes.nfv.VduProfile
typerequired: stringtrue
inject_files: # Used required:for true
vCPE usecase #attributes:Aligned NOTwith DEFINEDONAP IN ONAPR2 IM. andnot SOL001
defined in IFA011 #private_address:
# status: deprecated
#public_address:
v2.4.1 and SOL001 v0.6.0.
type: tosca.datatypes.nfv.injectFile
# statusrequired: deprecated
false #Aligned with #networks:
ONAP R2 IM. it #should status: deprecatedbe false.
#portsmeta_data:
#metadata attached to #the VM status:or deprecatedcontainer
capabilities:
virtual_computetype: map
type: tosca.capabilities.nfv.VirtualComputeentry_schema:
virtual_binding:
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:
# capabilitystatus: tosca.capabilities.nfv.VirtualStoragedeprecated
#public_address:
relationship: tosca.relationships.nfv.VDU.AttachedTo# status: deprecated
#networks:
# node status: tosca.nodes.nfv.VDU.VirtualStoragedeprecated
#ports:
occurences:# [ 0, UNBOUNDED ]status: deprecated
artifactscapabilities:
- swvirtual_imagecompute:
type: file:
tosca.capabilities.nfv.VirtualCompute
virtual_binding:
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: stringcapabilities.nfv.VirtualBindable
occurrences: [1, UNBOUND]
monitoring_parameter:
type: tosca.capabilities.nfv.Metric # this is not a very clear data structure enough to be coded, suggest to be annotated.
required: true
occurrences: [0,UNBOUND]
requirements:
- size_ofvirtual_storage:
type capability: scalar-unit.sizetosca.capabilities.nfv.VirtualStorage
required relationship: truetosca.relationships.nfv.Vdu.AttachedTo
#vduStorageRequirements:
# typenode: map
tosca.nodes.nfv.VDU.VirtualStorage
# entrySchemaoccurences:
[ 0, #UNBOUNDED ]
typeartifacts: TBD, missing in ONAP IM
# - requiredsw_image: false
rdma_enabled:
type: boolean
file: required: false
capabilities:
virtual_storage:
type: tosca.capabilities.artifacts.nfv.SwImage |
Code Block |
---|
language | xml |
---|
title | tosca.nodes.nfv.VDU.VirtualStorage |
---|
linenumbers | true |
---|
collapse | true |
---|
| tosca.nodes.nfv.Vdu.VirtualStorage: VirtualStorage
artifacts:
derived_from: tosca.nodes.Root
- sw_imageproperties:
#id:
# file:node name
type_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 string
constraints:
properties:
layer_protocol:
- valid_values: type:string
[volume, object, root, block]
constraintsrequired:
true
- valid_values: [ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ]size_of_storage:
type: scalar-unit.size
required: true
rolevdu_storage_requirements: #Name
in ETSI NFV IFA011 v0.7.3 cpRole type: map
typerequired:string false
constraintsrdma_enabled:
- valid_values: [ root, leaf ]type: boolean
required: false
descriptioncapabilities:
type: stringvirtual_storage:
requiredtype: falsetosca.capabilities.nfv.VirtualStorage
protocol_data:
type: listartifacts:
- entrysw_schemaimage:
typefile: tosca.datatype.nfv.CpProtocolData
required:true
allowedAddressData:
type: tosca.datatypeartifacts.nfvDeployment.AddressDataImage
#interfaces: # not needed for required: falsevirtualstroage. it doesn't support cloudinit.
# cloudinit:
# type:tosca.interfaces.nfv.vdu.cloudinit |
Code Block |
---|
language | xml |
---|
title | tosca.nodes.nfv.VduCpCp |
---|
linenumbers | true |
---|
collapse | true |
---|
| tosca.nodes.nfv.VduCpCp:
derived_from: tosca.nodes.nfv.CpRoot
properties:
bitratelayer_requirementprotocol:
type: integerlist
requiredentry_schema:false
vnicName:
typeconstraints:
String
required:false
- vnicOrdervalid_values:
[ethernet, mpls, odu2, ipv4, type: integeripv6, pseudo_wire ]
required:falsetrue
vnicTyperole:
#Name in ETSI NFV IFA011 v0.7.3 cpRole
type: String
string
constraints:
- valid_values: [normal, macvtaproot, direct, baremetal, direct-physical, virtio-forwarderleaf ]
required:false
virtual_network_interface_requirements: description:
type: liststring
entry_schemarequired: false
type: VirtualNetworkInterfaceRequirementsprotocol_data:
requiredtype:false
requirements: list
- virtual_linkentry_schema:
capabilitytype: tosca.capabilitiesdatatypes.nfv.VirtualLinkableCpProtocolData
required:true
relationship: tosca.relationships.nfv.VirtualLinksTotrunk_mode:
type: boolean
node: tosca.nodes.nfv.VnfVirtualLinkDesc required: true
allowed_address_data: # Aligned with - virtual_binding:
capability: tosca.capabilities.nfv.VirtualBindable
ONAP R2 Im.not defined in IFA011 v2.4.1 and SOL001 v0.6.0. relationship: tosca.relationships.nfv.VirtualBindsTo
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:
type: list
entry_schema: type: tosca.datatypes.nfv.AddressData # In the IM, it is a array, but here it is not a array. TBD.
required: typefalse |
Code Block |
---|
language | xml |
---|
title | tosca.nodes.nfv.VduCp |
---|
linenumbers | true |
---|
collapse | true |
---|
| tosca.nodes.nfv.VduCp:
derived_from: tosca.datatypesnodes.nfv.VirtualNetworkInterfaceRequirementsCp
properties:
requiredbitrate_requirement: false
requirements:
- external_virtual_link:type: integer
required:false
vnic_name: # Aligned capability: tosca.capabilities.nfv.VirtualLinkable
relationship: tosca.relationships.nfv.VirtualLinksTowith ONAP R2 Im.not defined in IFA011 v2.4.1 and SOL001 v0.6.0.
type: string
node: tosca.nodes.nfv.VL
required:false
- internal_virtual_linkvnic_order: #name# inAligned ETSIwith NFVONAP IFA011R2 v0.7Im.3 intVirtualLinkDesc
not defined in IFA011 v2.4.1 and capability: tosca.capabilities.nfv.VirtualLinkableSOL001 v0.6.0.
relationshiptype: tosca.relationships.nfv.VirtualLinksTointeger
node: tosca.nodes.nfv.VLrequired:false
vnic_type: # Aligned with occurrences:ONAP [R2 0,Im. 1not ]defined # 0 if re-exposing a VduCp
# 1 if connecting to an internal VLin 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: #there is 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:
type: tosca.datatypes.nfv.ConnectivityType
required: true
description:
type: string
required: false
test_access:
type: list
entry_schema:
type: string
required: false
vl_profile:
type: tosca.datatypes.nfv.VlProfile
required: true
capabilities:
monitoring_parameter: # this is not a very clear data structure enough to be coded, suggest to be annotated.
type: tosca.capabilities.nfv.Metric
occurrences: [0,UNBOUND]
virtual_linkable:
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:
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 | 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
string
required: true
required software_version: true
# instead description:of vnf_software_version
type: string
required: falsetrue
testproduct_info_accessname:
# instead of vnf_product_info_name
type: list
entry_schema:type: string
typerequired: stringfalse
requiredproduct_info_description: false
# instead vl_profile:of vnf_product_info_description
type: tosca.datatypes.nfv.VlProfilestring
required: truefalse
capabilities:
monitoringvnfm_parameterinfo:
type: tosca.capabilities.nfv.Metriclist
occurrences: [0,UNBOUND]
virtual_linkable:
entry_schema:
type: tosca.capabilities.nfv.VirtualLinkable | Code Block |
---|
language | xml |
---|
title | tosca.nodes.nfv.VDU.Composition |
---|
linenumbers | true |
---|
collapse | true |
---|
| tosca.nodes.nfv.VDU.Composition:string
derived_from: tosca.nodes.root
propertiesrequired: true
namelocalization_languages:
type: stringlist
requiredentry_schema: true
description:
type: string
required: truefalse
bootdefault_localization_orderlanguage:
type: list string
entry_schemarequired: false
configurable_properties:
type: stringtosca.datatypes.nfv.VnfConfigurableProperties
required: false
nfvimodifiable_constraintsattributes:
type: listtosca.datatypes.nfv.VnfInfoModifiableAttributes
entry_schema:
type: string
required:required: false # true in IFA011, but all of members are false. Align with the IM, it is false
configurableflavour_propertiesid:
type: mapstring
required: true entry_schema:
flavour_description:
type: tosca.datatypes.nfv.VnfcConfigurablePropertiesstring
required: true
capabilities:
virtual# monitoring_computeparameter:
type: tosca.capabilities.nfv.VirtualCompute
virtual_storage:
type: tosca.capabilities.nfv.VirtualStorage
occurrences: [0,UNBOUNDED]# 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.VnfVirtualLinkDesc VnfVirtualLink
occurrences: [1 0, UNBOUNDED ]
interfaces:
Nfv:
type: tosca.interfaces.nfv.vnf.lifecycle.Nfv |
|