Skip to content
Stefan Schneider edited this page Jul 5, 2018 · 3 revisions

tango_logo

Welcome to the tng-sdk-descriptorgen wiki. This descriptor generator can automatically generate virtual network function descriptors (VNFDs) and network function descriptors (NSD) based on high-level information provided through a simple GUI.

Example

To test the descriptor generator directly, without download or installation, go to https://sonata-nfv.github.io/tng-sdk-descriptorgen/.

Enter some high-level information about the network service you want to create, e.g., by adding multiple VNFs and specifying their images. Then click "Generate" to generate the corresponding VNFDs and NSD. The descriptor generator automatically generates descriptors for both 5GTANGO and OSM. You can review and edit the descriptors on the following page. Once satisfied with the descriptors, click "Download all" to download the zipped descriptors. This automatically generates a project manifest (project.yml), which references all created descriptors and turns the downloaded descriptor directory in a NFV project. This project can then be read and further processed by tools like tng-sdk-project or tng-sdk-package.

Architecture design

Default descriptors

The generation of descriptors is based on the high-level information provided by the user as well as on sensible default values. These default values are taken from so-called default descriptors, which represent a typical NSD or VNFD. There are separate default descriptors for 5GTANGO NSDs and VNFDs and OSM NSDs and VNFDs. They include default values such as an input, output, and management connection points or typical resource requirements. The generator copies these default values and only adjusts the ones related to the provided high-level information. This allows to quickly generate typical descriptors without having to provide too much information. Of course, any of the generated fields and values can still be edited afterwards. The default descriptors are loaded from the tng-schema repository (in production mode) or from my fork (if production mode is turned off, allowing quicker adjustments of these underlying default descriptors).

JavaScript

The entire generation is implemented in JavaScript and executed on the front-end browser. In addition to third-party code, e.g., prettify, there is generate.js for general functionality, e.g., loading the default descriptors and providing listeners for the buttons. Furthermore, there are separate files genTango.js and genOsm.js that handle the generation of descriptors for 5GTANGO and OSM, respectively. Similarly, further files can be added to enable generation of descriptors for other platforms.

Lead Developers

The following lead developers are responsible for this repository and have admin rights. They can, for example, merge pull requests.

  • Stefan Schneider (@StefanUPB)
  • Manuel Peuster (@mpeuster)
Clone this wiki locally