Custom VNF tutorial. This section describes how to create an experiment with a custom NFV resource. The previous tutorial explained how to use the iPerf resource that is provided by the NFV Manager. This tutorial however, describes how to create a custom NFV resource and how to use it in an experiment. For this, it shows how to create a self-build iPerf NFV resource and how to make the experiment use it. The experiment’s folder structure is the same as in the previous tutorial and can be taken from
1.1. Also, the TOSCA.meta and Metadata.yaml files can be reused as they are. The first difference from the previous tutorial is in the experiment.yaml file. You can find it in appendix C. The two important differences are the resource ID and the added ‘file_name’ property. The resource ID does not match one of the provided resources anymore. The ‘file_name’ property points to the location of the CSAR file which describes the NS. Additionally, in contrast to the previous tutorial, this example uses its own NS definition stored in the experiment’s ‘Files’ directory. Just like the experiment, the NS is described in TOSCA format and packed in a CSAR file. Here is the directory structure: ├── Definitions | └── custom-iperf.yaml ├── Scripts | └── client | ├── xxxxxxx.xx | ├── iperfserver_xxxxxxxxx.xx | └── server | ├── xxxxxxx.xx | └── xxxxx-xxxxxx.xx └── TOSCA-Metadata ├── Metadata.yaml The custom-iperf.yaml file can be found in appendix D. It contains the definition of the NS i.e. the description of the VNFs and their relations and dependencies to one another. There are two node templates of type openbaton.type.VNF, which describe an iPerf server and client. At the bottom of the file is the relationship description, which specifies that the client needs the server’s IP address on the network ‘softfire-network’. The ‘Scripts’ directory contains two subdirectories, one for each VNF. Their names correspond to the types of the VNFs. In these directories are the scripts stored which shall be executed in the different lifecycle phases of the VNF and install iPerf and start the connection. You can find the content of the scripts in appendix E. The Metadata.yaml defines the essential properties of the NS. Here is the one for the iPerf example: name: iPerf tutorial NSD description: “NSD in TOSCA format describing a NS deploying an iPerf client and server.” provider: SoftFIRE shared: true nfvo_version: 3.2.0 image: upload: false names: - Ubuntu-16.04 vim_types: - openstack The image property says...