sonata-nfv / tng-sdk-descriptorgen

5GTANGO descriptor generator
https://sonata-nfv.github.io/tng-sdk-descriptorgen/
Apache License 2.0
1 stars 2 forks source link
descriptor generation nfv sdk tango

Join the chat at https://gitter.im/sonata-nfv/Lobby Build Status

Note: The 5GTANGO descriptor generator is now integrated in the tng-sdk-project tool that provides the same functionality but also offers usage via a CLI and as a micro service with a REST API. Thus, the development in this repository is discontinued.

5GTANGO Descriptor Generator

The descriptor generator provides a simple web-based GUI that allows to setup and generate correct descriptors (VNFDs and NSDs). The generator uses provided high-level information and combines it with sensible default values to generate descriptors with a single click.

It generates descriptors both for 5GTANGO and for OSM. The resulting VNFDs and NSDs are displayed in the GUI and can still be adjusted as needed - directly in the GUI. The final descriptors can then be downloaded as complete 5GTANGO project (incl. a project manifest), which is ready for packaging and further use.

Installation and usage

Options:

Docker deployment

If you want to deploy the descriptor generator as a docker container, you can do so using the Dockerfile. The container will run a nginx webserver serving the descriptor generator. Simply download the repository and run from within:

DockerfilePipeline is just used for the Jenkins pipeline.

Tests

To test that everything is working correctly, you can use the provided unit tests in the pipeline/unittest directory. The tests use the Protractor testing framework, which can be installed using

Protractor needs Java, which can be installed using sudo apt-get install default-jdk on Ubuntu. Once installed, the unit tests can be executed with (inside the pipeline/unittest directory):

protractor conf.js

This triggers the tests using Chrome in headless mode. If and only if all tests finish successfully, protractor exits with code 0.

Documentation

See the general workflow below. For further information refer to the wiki.

Input

The web interface asks for high-level information about the network service such as author and service name. For all fields, default values are provided to support the easy and fast generation of new descriptors. Clicking the "Generate" button triggers the generation of the descriptors.

The GUI also allows to upload already existing VNFDs that should be included in a network service. The descriptorgen then automatically generates the other VNFDs and integrates the existing VNFD in the NSD. As a requirement, the uploaded VNFDs need the connection points input, output, and mgmt. To integrate an uploaded VNFD in a network service, simply select it in the left drop-down menu. For such uploaded VNFDs, the image is already defined such that the specified image name and type in the GUI is ignored.

input

Output

The generated descriptors are directly shown in code boxes that allow further manual adjustments and that provide yaml code highlighting. Once satisfied with the result, the descriptors can be downloaded individually or bundled together in a zip file.

input

Dependencies

The descriptor generator needs an active internet connection to fetch the current default descriptors from GitHub repositories (typically from tng-schema). All dependencies are included directly in the repository or are loaded in index.html - no installation required.

Development and contribution

Please check or create issues matching the current and future development steps.

Contribution is very welcome! Please, fork the repository and create pull requests to submit implemented features. Make sure all unit tests pass before creating a pull request.

Lead developers:

License

The descriptor generator is published under Apache 2.0 license. Please see the LICENSE file for more details.