Release 4.0

 

This is version 4.0 of the SONATA platform.

All release details can be found at: https://5gtango.eu/software/documentation.html

The main enhancements of this release are organized by sub-system and GitHub repository:

SDK

tng-sdk-validation

  • Syntax, integrity and topology validation as it was implemented in sonata-nfv/son-cli tool.
  • Added complete unit tests for validation function, CLI and Representational State Transfer (REST) API.
  • REST API with synchronous and asynchronous modes.
  • Added basic custom rule validation, unit testing and example rule descriptor.
  • Descriptor schemas are downloaded from sonata-nfv/tng-schema repository. In future versions the Uniform Resource Locator (URL) to download to schema will be obtained from the Descriptor.
  • REST API local mode with watchers implemented (only for functions).
  • API refactor to follow REST API best practices.

tng-sdk-img

  • Functionality for converting Docker-based VNFs to QEMU-based VNFs.
  • Separate processing of VDUs.
  • Support of local docker images.

tng-sdk-descriptorgen

  • Simple and responsive web-based GUI based on Bootstrap.
  • Generation of NSD and VNFDs based on provided high-level information and sensible default values with one click.
  • Users only need to specify high-level information.
  • Generated descriptors can be edited in the GUI (with syntax highlighting) to quickly perform small adjustments.
  • Final descriptors can be downloaded as zipped NFV project, including a generated project manifest (project.yml), which is necessary for further project management or packaging.

tng-sdk-package

  • Packaging using CLI.
  • Unpackaging using CLI or REST.
  • Docker-based micro service deployment.
  • Basic (static) package validation.
  • Multiple packager components.
  • Multiple storage backends.

son-emu

  • Integrated vim-emu with OSM release FOUR.
  • Re-deploy network services without emulator re-start.
  • Made complete codebase PEP8 compatibles.
  • Added automated code style checks to the CI pipeline.
  • Made port deletion process more robust.
  • Better unit tests.
  • Cleaned up examples.
  • Added examples for OSM release FOUR.
  • Many small bug fixes.

tng-sdk-project

  • Create new SONATA workspaces (e.g., with configuration files).
  • Used by other SDK tools, e.g., to determine the MIME type of SONATA descriptors.
  • Create new NFV projects containing arbitrary artifacts, e.g., descriptors or VNF images.
  • Automatically generates a corresponding project manifest (project.yml), which states project information and lists all involved files.
  • Project files can easily be added or removed with –add and –remove, supporting wildcards (similar to the well-known git CLI).
  • The project status (–status) provides a quick overview of the project information and involved files.
  • A translation functionality (–translate) automatically translates old SONATA projects to the new v4.0 format.
  • Complementary to the simple descriptor generation GUI.
  • Quick generation of descriptors for experienced users, preferring a CLI.
  • To be integrated with the project management in the future (e.g., to automatically generate suitable descriptors when creating a new project).

tng-sdk-sm

  • Creation and removal of Service-Specific Manager (SSMs) and Function-Specific Manager (FSMs).
  • Generating payloads that serve as input for tests for FSM routines.
  • Execution and testing of SSM and FSM routines, with generated or custom payloads as input.

tng-schema

  • Added descriptors for: Tests, Policies and SLAs.

tng-sdk-access

  • Onboarding using a ready-made CLI scripts (tng-onboard) instead of CURL.
  • Support for onboarding on 5GTANGO platform.
  • Support for onboarding on OSM.

V&V Platform

tng-vnv-lcm

  • API for notification of modified package in catalogue.
  • API for manual test invocation.
  • Initial integration towards SONATA SP.
  • Ability to support creation of test execution plans via tagging mechanism.
  • API for querying test results.

tng-vnv-tee

  • Ability to support creation of test execution plans via tagging mechanism.
  • Support for three test plugin types: Bash, Wrk and TTCN-3.

Service Platform

son-mano-framework

  • Northbound API extension with a scaling API: It is now possible to request a scaling event of a running NS.
  • Policy based placement: the Placement Plugin takes placement policies from NS developers, customers and the operator into consideration when calculating the optimal placement.
  • ILP based algorithm: The generic placement algorithm is formulated and solved as an ILP problem.
  • The SSM mechanism was extended so that it can now make scaling and migration requests to the MANO Framework.
  • Improved ENV variable handling.
  • CI/CD done through Jenkins pipeline.
  • Minor bugfixes.

tng-probes

  • moongen: The MoonGen probe based on the MoonGen packet generator.
  • uperf: Network probe based on uperf network performance tool.
  • owamp: (one-way active measurement protocol) to Prometheus.
  • wrk: HTTP benchmarking tool based mostly on wrk.

son-sp-infrabstract

  • Cloud-init support for HEAT based stacks.
  • Scaling out support for HEAT based stacks.
  • Minor bugfixes.

tng-sla-mgmt

  • SLA Schema Introduced (YML, JSON).
  • SLA Template examples provided (YML, JSON).
  • Create a new SLA Template with one or more guarantee terms.
  • Automatic formulation of the Agreement, when a Network Service is instantiated.
  • Mark SLA (Agreement) as ‘TERMINATED’ on service termination.
  • Mark SLA (Agreement) as ‘VIOLATED’APIs for SLAs Management are introduced (Check WIKI pages).
  • Consume SLA violation alert from Monitoring Manager (Through MQ).
  • Publish violation alert to another topic (SLA manager driven).
  • Unit tests developed.
  • CheckStyle tests developed.
  • Integration tests developed (tng-tests Github’s Repository).
  • Health Check developed (PING/PONG).

