Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
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
    name:       # 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: map # 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: 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 
    vdu_profile:          
       type: tosca.datatypes.nfv.VduProfile
       required: true
    inject_files: #Aligned with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v0.6.0.
       type: list  
       entry_schema: 
         type: string    #inject_files is not enough, suggest to be a structure. TBD.
       required: false  #Aligned with ONAP R2 IM. it should be false.
  #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: 
      type: tosca.capabilities.nfv.VirtualCompute
    virtual_binding: 
      type: tosca.capabilities.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.
      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
languagexml
titletosca.nodes.nfv.VDU.VirtualStorage
linenumberstrue
collapsetrue
tosca.nodes.nfv.Vdu.VirtualStorage: 
  derived_from: tosca.nodes.Root
  properties:
    #id:
      # node name
    type_of_storage:
      type: string
      constraints:
          - valid_values: [volume, object]
      required: true 
    size_of_storage:
      type: scalar-unit.size
      required: true
    vdu_storage_requirements: 
      type: map
      entry_schema:  #add schema to supprot KVP in the IM
        type: string
      required: false
    rdma_enabled:
      type: boolean
      required: false
  capabilities:
    virtual_storage:
      type: tosca.capabilities.nfv.VirtualStorage
  artifacts:  
    - sw_image:
        file:       
        type: tosca.artifacts.Deployment.Image
Code Block
languagexml
titletosca.nodes.nfv.Cp
linenumberstrue
collapsetrue
tosca.nodes.nfv.Cp:
  derived_from: tosca.nodes.Root 
    properties:
    layer_protocol:
      type:list
      entry_schema:
        constraints:
          - valid_values: [ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ]
      required:true
    role: #Name in ETSI NFV IFA011 v0.7.3 cpRole
      type:string
      constraints:
        - valid_values: [ root, leaf ]
      required:false
    description:
      type: string
      required: false
    protocol_data:
      type: list
      entry_schema:
        type: tosca.datatypes.nfv.CpProtocolData
      required:true
    trunk_mode:
      type: boolean
      required: true
    allowed_address_data: # Aligned with ONAP R2 Im.not defined in IFA011 v2.4.1 and SOL001 v0.6.0.                        
      type: tosca.datatypes.nfv.AddressData   # In the IM, it is a array, but here it is not a array. TBD.
      required: false
Code Block
languagexml
titletosca.nodes.nfv.VduCp
linenumberstrue
collapsetrue
tosca.nodes.nfv.VduCp:
  derived_from: tosca.nodes.nfv.Cp
  properties:
    bitrate_requirement:
      type: integer
      required:false
    vnic_name: #  Aligned with ONAP R2 Im.not defined in IFA011 v2.4.1 and SOL001 v0.6.0. 
      type: string
      required:false
    vnic_order: # Aligned with ONAP R2 Im. not defined in IFA011 v2.4.1 and SOL001 v0.6.0. 
      type: integer
      required:false
    vnic_type: # Aligned with ONAP R2 Im. 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:
        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.VnfVirtualLinkDesc    
        - virtual_binding:
          capability: tosca.capabilities.nfv.VirtualBindable
          relationship: tosca.relationships.nfv.VirtualBindsTo
          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:
      type: list
      entry_schema:
        type: tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements
      required: false
  requirements:
    - external_virtual_link:
        capability: tosca.capabilities.nfv.VirtualLinkable
        relationship: tosca.relationships.nfv.VirtualLinksTo
        node: tosca.nodes.nfv.VnfVirtualLink
   
    - internal_virtual_link: #name in ETSI NFV IFA011 v0.7.3 intVirtualLinkDesc
        capability: tosca.capabilities.nfv.VirtualLinkable
        relationship: tosca.relationships.nfv.VirtualLinksTo
        node: tosca.nodes.nfv.VnfVirtualLink
        occurrences: [ 0, 1 ] # 0 if re-exposing a VduCp
                              # 1 if connecting to an internal VL
Code Block
languagexml
titletosca.nodes.nfv.VnfVirtualLink
linenumberstrue
collapsetrue
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
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.
# Agree TO BE REMOVED, we have not agreed VDUcomposition in ONAP IM, It is not defined in SOL001, same properties and capabilities defined # in VDU.COMPUTE
# tosca.nodes.nfv.VDU.Composition:
#  derived_from: tosca.nodes.root
#  properties:
#    name:
#      type: string
#      required: true
#    description:
#      type: string
#      required: true
#    boot_order:
#      type: list 
#      entry_schema:
#        type: string
#      required: false
#    nfvi_constraints:
#      type: list
#      entry_schema:
#        type: string
#      required: false
#    configurable_properties:
#       type: map
#       entry_schema:
#          type: tosca.datatypes.nfv.VnfcConfigurableProperties
#       required: true 
#  capabilities:
#    virtual_compute: 
#      type: tosca.capabilities.nfv.VirtualCompute
#    virtual_storage:
#      type: tosca.capabilities.nfv.VirtualStorage
# occurrences: [0,UNBOUNDED]
#  requirements:
#    - virtual_link:
#        capability: tosca.capabilities.nfv.VirtualLinkable
#        relationship: tosca.relationships.nfv.VirtualLinksTo
#        node: tosca.nodes.nfv.VnfVirtualLinkDesc    
#       occurrences: [1,UNBOUNDED] 
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: false  # 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