Slice Manager
Slice Manager
Slice Manager
1
alfonso.egio@i2cat.net
High level description of 5GCity Slice Manager component regarding its architecture, work-flows
supported, northbound and southbound APIs.
3 Architecture 5
5 Work-flows 9
Please notice that some implied modules kept in the source repository (for demo backwards com-
patibility ) are being deprecated leaving place for the RAN Infrastructure related modules and Multi Tier
Orchestrator (MTO)[5] able to handle fog05[6].
Deprecated modules:
• SDNWifiAccessPoint
• VirtualWifiAccessPoint
• CaptivePortalInstance
• OSMR4
Following the diagram, controllers at the left represent a layer containing the REST API endpoint
controllers (inherited from flask restful.Resource) (located in src/api folder). The controllers
manage tasks as payload data validation and interfacing with business model modules to persist newly
created entities and also produce JSON-based views.
Business logic layer (business) manage the operational logic of the Slice Manager and its main
functions apart from supporting business model restrictions, include interfacing Mongoengine mod-
ules in order to support data persistence and also trigger southbound clients API calls when needed
(OpenStack / Open Source Mano / Netopeer / i2CAT Box).
Folder named models contain Mongoengine Documents regarding the relational model of the Slice
Manager; apart from containing document definition, modules on this folder also contain some busi-
ness logic regarding predefined document post-deleting behavior using Mongoengine signals.
4.2 Compute
Corresponds to an OpenStack compute node; since the compute already should exist to work with it
through the platform, the proper way to handle POSTing a new compute into the platform should be to
works as expected with Queens version or we can set this kind of restriction logic on the Slice
Manger business layer.
4.9 Slice
Basically contains an array of previously created Chunk pointers (OpenStack VLANs, OpenStack
projects, Chunkete Chunks over RAN Infrastructures, etc ...) Current implementation does not limit the
amount and type of chunks that the slice can contain (anyway it does not provide some topological
support nor validation). This document is focused on defining current slice implementation regarding
OpenStack and RAN Controller entities in order to bring focus on details and particularities to extend
this Slice definition to other software or hardware artifacts implied in the project.
In addition as mentioned before, if the slice contains also a Chunkete Chunk over a RAN Infrastruc-
ture, concurrently to the deployment of the NFV Network service over the Multi Tier Orchestrator, slice
manager is going to request the RAN Controller a SWAM Service configured according to the same
VLAN tag of the OpenStack VLAN. In case everything is properly defined and created, Slice Manager
requests the Network Service instantiation to Open Source Mano; keeps polling on its deploying state
and in case everything goes fine, it attaches the VM to the OpenStack VLAN using direct calls to Open-
Stack API and configures the internal machine interface to provide transport layer from the machine to
the wireless appliances in order to process end user traffic.
5 Work-flows
Figures in the document include also all detailed work-flows current implementation including the
data implied in each call. Please note that by convention if an action is managed in case error / success
further workflow steps correspond to KO / OK arrows. In case there’s some kind of failure, the workflow
ends using a KO path.
References
[1] https://github.com/5gcity
[2] https://github.com/5gcity/5GCity-slice-manager
[3] https://www.5gcity.eu/hack bristol/
[4] Chunkete SRS, Ricardo González, February 2019
[5] https://github.com/5GCity/5GCity-multi-tier-orchestration
[6] https://github.com/eclipse/fog05
[7] https://ask.openstack.org/en/question/91040/limit-which-availability-zone-a-project-can-use/