- Description: 5GTANGO Service Platform Slice Manager
- Version: 2.0
- Actions:
- Network Slice Template Management (create, check, update, delete).
- Network Slice Instantiation Management (create/instantiate, check, update, terminate, delete).
A Network Slice Instance (NSI) is defined in by Mschner K. et all Hedmar, P. in Description of network slicing concept. (NGMN Alliance document, January 2016) as a set of network functions and the resources for these network functions which are arranged and configured, forming a complete logical network, which meets certain characteristics in terms of available bandwidth, latency, or QoS, among others described in 5QI (5G QoS Indicator). Our component follows ETSI EVE 012 approach to combine 3GPP Network Slices and ETSI NFV network services. More information is provided at the wiki.
- Features:
- Network Slice Service Composition: link all the Networks Services within a Netwrok Slice
- Network Slice Service Sharing: Share Network Services among Network Slices
- Single-VIM Deployment: all Network Services composing a Network Slice are instantiated in one VIM.
It is strongly recommended to install this component with the whole SONATA SP. In order to install this component, please follow the procedure described in the official 5GTango Documentation webpage.
To use the SONATA Network Slice Manager feature, there are two possible options:
INFORMATION NOTE: Once installed (together with the SP modules) and before using it, if you are new on the Network Slicing "world", please check the information about the available functionalities accessing the tng-slice-mngr wiki page.
If you still want to to install this component alone, just run the following command:
python setup.py install
once installed, to start the component:
python3 main.py
In order to start using this component, please reffer to the previous quickguide link.
To contribute to the development of this 5GTANGO component, you may use the very same development workflow as for any other 5GTANGO Github project:
- you have to fork the repository and create pull requests.
- you pull requests will be verified and merged once a reviewer accepts it.
In order to contribute to this component, please be aware about its internal archtiecture:
This component is design with two main components:
-
Slice Lifecycle Manager: It is the responsible for the entire lifecycle management of the created network slice instance, until it is terminated. Subsequent lifecycle events are likely to have an impact on the lifecycle of the underlying NSs, but not systematically. The Slice Lifecycle Manager function is responsible for the definition and update of Network Slice Templates (NST).
-
Slice2NS Mapper: This component has to maintain an association between NST and NSDs identifiers, as well as an association between slice identifiers and NS instance identifiers. Slice2NS Mapper is responsible for interacting with SP MANO Framework.
As the SONATA Service Platform is composed by multiple modules and all of them using Dockers, the 5GTANGO Network Slice Manager environment and its dependencies are already installed within the Docker. This component uses the following dependencies:
- Flask (0.12.2)
- flask-restful
- python-dateutil
- python-uuid
- requests
- xmlrunner (1.7.7)
INFORMATION NOTE: these are minimum versions, it is not tested with the newest versions probably they should be fine. If there's no specific version, the newest versions should work fine but it is not tested.
In order to have a full functionality, it is necessary to install the all the SONATA SP modules, further information in the 5GTango Documentation webpage.
This is the V2.0 of this component, which is part of SONATA SP 5.0 (developed by the EU 5GTango project)
No configuration is necessary, as the port where this component listens (5998) is already defined and agreed with the other SONATA SP components.
Please use the tests in tng-tests
Each SONATA component has its API definition, the next sub-setions present a basic tng-slice-mngr API information. Further information about the 5GTANGO software, click in the Global SONATA API Webpage.
Available OpenAPI description: slice-mngr_NST.json
Action | HTTP method | Endpoint |
---|---|---|
CREATE NST | POST | /api/nst/v1/descriptors |
GET ALL NST | GET | /api/nst/v1/descriptors |
GET SPECIFIC NST | GET | /api/nst/v1/descriptors/{nst_uuid} |
DELETE NST | DELETE | /api/nst/v1/descriptors/{nst_uuid} |
Available OpenAPI description: slice-mngr_NSI.json
Action | HTTP method | Endpoint |
---|---|---|
CREATE/INSTANTIATE NSI | POST | /api/nsilcm/v1/nsi |
GET ALL NSIs | GET | /api/nsilcm/v1/nsi |
GET SPECIFIC NSI | GET | /api/nsilcm/v1/nsi/{nsi_uuid} |
TERMINATE NSI | POST | /api/nsilcm/v1/nsi/{nsi_uuid}/terminate |
DELETE NSI | DELETE | /api/nsilcm/v1/nsi/{nsi_uuid} |
This component uses the tng-cat and tng-rep as its database references. By using them, the Network Slice mManager data objects are kept in databases managed by thes two components.
This 5GTANGO component is published under Apache 2.0 license. Please see the LICENSE file for more details.
The following lead developers are responsible for this repository and have admin rights. They can, for example, merge pull requests.
- Ricard Vilalta (ricard.vilalta@cttc.es)
- Pol Alemany (pol.alemany@cttc.cat)
Reviewers:
- Felipe Vicens (https://github.com/felipevicens)
- You may use the mailing list sonata-dev-list
- Gitter room