A node type to designate ANY functional node in the ONAP topologies, for the exception of the most trivial like CP, VL, Container, etc.


  onap.nodes.Function:
    derived_from: onap.nodes.Resource
    description: | 
      a virtual function (VNF, VDU, VFC)
    properties:
      # all IM properties
      # all ECOMP VNF properties
    requirements:
    # 1. MANY requirements of type onap.capabilities.Compute (a summary of 
    #    the Compute requirements of all inner Container and VDU nodes 
    #    exposed through the substitution mapping)
    # 2. MANY requirements of type onap.capabilities.Linkable (a summary of
    #    the Linkable requirements of all ExtCPs inside the topology
    #    exposed through the substitution mapping)
    # 3. MANY OTHER application-level reqs&caps (e.g., monitoring)



The Data Model implements the VNF Element of the Info Model as a Function node marked as VNF in metadata.:

topology_template:  # of a service
  node_types:
    com.vendorXXX.VNF_A:
      derived_from: onap.nodes.Function
      metadata:
        type: VNF
      # all extension properties, capabilitiesm reqs go here

  node_templates:
    vnf_01:
      type: com.vendorXXX.VNF_A:
      metadata:
        type: VNF
      # ....
        
    vnf_02:
      type: com.vendorXXX.VNF_B:
      metadata:
        type: VNF        
      # ....



The Data Model implements the VDU Element of the Info Model as a Function node marked as VDU in metadata

topology_template:  # of a VNF
  node_types:
    com.vendorXXX.VDU_A:
      derived_from: onap.nodes.Function
      metadata:
        type: VDU
      # all extension properties, capabilities and reqs go here

  node_templates:
    vdu_01:
      type: com.vendorXXX.VDU_A:
      metadata:
        type: VDU
      # ....
        
    vdu_02:
      type: com.vendorXXX.VDU_B:
      metadata:
        type: VDU        
      # ....



A VDU is a Function. A VFC is a Function. A VNF is a Function. 


Two patterns to implement a Function [Description]:

  • as a Simple Function: node type with a deployment artifact
  • as a Complex Function: a node type + a topology template with substitution mappings
  • No labels