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.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 type: String
constraints:
IFA011 v0.7.3 cpRole
type:string
constraints:
- valid_values: [normal, macvtaproot, direct, baremetal, direct-physical, virtio-forwarderleaf ]
required:false
virtual_network_interface_requirements: description:
type: liststring
entry_schemarequired: false
protocol_data:
type: VirtualNetworkInterfaceRequirementslist
requiredentry_schema:false
requirements:
type: tosca.datatypes.nfv.CpProtocolData
- virtual_linkrequired:true
trunk_mode:
capabilitytype: tosca.capabilities.nfv.VirtualLinkableboolean
relationshiprequired: tosca.relationships.nfv.VirtualLinksTotrue
allowed_address_data: # Aligned with ONAP node: tosca.nodes.nfv.VnfVirtualLinkDesc
R2 Im.not defined in IFA011 v2.4.1 and SOL001 v0.6.0. - virtual_binding:
capability: tosca.capabilities.nfv.VirtualBindable
relationshiptype: tosca.relationshipsdatatypes.nfv.VirtualBindsTo
AddressData # In the IM, it is a array, but node: tosca.nodes.nfv.VDU here it is not a array. TBD.
required: false |
Code Block |
---|
language | xml |
---|
title | tosca.nodes.nfv.VnfExtCpVduCp |
---|
linenumbers | true |
---|
collapse | true |
---|
| tosca.nodes.nfv.VnfExtCpVduCp:
derived_from: tosca.nodes.nfv.Cp
properties:
virtual_network_interface_requirementsbitrate_requirement:
type: listinteger
entry_schemarequired:false
vnic_name: # type: tosca.datatypes.nfv.VirtualNetworkInterfaceRequirementsAligned with ONAP R2 Im.not defined in IFA011 v2.4.1 and SOL001 v0.6.0.
requiredtype: falsestring
requirements:
- external_virtual_link:required:false
vnic_order: # Aligned with capability: tosca.capabilities.nfv.VirtualLinkable
relationship: tosca.relationships.nfv.VirtualLinksTo
ONAP R2 Im. not defined in IFA011 v2.4.1 and SOL001 v0.6.0.
type: integer
node: tosca.nodes.nfv.VL
required:false
- internal_virtual_linkvnic_type: #name# inAligned ETSIwith NFVONAP IFA011R2 v0Im.7.3 intVirtualLinkDesc
not defined in IFA011 v2.4.1 and SOL001 capability: tosca.capabilities.nfv.VirtualLinkable
v0.6.0
type: string
relationshipconstraints: tosca.relationships.nfv.VirtualLinksTo
node: tosca.nodes.nfv.VL
occurrences: [ 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_type - valid_values: [normal, macvtap, direct, baremetal, direct-physical, virtio-forwarder]
required:false
virtual_network_interface_requirements:
type: list
entry_schema:
type: tosca.datatypes.nfv.ConnectivityTypeVirtualNetworkInterfaceRequirements
required: truefalse
# descriptionorder:
type:#there string
is no this attribute in IM.
required: false
# test_accesstype: integer
# typerequired: listfalse
# entry_schemaconstraints:
# type: string
- greater_or_equal: 0
required: false
requirements:
- vlvirtual_profilelink:
type capability: tosca.datatypescapabilities.nfv.VlProfileVirtualLinkable
required: true
capabilities:relationship: tosca.relationships.nfv.VirtualLinksTo
monitoring_parameter:
typenode: tosca.capabilitiesnodes.nfv.Metric
VnfVirtualLink
occurrences: [0,UNBOUND]
- virtual_linkablebinding:
typecapability: tosca.capabilities.nfv.VirtualLinkableVirtualBindable
relationship: tosca.relationships.nfv.VirtualBindsTo
node: tosca.nodes.nfv.Vdu.Compute |
Code Block |
---|
language | xml |
---|
title | tosca.nodes.nfv.VnfVirtualLink |
---|
linenumbers | true |
---|
| Code Block |
---|
language | xml |
---|
title | tosca.nodes.nfv.VDU.Composition |
---|
linenumbers | true |
---|
collapse | true |
---|
| tosca.nodes.nfv.VDU.CompositionVnfVirtualLink:
derived_from: tosca.nodes.rootRoot
properties:
nameconnectivity_type:
type: stringtosca.datatypes.nfv.ConnectivityType
required: true
description:
type: string
required: truefalse
boottest_orderaccess:
type: list
entry_schema:
type: string
required: false
nfvivl_constraintsprofile:
type: listtosca.datatypes.nfv.VlProfile
entry_schemarequired: true
capabilities:
monitoring_parameter: type: string
# this is not a very required:clear false
data structure enough to configurable_properties:
type: map
entry_schema:
be coded, suggest to be annotated.
type: tosca.datatypescapabilities.nfv.VnfcConfigurablePropertiesMetric
requiredoccurrences: true [0,UNBOUND]
capabilities:
virtual_computelinkable:
type: tosca.capabilities.nfv.VirtualCompute
virtual_storageVirtualLinkable |
Code Block |
---|
firstline | 1 |
---|
title | tosca.nodes.nfv.VNF |
---|
linenumbers | true |
---|
collapse | true |
---|
| tosca.nodes.nfv.VNF:
typederived_from: tosca.capabilities.nfv.VirtualStorage
occurrences: [0,UNBOUNDED]nodes.Root
requirementsproperties:
- virtualdescriptor_linkid:
# instead of vnfd_id
capability type: tosca.capabilities.nfv.VirtualLinkable
string # GUID
relationshiprequired: tosca.relationships.nfv.VirtualLinksTotrue
descriptor_version: # instead of vnfd_version
node: tosca.nodes.nfv.VnfVirtualLinkDesc 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:
descriptor_id: # instead of vnfd_idrequired: 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
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 |
|