Releases

SONATA is developed and released around 6-month cycles. After the initial release, additional stable point releases were created in each release series. You can find the detail of the various release series here:

Release v4.0

This is version 4.0 of the SONATA platform. The main enhancements of this release are organized by sub-system and GitHub repository::

1.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.

2. 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.

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.

4. 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.

Release v3.1

Release v3.1 of the SONATA platform is mainly a bug fixing update. Still, a number of enhancements made it into this version. Among them are the following:

  • Enhancement of email notification mechanism in monitoring system
  • Additional information exposure by infrastructure adapter
  • Increased flexibility of the SSM/FSM mechanisms
  • Example of placement SSM
  • Security enhancements
  • Upgrade of underlying libraries to eliminate security vulnerabilities

More details on the enhancements in this release can be found in the release notes of the individual SONATA components.

Release v3.0

This is version 3.0 of the SONATA platform, the fifth release of the code. The main enhancements since the last release are:

  • improved customizability/programmability of the MANO framework
  • support for VNF chaining
  • novel validation tool for network services
  • OpenStack-like VIM interface emulation for MANO integration
  • added location-awareness for placement decisions
  • improvements for multi-PoP environments
  • improved user, role and group management
  • improved access control
  • support for licence management
  • improved installation process
  • many additional features, bug fixes, performance improvements

Detailed release notes:

  • Service Platform
    • improved customizability/programmability of the MANO framework
    • improved user, role and group management
    • improved access control
    • added package validation and signature verification
    • added package, service and function ownership (to connect with licence management)
    • added location-awareness for placement decisions in service instantiation
    • added KPIs to most operations
    • added synchronous (through a Web Socket) and asynchronous (through JSON) monitoring data requests
    • added service instance termination
    • added rate limit control to all operations
    • support for service licence management
  • Service Development Kit
    • Integrated authentication support in son-access (part of son-cli). This allows to authenticate users before they connect to the/a service platform.
    • Support for package signatures in son-package (part of son-cli). This enables a/the service platform to validate that service/function packages are actually originating from trusted developers.
    • Graphical User Interface (son-editor) for the creation of network services and associated service and network function descriptors.
    • Improved integration with GitHub. This enables easy reuse of existing service and function descriptors directly from GitHub repositories.
    • Inclusion of advanced service validation functionality including graphical debugging tool (son-validate).
    • The emulator (son-emu) now supports OpenStack-like API endpoints to allow carrier-grade MANO stacks (SONATA, OSM) to control the emulated VIMs.
    • The emulator (son-emu) has added a prototype implementation of OpenStack Neutron's SFC chaining API to the emulator.
    • The emulator (son-emu) is now compatible with 802.1Q Standard 5.3.1 in using the fixed VLAN-tag range for internal chaining system.
    • The emulator (son-emu) now supports experimenting with different placement topologies as well as evaluating different scaling options.
    • The profiling tool now supports two profiling modes: i) active mode in order to generate a range of service and resource configurations which can be deployed and for which metrics can be collected, and ii) passive mode which enables to gather metrics directly in the emulator.
    • The monitoring component (son-monitor) enables to receive streamed monitoring data from the SONATA service platform through Websockets.
    • The monitoring component (son-monitor) supports host overload detection functionality from VNFs.
    • The monitoring component (son-monitor) supports external service access points for traffic generation and reception.
    • Reusable Service and Function Specific Management templates have been added for monitoring, scaling and placement. These can be easily adapted by developers in order to implement custom logic.

Release v2.1

The SONATA project published a minor release of the SONATA software on 2017-05-22. This release mainly contains bug-fixes mostly related to the installation scripts of the Service Platform.

  • Service Platform
    • son-install: A simple Service Platform installer based on Ansible.
    • son-sp-infrabstract: Descriptors alignment with latest version.
    • son-sp-infrabstract: Extended and refactored VIM configuration API.
    • son-gui: Integration with SONATA's User Management component.
    • son-gui: New functionality for adding a new VIM/WIM.
    • son-monitor: Addition of new APIs (Distributed Monitoring System).
    • son-monitor: Extension of the remote reconfiguration mechanism.
    • son-gkeeper: Support for user registration (sign-up), user login (sign-in), user logout and User Management public key fetching.
    • son-gkeeper: Registration of first KPIs: package on-boarding and user registration counters.
    • son-gkeeper: Keycloak backend server integration.
    • son-gkeeper: Improvements in the VIM management code and features.
    • son-mano-framework: Threading optimization for the message broker abstraction.
    • son-mano-framework: Fix race conditions in the registration process.
    • son-mano-framework: Workflows and APIs for updating and terminating SSMs and FSMs.
    • son-catalogue-repos: Added username ownership to catalogue files and descriptors.
    • son-catalogue-repos: Improved some of catalogue API responses.
  • Service Development Kit
    • son-access: New package signing feature that allows users to sign a package before submitting it to the Service Platform.
    • son-access: New feature to generate Users' private and public key when it is not provided by the User.
    • son-profile: Son-profile now works with the latest descriptor schemas.
    • son-monitor: Now using latest Docker API version .
    • son-emu: Emulator's dashboard is now automatically served by the REST API server.
    • son-emu: Extended dashboard shows with placement graph, IP and MAC of each VNF interface and allows to start an xterm terminal window by double-clicking on the VNF node in the graph.
    • son-emu:REST API updates: export the placement graph in json format (3djs compatible), start a terminal window for a deployed VNF.
    • son-editor: A new web-based GUI to create function and service descriptors.

