Add tooling page to integration project
[integration.git] / docs / docs_E2E_network_slicing.rst
1 .. This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE
2 .. Full license text at https://creativecommons.org/licenses/by/4.0/legalcode
3
4 .. _docs_E2E_network_slicing:
5
6
7 E2E Network Slicing Use Case
8 ============================
9
10 Overall Blueprint
11 -----------------
12
13 The objective of this use case is to realize **End-to-End 5G Network
14 Slicing** using ONAP. An End-to-End Network Slice consists of RAN (Radio
15 Access Network), Transport Network (TN) and Core Network (CN) slice
16 sub-nets. This use case intends to demonstrate the modeling,
17 orchestration (life cycle and resources) and assurance of a network
18 slice which are implemented in alignment with relevant standards. The
19 key highlights of this use case include:
20
21 -  Modular architecture providing building blocks and flexibility under
22    various deployment scenarios
23
24 -  Functionality aligned with 3GPP and other relevant standards such as
25    ETSI and IETF
26
27 -  Interfaces and APIs aligned with relevant standards (3GPP, IETF,
28    ETSI, TM Forum, etc.) while enabling easy customization through use
29    of appropriate plug-ins. This would enable easier interoperability of
30    slice management functions realized within ONAP with 3\ :sup:`rd`
31    party slice management functions, as well as northbound and
32    southbound systems.
33
34 -  Taking a step-by-step approach to realizing different architectural
35    options in an extendable manner.
36
37 -  Providing flexibility in network slice selection by providing an
38    option of manual intervention, as well as abstracting the network
39    internals as needed.
40
41 -  The use case implementation team is composed of service providers,
42    software and hardware vendors, solution providers and system
43    integrators thereby taking into consideration different perspectives
44    and requirements.
45
46 This use case is a multi-releases effort in ONAP with the first steps
47 taken in Frankfurt release. It will continue to expand in scope both in
48 breadth and depth, and along the journey it shall also align with
49 updates to the relevant standards which are also currently evolving.
50 This use case shall also collaborate with other open initiatives such as
51 O-RAN to enable wider adoption and use.
52
53 See the `wiki <https://wiki.onap.org/display/DW/Use+Case+Description+and+Blueprint>`_
54 for details.
55
56 Abbreviations
57 -------------
58
59 +---------------+--------------------------------------------+
60 |  Abbreviation |                   Meaning                  |
61 +===============+============================================+
62 | CSMF          | Communication Service Management Function  |
63 +---------------+--------------------------------------------+
64 | CSI           | Communication Service Instance             |
65 +---------------+--------------------------------------------+
66 | CST           | Communication Service Template             |
67 +---------------+--------------------------------------------+
68 | NSI           | Network Slice Instance                     |
69 +---------------+--------------------------------------------+
70 | NSMF          | Network Slice Management Function          |
71 +---------------+--------------------------------------------+
72 | NSSI          | Network Slice Sub-net Instance             |
73 +---------------+--------------------------------------------+
74 | NSSMF         | Network Slice Sub-net Management Function  |
75 +---------------+--------------------------------------------+
76 | NST           | Network Slice Template                     |
77 +---------------+--------------------------------------------+
78 | NSST          | Network Slice Sub-net Template             |
79 +---------------+--------------------------------------------+
80
81 Scope
82 -----
83
84 To realize the three layers of the slice management function, we need to decide whether to implement CSMF, NSMF or NSMF within ONAP, or use the external CSMF, NSMF or NSSMF. This implies that for ONAP-based network slice management, we have different choices from an architectural perspective.
85 Our scope was to implement first the CSMF and NSMF functions within ONAP, while connecting to an external Core NSSMF.
86
87 From the NSI Life Cycle perspective, the scope includes NSI design and pre-provision, NSI instantiation and configuration, and NSI activation and deactivation. In particular:
88
89 - CSMF: Functions of slice service creation, slice service activation and deactivation are implemented.
90
91 - NSMF: Functions of NSI instantiation, NSI activation and deactivation are
92   implemented. In addition, manual intervention is also provided in NSMF slice task
93   management portal to ensure the selected NSI/NSSI as well as ServiceProfile and
94   SliceProfile are fine or need adjustment.
95
96 - Design of CST, NST and onboarding NSST that are required to support the run-time   orchestration functions is also provided.
97
98 - To connect to the external (core) NSSMF, an adaptor is implemented to provide
99   interface between ONAP and 3rd party core NSSMF.
100
101 To support the above functions, code impacts in U-UI, SO, OOF and ExtAPI components, and schema change in A&AI are implemented.
102
103 See the `wiki <https://wiki.onap.org/display/DW/Proposed+Functions+for+R6+and+Impacted+Modules>`_
104 for details.
105
106 Impacted Modules
107 ----------------
108
109 SO
110 ~~
111
112 CSMF and NSMF are implemented using SO BPMN workflows to support 5G
113 network slicing use case. CSMF workflow will process the user input
114 (service request) that comes from CSMF portal (UUI) and save the order
115 information into a communication service instance in AAI. Then CSMF will
116 send network slice request to NSMF workflow, and NSMF will then create
117 service profile, NSI and NSSI. Service profile is a logical concept
118 which exists only in AAI - it contains two AAI instances, one is a
119 profile instance that will hold the slice parameters, and the other is a
120 service instance which will be used to organize the NSI. NSI is also a
121 service instance in AAI which will be used to organize NSSI. NSSI is the
122 actual entity which will be created by NSSMF and an AAI service instance
123 will also be created to represent NSSI in ONAP context. NSI and NSSI can
124 both be shared.
125
126 SO queries OOF for slice template selection and then slice instance
127 selection. In response to slice instance selection query, OOF may return
128 an existing slice instance or may recommend SO to create a new slice
129 instance. A new process called Orchestration Task is created to manage
130 recalibration of NSI&NSSI selection with manual intervention from the
131 portal. A new SO adapter is created to be the adapter of NSSMF which
132 will interact with external NSSMF for NSSI management.
133
134 See the `wiki <https://wiki.onap.org/display/DW/SO%3A+Impacts+and+Interfaces>`_
135 for details.
136
137 U-UI
138 ~~~~
139
140 Usecase-UI (UUI) has added CSMF and NSMF portal components to ONAP to
141 support this use case.
142
143 CSMF component includes the functions of creating network slicing, as
144 well as displaying and processing all the created network slices. The
145 customers need to fill the create communication service form to create a
146 network slice and then they can see the created network slice in the
147 list and execute operations of activating, deactivating or terminating
148 the network slice.
149
150 NSMF component mainly includes two modules: slicing task management and
151 slice resource management which provides the functions of displaying and
152 processing all the slicing tasks and slice resources. In slicing task
153 management module, network operators can find all the slicing tasks
154 created by customers in CSMF component and executing proper operations
155 according to different task status. In slice resource management module,
156 there are three sub-modules which provide the functions of displaying
157 and processing the existing NS, NSI and NSSI. In addition, the NSMF
158 component provides the monitoring function so that users can check the
159 statistics of network slices. In this page, the statistics of slice
160 usage (traffic), online users and total bandwidth can be monitored and
161 displayed in the form of pi-charts and lines.
162
163 See the `wiki <https://wiki.onap.org/display/DW/UUI%3A+Impacts>`_ for details.
164
165 OOF
166 ~~~
167
168 For this use case OOF introduced two APIs which are used by SO, one for
169 slice template selection, and another for NSI/NSSI selection. Within
170 OOF, both the OSDF and HAS sub-components were enhanced for this use
171 case. OSDF maps the new API request contents to the appropriate format
172 for HAS to perform the optimization. After the optimization is done by
173 HAS, OSDF maps the response in the API response format as expected by
174 SO. Further, HAS always returns NSSI info (when existing NSSIs can be
175 reused) and OSDF then determines whether it refers to reuse of an
176 existing NSI or creation of a new NSI, and then prepares sends the
177 response to SO.
178
179 HAS sub-component of OOF has been enhanced to use a couple of new policy
180 types, the AAI plug-in within HAS was enhanced to fetch the slice and
181 slice sub-net related details from AAI. Two new plug-ins were developed
182 in HAS – one for fetching slice templates and another for generating
183 slice profile candidates. Existing policies were reused and suitably
184 adapted for constraints and optimal selection of slice template and
185 slice instance. In case of new NSSI creation, HAS returns appropriate
186 slice profile for the sub-net for which a new NSSI has to be created.
187
188 See the `wiki <https://wiki.onap.org/display/DW/OOF%3A+Impacts+and+Interfaces>`_
189 for details
190
191 EXT-API
192 ~~~~~~~
193
194 The EXT-API has undergone some minimal enhancements for this use case.
195 A new value “CST” for the serviceType attribute in the Service Order API has
196 been introduced.
197
198 The CSMF Portal in UUI captures the values for the requested
199 serviceCharacteristics that are required as inputs to CST Service model.
200 The relatedParty attribute in the Service Order is set according to the
201 Customer, where relatedParty.id will map to the AAI "global-customer-id“
202 in the “customer” object. The serviceSpecification.id is to be set to
203 the UUID of the CST from SDC (i.e., this is the template for the Service
204 we are ordering from CSMF). The action field will be set to “add” to
205 indicate creation of a new service instance. CSMF Portal in UUI then
206 sends POST with the JSON body to /{api_url}/nbi/api/v4/serviceOrder/.
207 ExtAPI will generate a Service Order ID and send it in the response –
208 this ID can be used to track the order. ExtAPI will then invoke SO’s API
209 for creating the service.
210
211 As can be seen from above explanation, the existing constructs of ExtAPI
212 has been reused with minor enhancements.
213
214 See the `wiki <https://wiki.onap.org/display/DW/ExtAPI%3A+Impacts+and+Interfaces>`_
215 for details.
216
217 A&AI
218 ~~~~
219
220 To support this use case,A&AI module has added 3 new nodes
221 (Communication-service-profile, Service-profile and
222 Slice-profile),modified service-instance nodes, added 3 new nodes as
223 new attributes of service-instance node. To map to SDC templates
224 (Communication Service Template/Service Profile
225 Template/NST/NSST),run-time instances of this use case have
226 Communication Service Instance/Service Profile Instance/NSI/NSSI. To
227 align with ONAP’s model-driven approach, this use case reuses
228 "service-instance" for all run-time instances. The relationship between
229 service-instances use the existing attribute "relationship-list" or
230 "allotted-resources". Communication-service-profile means the original
231 requirement of Communication-service-instance, such as latency,
232 data-rate, mobility-level and so on. Service-profile means the slice
233 parameter info of Service-profile-instance. Slice-profile holds the
234 slice sub-net parameter info of different network domain NSSIs, such as
235 (Radio) Access Network (AN), Transport Network (TN) and Core Network
236 (CN) NSSI.
237
238 A&AI provides query APIs to CSMF and NSMF, such as:
239
240 -  Query
241    Communication-service-instances/Service-profile-instances/NSI/NSSI
242 -  Query Service-profile-instance by specified
243    Communication-service-instance
244 -  Query NSI by specified Service-profile-instance, query NSSI by
245    specified NSSI.
246
247 A&AI also supply creation APIs to SO, such as:
248
249 -  Create Communication-service-profile/Service-profile/Slice-profile,
250    and
251 -  Create relationship between service-instances.
252
253 See the `wiki <https://wiki.onap.org/pages/viewpage.action?pageId=76875989>`_
254 for details.
255
256 Functional Test Cases
257 ---------------------
258
259 The functional testing of this use case shall cover creation and
260 activation of a service with an E2E Network Slice Instance which
261 contains a Core Slice Sub-net instance. It also addresses the
262 termination of an E2E Network Slice Instance. It covers the following
263 aspects:
264
265 -  Creation of a new customer service via CSMF portal in UUI resulting
266    in creation of a new NSI
267 -  Creation of a new customer service via CSMF portal in UUI resulting
268    in re-use of an existing NSI
269 -  Activation of a customer service via CSMF portal in UUI
270 -  Creation of a new customer service via postman request to EXT-API
271    resulting in creation of a new NSI
272 -  Creation of a new customer service via via postman request to ExtAPI
273    resulting in re-use of an existing NSI
274 -  Manual intervention via NSMF portal during NSI selection (NSI
275    selection adjustment)
276 -  Termination of a NSI and associated NSSI
277 -  Interaction between ONAP and external NSSMF for new core NSSI
278    creation
279 -  Checking inventory updates in AAI for NSIs, service and slice
280    profiles and NSSIs.
281
282 See the `wiki <https://wiki.onap.org/display/DW/Functional+Test+Cases>`_ for
283 details.
284
285 Operation Guidance
286 ------------------
287
288 How to install 5G E2E Slicing Minimum Scope
289 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
290 For 5G E2E Slicing use case, we support the minimum-scope installation
291 of ONAP to reduce the resource requirements. From the module
292 perspective, 5G E2E Slicing use case involves SDC, SO, A&AI, UUI,
293 EXT-API, OOF and Policy modules of ONAP. So we will configure these
294 required modules along with the mandatory common modules such as DMaaP.
295 Further, for each module, the use case also does not use all of the
296 charts,so we removed the not needed Charts under those modules to
297 optimize the resources required for setting up the use case. This
298 approach will help to install a minimum-scope version ONAP for 5G E2E
299 Slicing use case.
300
301 See the `wiki <https://wiki.onap.org/display/DW/Install+Minimum+Scope+ONAP+for+5G+Network+Slicing>`_
302 for details.
303
304 Configuration aspects
305 ~~~~~~~~~~~~~~~~~~~~~
306
307 The template design, UI configuration, as well as manual configurations for some
308 of the components are all described in the following
309 `wiki page and its sub-pages <https://wiki.onap.org/display/DW/Operation+Guidance+for+5G+Network+Slicing+Use+Case>`_