VNF Descriptor Template Guide

This document explains VNFD template structure and its various fields based
on TOSCA standards V1.0 CSD 03.

The behavioural and deployment information of a VNF in Tacker is defined in a
template known as VNF Descriptor (VNFD). The template is based on TOSCA
standards and is written in YAML. It is on-boarded in a VNF catalog.

A VNF includes VDU/s, connection point/s and virtual link/s. Hence
a valid VNFD must have these 3 components. Each component is referred as a
node and can have certain type, capabilities, properties, attributes and
requirements. These components are described under node_templates in the
VNFD template. node_templates is a child of topology_template.

Virtual Deployment Unit is a basic part of VNF. It is the VM that hosts the
network function.

type:

tosca.nodes.nfv.VDU.Tacker

properties:

Describes the properties like image to be used in VDU, availability zone in
which VDU is to be spawned, management driver to be used to manage the VDU,
flavor describing physical properties for the VDU to be spawned, monitoring
policies for the VDU, providing user data in form of custom commands to the
VDU. A complete list of VDU properties currently supported by Tacker are
listed here under properties section of
tosca.nodes.nfv.VDU.Tacker field

A VDU can be monitored by pinging it on port 22 for 3 times at an interval of
2 seconds every 20 seconds. Number of retries be 6 and timeout of 2 seconds.
It can be re-spawned in case ping fails. This is described under
monitoring_policy.

Computational properties of a VDU are described as its capabilities. Allocated
RAM size, allocated disk size, memory page size, number of CPUs, number of
cores per CPU, number of threads per core can be specified.

A VDU with 10 GB disk, 2 GB RAM, 2 CPUs, 4 KB of memory page and dedicated CPU
can be specified as below. Thread and core counts can be specified as shown.

Connection point is used to connect the internal virtual link or outside
virtual link. It may be a virtual NIC or a SR-IOV NIC. Each connection
point has to bind to a VDU. A CP always requires a virtual link and a
virtual binding associated with it.

A code snippet for virtual NIC (Connection Point) without anti-spoof
protection and are accessible by the user. CP1 and CP2 are connected to
VDU1 in this order. Also CP1/CP2 are connected to VL1/VL2 respectively.

To summarize VNFD is written in YAML and describes a VNF topology. It has
three node types, each with different capabilities and requirements. Below is
a template which mentions all node types with all available options.