Objective
Represent PNFs in the TOSCA model, using TOSCA syntax and semantics to define the mapping between PNF resources used in ONAP services and the physical devices themselves.
PNF Modelling - Resources and Devices
Proposed approach is to use a “PNF Resource” node type (network function) representing the PNF’s appearance in services, and a separate “PNF Device” node type to represent the device itself (in the model and in inventory). TOSCA requirements and capabilities are used to map the PNF Resources within services to their corresponding PNF Devices.
Currently, all PNF devices are pre-populated in inventory before they are assigned for use by services. This makes them a good candidate for Requirements/Capabilities logic, where the PNF Resource has a dangling requirement for a PNF Device. The mapping would be established at run-time by selecting which pre-deployed (and inventoried) PNF Device is to be used.
In this model, a new Capability base type is defined for PNF Devices. Individual PNF devices would declare this capability (or one derived from it). Their matching PNF Resource types would declare a requirement for its PNF Device capability.
PNF Resources are modelled as peers to VNFs and Allotted Resources, all being derivations of a base “Network Function” node type. This would permit the three types to be used interchangeably in Abstract Node resolution. The three resource types (VNF, PNF, AR) do not require explicit subtypes, but instead are identified by their defined requirements:
- Allotted Resources have a requirement for an Allotted Resource Provider service
- PNF Resources have a requirement for a PNF Device
- VNF Resources have neither A-R Provider nor PNF Device requirements.
TOSCA Definitions
PNF Device Capability, exposed by all PNFs, allows PNF resources to be tied to individual device instances via a PNF Hosted On relationship.
Base PNF Device node type, from which all individual PNF Devices would be derived. There is no explicit PNF Resource node type, since all PNF resources may derive from the base Network Function type, and be identified as PNFs based on the existence of a PNF Device requirement.
Examples
This example shows a specific PNF device, along with the PNF resource that it exposes for use in ONAP services.
This example shows a Service template consuming a PNF Firewall resource.