onap.nodes.Function
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