Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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
borderStylesolid
titleNode Types
Code Block
languagexml
titletosca.nodes.nfv.VDU.Compute
linenumberstrue
collapsetrue
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
languagexml
titletosca.nodes.nfv.VDU.VirtualStorage
linenumberstrue
collapsetrue
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
languagexml
titletosca.nodes.nfv.VDU.VirtualStorage
linenumberstrue
collapsetrue
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
languagexml
titletosca.nodes.nfv.Cp
linenumberstrue
collapsetrue
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
languagexml
titletosca.nodes.nfv.Cp
linenumberstrue
collapsetrue
tosca.nodes.nfv.Cp:
  derived_from: tosca.nodes.Root 
    properties:
    layer_protocol:
languagexml
titletosca.nodes.nfv.VduCp
linenumberstrue
collapsetrue
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
languagexml
titletosca.nodes.nfv.VnfExtCp
linenumberstrue
collapsetrue
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
languagexml
titletosca.nodes.nfv.VduCp
linenumberstrue
collapsetrue
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
languagexml
titletosca.nodes.nfv.VnfVirtualLink
linenumberstrue
collapsetrue
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
languagexml
titletosca.nodes.nfv.VDU.Composition
linenumberstrue
collapsetrue
# 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
languagexml
titletosca.nodes.nfv.VnfVirtualLink
linenumberstrue
collapsetrue
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
firstline1
titletosca.nodes.nfv.VNF
linenumberstrue
collapsetrue
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