Release v2.0

The second stable release of the SONATA software has been released on 2017-02-14. Aside several bug fixes, it includes a set of new interesting features.

  • Service Platform
    • son-install: A simple Service Platform installer based on Ansible.
    • son-sp-infrabstract: Removed Python dependencies in OpenStack wrapper. Now full Java.
    • son-sp-infrabstract: Several experimental functions including multi-oP service deployment and SFC configuration and VNF image pre-deployment and management.
    • son-gui: Ready to support HTTPS.
    • son-gui: Automated addition of new VIMs in SONATA Service Platform.
    • son-gui: CSS enhancements to support (Android) mobile app.
    • son-monitor: Replacement of MySQL with PostgreSQL. Thus, consolidating the SP databases.
    • son-monitor: On Prometheus, extension of the remote reconfiguration mechanism.
    • son-monitor: On Pushgateway, support metric timestamps.
    • son-gkeeper: HTTPS support.
    • son-gkeeper: Replaced dependency on RestClient gem for Curb, a much faster gem.
    • son-mano-framework: Update SSM/FSM Rgistration.
    • son-bss: User management system ready to use the Gatekeeper's User Management module for authorization and authentication.
  • Service Development Kit
    • son-validate: A new tool to validate of syntax, integrity and network topology of descriptors.
    • son-access: A new tool to enable security in communication between SDK and the Service Platform. It allows to request access token based on user credentials, request list of SP Catalogue resources like services, functions, packages, and to read/write workspace configuration parameters.
    • son-package: Integration with son-validate and son-access.
    • son-package: Packaging of individual and arbitrary components, such as service and function descriptors.
    • son-profile: Introduction of Profiling Experiment Description (PED), automated generation of resource-limited son-service-packages.
    • son-monitor: Introduction of Monitor Service Descriptor (MSD), automated monitoring of a service deployed on son-emu with Prometheus and Grafana.
    • son-emu: Major E-LAN and E-LINE networking improvements.
    • son-emu: Xterm auto-start for son-emu-cli.
    • son-emu: REST API extension to monitor service resources.
    • son-emu: Moved to latest Docker client APIs (2.0.2).
    • son-emu: Added a dashboard that visualizes the emulator state (datacenters and running containers).

Release v1.0

The first stable release of the SONATA software has been released on 2016-09-16.

  • Service Platform
    • son-sp-infrabstract: Extension and integration of Networking VIM, able to configure SFC and networking inside NFVi-PoP.
    • son-sp-infrabstract: Service SFC configuration with OpenDaylight SFC agent.
    • son-sp-infrabstract: Integration with WIM Adaptor for WAN configuration.
    • son-gui: Provides monitoring information about all SONATA's VIM Environments.
    • son-gui: Provides real time alerting.
    • son-gui: New monitoring charts.
    • son-monitor: Update to Prometheus v0.17 and Pushgateway v0.2.0.
    • son-monitor: Integrated new monitoring rules.
    • son-gkeeper: New endpoint for updating a service instance.
    • son-gkeeper: Improved API with the Business Support System (BSS).
    • son-gkeeper: Removed support for the generation of a package file.
    • son-gkeeper: Accept and process notifications from the Service Lifecycle Manager.
    • son-mano-framework: New MANO plugin to manage service specific managers (SSM).
    • son-mano-framework: SSM updating (at runtime!).
    • son-mano-framework: NSR management during Service Update chain.
    • son-mano-framework: 'REST API call to monitoring framework' exceptions are caught and handled.
  • Service Development Kit
    • son-package: Improved log messages (more explicit).
    • son-publish: Result in publish failure if a single descriptor fails to upload.
    • son-push: Check returning code of SP Gatekeeper and log appropriate result.
    • son-monitor: Combine all metrics in a monitor descriptor file, describing the metrics that will be exported from the SDK emulator and displayed in a Grafana dashboard.
    • son-monitor: Starts a Prometheus and Grafana docker container to store and display metrics.
    • son-emu: Full integration of son-monitor.
    • son-emu: son-cli now displays more useful outputs and has extended parameters.
    • son-emu: Automatic deployment of service access point (SAP) containers (e.g. for traffic generation).
    • son-emu: Improved network chain management.

Release v0.9

The initial release of the SONATA software has been released on 2016-07-20. The core features are:

  • Service Platform
    • OpenStack VIM abstraction. Integrate OpenStack as Virtual Infrastructure Manager with the SONATA system.
    • Prometheus integration for monitoring of VNFs and Network Services.
    • Support of SONATA packages for VNF and Network Service uploads.
    • Flexible MANO framework and plugin management system.
    • Intelligent descriptor catalogues storage for Package, NS, VNF and SSM/FSM descriptors.
  • Service Development Kit
    • son-emu: Multi-PoP NFV environment emulator based on Mininet, Docker, and Containernet.
    • son-package: Package generator to create SONATA VNF/NS packages.
    • son-push: Package pusher to upload (on-board) packages to the SONATA Service Platform.