tng-policy-mngr

  • Policy Schema Introduced (YML, JSON).
  • Create/Read/Update/Delete a runtime policy for a network service.
  • Associate a runtime policy with an SLA.
  • Define a runtime policy as default (to be enforced if no SLA is selected).
  • Enforce a runtime policy.
  • Request activation of monitoring rules associated with the runtime policy.
  • Realize inference based on set of policy rules and real time monitoring alerts.
  • Produce and enforce intelligent orchestration actions. 
  • Unit tests developed.
  • Integration tests developed (tng-tests Github’s Repository).

tng-slice-mngr

  • Network Slice Template/Instance Objects Defined.
  • Network Slice manager REST API.
  • Two work modes with SONATA SP (further information in this wiki page: About the work modes).

tng-gtk-sp

  • Allow for service records querying.
  • Allow for function records querying.
  • Allow a Network Service to be instantiated.
  • Allow a Network Service instance to be terminated.
  • Make available an endpoint to allow external entities to conclude about the availability of this micro-service.
  • Make documentation on the supported API available from the root.

tng-cat

  • Support for JSON and YAML formats for descriptors.
  • Support of full-text search in the content of the descriptors and the corresponding metadata.
  • Support of GridFS File System for storage of 5GTANGO Packages/Arbitrary Files.
  • Developed Unit Tests for the component.
  • Included in integration tests with several components.
  • Enrichment of package descriptor files with additional metadata.
  • Development of RESTful API for the exposure of the available Create, Read, Update, Delete (CRUD) operations.
  • Intelligent delete of the entire 5GTANGO package from the delete operation of the corresponding package descriptor.
  • Full mapping of the content of the corresponding 5GTANGO Package inside the Package Descriptor.
  • Enrichment of virtualized network function descriptor files with additional metadata.
  • Development of RESTful API for the exposure of the available CRUD operations.
  • Enrichment of network service descriptor files with additional metadata.
  • Development of RESTful API for the exposure of the available CRUD operations.
  • Enrichment of 5GTANGO Package file with additional metadata.
  • Development of RESTful API for the exposure of the available CRD operations of the metadata.
  • Retrieval of the binary data from the GridFS File System.
  • Full mapping of 5GTANGO Package with the included files.
  • Enrichment of arbitrary files with additional metadata.
  • Development of RESTful API for the exposure of the available CRD operations of the metadata.
  • Retrieval of the binary data from the GridFS File System.
  • Enrichment of policy descriptor files with additional metadata.
  • Development of RESTful API for the exposure of the available CRUD operations
  • Enrichment of network slice template files with additional metadata.
  • Development of RESTful API for the exposure of the available CRUD operations.
  • Creation of dynamic update mechanism of arrays included in the descriptors.
  • Enrichment of service level agreement template files with additional metadata.
  • Development of RESTful API for the exposure of the available CRUD operations.

tng-rep

  • Store network service instance records.
  • Store network slice instance records.
  • Store VNF instance records.
  • Store test suite results.
  • Store tests plans.

son-monitor

  • Addition of new APIs.
  • Support Alerting for SLA and Policy Components.
  • Support SNMP protocol.
  • Upgrade notification mechanism.
  • Bug fix.

son-monitor-probe

  • Update metric labels.
  • Update metric labels.

tng-monitor-infra

  • Add collection mechanism from OpenStack ceilometer.
  • Add collection mechanism from OpenDayLight controller.

tng-gtk-vnv

  • Test querying.
  • Test plans querying.
  • Test results querying.

tng-gtk-common

  • Allow the uploading of packages.
  • Allow the query of the package processing status.
  • Allow the validation of the uploaded packages.
  • Allow the retrieval (download) of the uploaded package file.
  • Allow the query of package’s meta-data.
  • Allow the notification of external systems about the successful un-packaging of a package.
  • Allow the notification of the entity that as uploaded the package about the final result of the process.
  • Allow the query of package’s options.Allow the query of services’s meta-data.
  • Allow the query of services’s options.
  • Allow the query of function’s meta-data.
  • Allow the query of function’s options.
  • Allow the query of the component’s root content.
  • Allow the query of the component’s availability.

tng-api-gtw

  • A request redirection mechanism (NGINx web server) adequately configured for 5GTANGO’s infrastructure.
  • A simple routing mechanism, configurable at deployment time, to route requests from the outside to a specific (set of) micro-services.
  • Support for the main HTTP verbs in the request: GET, POST, PUT, PATCH, DELETE, OPTIONS, HEAD.
  • Basic request validation mechanisms, such as HTTP verb(s) allowed, user authentication needed, etc., to avoid invalid requests to proceed within the stack.
  • Logging and KPI collection.

 

Portal


tng-portal

  • Includes a Validation and Verification section containing a list of the packages, services, functions and tests. Supports the view of their detailed information including the test’s results, as well as the execution of the tests from the interface.
  • Includes a Service Platform section containing: Packages, Services, Functions, Placement Policy, Runtime policies, SLAs and Slices management. Supports the view of the detailed information, the creation of SLAs and slices and the removal of policies, SLAs and slices. Besides, the Portal allows to associate runtime policies with their related SLA, to set one runtime policy to be the default one and finally, the instantiation and termination of the slice templates.
  • Includes a Service Management section containing: Network Services, Requests and Network Service Instances management. Supports the view of the detailed information and the instantiation and termination of the listed network services.
  • Includes searching and filtering tools in the whole application.