Network Service Descriptor

The Network Service Descriptor is a template file, whose parameters are following the ETSI MANO specification, used by the NFV Orchestrator (NFVO) for deploying network services (as combination of multiple VNFs). There are two different formats supported by the NFVO for NSD:

This page provide further details about option 1 (which is at the moment the more advanced feature-wise API offered by the NFVO). Refer to the NS Template tutorial and CSAR Onboarding tutorial for examples about TOSCA.

Overview

Below you can find an example of a NSD for deploying 1..n VNFs:

{  
    "name":"iperf-NSD",
    "vendor":"fokus",
    "version":"0.1-ALPHA",
    "vnfd":[  ...  ],
    "vld":[  
        {  
            "name":"private"
        }
    ],
    "vnf_dependency":[
        {
            "source" : {
                "name": "iperf-server"
            },
            "target":{
                "name": "iperf-client"
            },
            "parameters":[
                "private"
            ]
        }
    ]
}

You can see the complete NSD file of this example here.

Params Meaning
name The name of the Network Service
vendor The vendor or provider of the Network Service
version The version of the Network Service (can be any string)
vnfd The list of Virtual Network Functions composing the Network Service (see Virtual Network Function Descriptor for more details)
vld The list of Virtual Links that are referenced by the VNF Descriptors in order to define network connectivity
vnf_dependency The list of dependencies between Virtual Network Functions (Not mandatory, please check the VNF Descriptor page in order to understand more about this topic, as you may not need to specifiy dependencies here if those are already provided in terms of requirements at the VNFD level)

VNF Descriptors

In the vnfd field you must put a list of ids [{"id":"id_1"},{"id":"id_2"},{"id":"id_2"}], corresponding to the ids of the VNF Descriptors already uploaded. Alternatively, you can put the full VNFD, if you don't have specific scripts to be executed. If you already have uploaded some VNF Packages, building this list can be annoying, so just go in the VNFD page of the dashboard, select all wanted VNFDs and click on the clipboard copy button on the top left. You will have in the clipboard the list of ids already pre-build.

Multiple VNF selection

The Virtual Link Descriptor (VLD) describes Virtual Link requirements for connecting one or more VNFs together. The VLD must contain a parameter name with the value of a network that will be used by the VNFD. If the network exists, then this network will be used, if not a new one will be created.

VNF Dependencies

A VNF Dependency is composed by:

Params Meaning
source The name of the Virtual Network Function that provides one or more parameters (see Generic VNF Manager and VNF Parameters)
target The name of the Virtual Network Function that requires one or more parameters (see Generic VNF Manager and VNF Parameters)
parameters The list of parameters provided by the source to the target

It is possible to let the Orchestrator to calculate dependencies automatically by providing some parameters in the VNF Descriptor part. Please check the VNF Descriptor page

Network Service Onboarding

After saving the NSD (giving json as format to the file) you could easily upload it via the Dashboard or the Command Line Interface.