What's on this page

How to develop a VNF

There are a number of tasks involved in creating VNFs that can be used as part of network services. In order to understand what a VNF is, we first need to look at what it consists of.

Anatomy of a VNF

A VNF, or Virtual Network Function, provides a single function within a network service. A VNF consists of one or more VNFCs. The image below displays the components of a VNF.

Anatomy of a VNF

Component Sub-component Description
VDU A VDU is the package or script that can create an image for specific virtual infrastructure.
VNFC This is the VNF Component as a standalone network function that is managed by a Resource manager. In Stratoss LM this is also called a Resource
VDU May contain one or multiple VDUs
Descriptor (Resource) A yaml file that describes the interface for a VNFC. Contains properties and other details to describe the interface for the item.
Lifecycle scripts Scripts that map the standard lifecycle actions as start, stop, install, configure, stop to the VDU specific instructions as well as operations, e.g. Ansible playbooks
VNF Provides a single function within a Network Service
VNFC May contain one or multiple VNFC
VNF Descriptor (assembly) An assembly.yaml file that describes the interface for a VNF. Contains properties and other details to describe the interface for the VNF. Implemented within LM by an assembly
Service behaviour test scenarios scripts that are used to test VNF functionality and are created during the design phase

Tasks to develop a VNF

To develop a VNF, there are multiple steps that can be seen in the picture below: Steps to develop a VNF

Tools to develop a VNF

To develop a VNF, there are multiple tools that are used to allow people to collaborate on creating, testing, maintaining and automating the development of VNFs.

CI/CD Hub

The Continuous Integration / Continuous Delivery Hub, or CI/CD Hub, provides a set of standards, tools and automation patterns designed to simplify and accelerate the network service continuous integration and deployment journey. The CI/CD Hub includes a source code repository, image repository and an automation server.

More information about the tools in the CI/CD Hub can be found here

Stratoss™ Lifecycle Manager (LM) environment

Designing a VNF is done through the Designer section of Stratoss LM. This is typically done on a local or dedicated development environment. The Designer has a graphical User Interface with which you can drag and drop VNFC and resources, establish relationships, modify properties, etc.

LMCTL

LMCTL is a command line tool that allows you to create, pull, push and test VNF and Network Service projects to a Stratoss LM environment. LMCTL is also used by the automation server to issue these commands and execute the automated pipeline. The LMCTL tool can be installed from the CI/CD Hub.