Set Python and Ubuntu versions in .readthedocs.yaml
[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 :orphan:
5
6 .. contents::
7    :depth: 3
8 ..
9 .. _docs_E2E_network_slicing:
10
11
12 E2E Network Slicing Use Case
13 ============================
14
15 Overall Blueprint
16 -----------------
17 The objective of this use case is to realize **End-to-End 5G Network
18 Slicing** using ONAP. An End-to-End Network Slice consists of RAN (Radio
19 Access Network), Transport Network (TN) and Core Network (CN) slice
20 sub-nets. This use case intends to demonstrate the modeling,
21 orchestration (life cycle and resources) and assurance of a network
22 slice which are implemented in alignment with relevant standards. The
23 key highlights of this use case include:
24
25 -  Modular architecture providing building blocks and flexibility under
26    various deployment scenarios
27
28 -  Functionality aligned with 3GPP and other relevant standards such as
29    ETSI and IETF
30
31 -  Interfaces and APIs aligned with relevant standards (3GPP, IETF,
32    ETSI, TM Forum, etc.) while enabling easy customization through use
33    of appropriate plug-ins. This would enable easier interoperability of
34    slice management functions realized within ONAP with 3\ :sup:`rd`
35    party slice management functions, as well as northbound and
36    southbound systems.
37
38 -  Taking a step-by-step approach to realizing different architectural
39    options in an extendable manner.
40
41 -  Providing flexibility in network slice selection by providing an
42    option of manual intervention, as well as abstracting the network
43    internals as needed.
44
45 -  The use case implementation team is composed of service providers,
46    software and hardware vendors, solution providers and system
47    integrators thereby taking into consideration different perspectives
48    and requirements.
49
50 This use case is a multi-release effort in ONAP with the first steps
51 taken in Frankfurt release. It will continue to expand in scope both in
52 breadth and depth, and along the journey it shall also align with
53 updates to the relevant standards which are also currently evolving.
54 This use case shall also collaborate with SDOs such as
55 O-RAN and ETSI to enable wider adoption and use.
56
57 Architecture Choice
58 -------------------
59 3GPP(TS 28.801) defines three layer slice management functions which include:
60
61 CSMF(Communication Service Management Function):
62
63 • Responsible for translating the communication service related requirement to network slice related requirements.
64
65 • Communicate with Network Slice Management Function (NSMF).
66
67 NSMF(Network Slice Management Function):
68
69 • Responsible for management and orchestration of NSI.
70 • Derive network slice subnet related requirements from network slice related requirements.
71 • Communicate with the Network Slice Subnet Management Function (NSSMF) and Communication Service Management Function.
72
73 NSSMF(Network Slice Subnet Management Function):
74
75 • Responsible for management and orchestration of NSSI.
76 • Communicate with the NSMF.
77
78 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:
79
80 1) Implement CSMF, NSMF, NSSMF all within ONAP;
81
82 2) Connect an external CSMF from the Northbound, Implement NSMF and NSSMF within ONAP;
83
84 3) Connect an external CSMF from the Northbound, Implement NSMF within ONAP, Connect a 3rd party NSSMF from the Southbound;
85
86 4) Implement CSMF, NSMF within ONAP, Connect a 3rd party NSSMF from then Southbound.
87
88 5) Use external CSMF and NSMF, only implement NSSMF within ONAP.
89
90 External Interfaces
91 -------------------
92 The guiding principle is when a Slice Management function is outside ONAP, standard interfaces/APIs (3GPP, IETF, ETSI, TM Forum, etc.) can be supported by default, while any customization of such interfaces shall also be supported by ONAP using suitable plug-ins/adaptors. This would enable easier interoperability of slice management functions realized within ONAP with 3rd party slice management functions, as well as northbound and southbound systems.
93
94 Another key point would be that both internal and external interface mechanisms should be supported by the corresponding ONAP modules. To be more specific, communication between Slice Management Functions within ONAP (e.g., CSMF and NSMF) shall use ONAP internal mechanisms such as workflow calls, DMaaPmessages, etc. or standard APIs as appropriate. For example, SO acting as NSMF should support API call directly from CSMF in ONAP, as well as API trigger from an external CSMF via EXT-API.
95
96 Network Slice Instance (NSI) Life Cycle View
97 --------------------------------------------
98 3GPP Specification (3GPP TS 28.530) describes management aspects of a Network Slice Instance, which can be described by the four phases:
99
100 - Preparation: The preparation phase includes network slice design, network slice capacity planning, on-boarding and evaluation of the network functions, preparing the network environment and other necessary preparations required to be done before the creation of an NSI.
101 - Commissioning: NSI provisioning in the commissioning phase includes creation of the NSI. During NSI creation all needed resources are allocated and configured to satisfy the network slice requirements. The creation of an NSI can include creation and/or modification of the NSI constituents.
102 - Operation: The Operation phase includes the activation, supervision, performance reporting (e.g. for KPI monitoring), resource capacity planning, modification and de-activation of an NSI.
103 - Decommissioning: Network slice instance provisioning in the decommissioning phase includes decommissioning of non-shared constituents if required and removing the NSI specific configuration from the shared constituents. After the decommissioning phase, the NSI is terminated and does not exist anymore.
104
105 The ONAP-based NSI lifecycle management will finally provide the demonstration of all these phases.
106
107 Abbreviations
108 -------------
109
110 +---------------+--------------------------------------------+
111 |  Abbreviation |                   Meaning                  |
112 +===============+============================================+
113 | CSMF          | Communication Service Management Function  |
114 +---------------+--------------------------------------------+
115 | CSI           | Communication Service Instance             |
116 +---------------+--------------------------------------------+
117 | CST           | Communication Service Template             |
118 +---------------+--------------------------------------------+
119 | NSI           | Network Slice Instance                     |
120 +---------------+--------------------------------------------+
121 | NSMF          | Network Slice Management Function          |
122 +---------------+--------------------------------------------+
123 | NSSI          | Network Slice Sub-net Instance             |
124 +---------------+--------------------------------------------+
125 | NSSMF         | Network Slice Sub-net Management Function  |
126 +---------------+--------------------------------------------+
127 | NST           | Network Slice Template                     |
128 +---------------+--------------------------------------------+
129 | NSST          | Network Slice Sub-net Template             |
130 +---------------+--------------------------------------------+
131
132
133 Recap of Frankfurt functionality
134 --------------------------------
135 In Frankfurt release, CSMF and NSMF within ONAP was implemented, while connecting to an external Core NSSMF.
136 From the NSI Life Cycle perspective, the scope for Frankfurt included NSI design and pre-provision, NSI instantiation
137 and configuration, and NSI activation and deactivation. In particular:
138
139 - CSMF: Functions of slice service creation, slice service activation and deactivation were implemented.
140
141 - NSMF: Functions of NSI instantiation, NSI activation and deactivation were implemented. In addition, manual
142   intervention is also provided in NSMF slice task management portal to ensure the selected NSI/NSSI as well as
143   Service Profile and Slice Profile are OK or need adjustment.
144
145 - Design of CST, NST and onboarding NSST that are required to support the run-time orchestration functions
146
147 - To connect to the external (core) NSSMF, an adaptor was implemented to provide interface between ONAP and 3rd party
148   core NSSMF.
149
150 To support the above functions, code impacts in U-UI, SO, OOF and ExtAPI components, and schema change in A&AI
151 were implemented. See the `Proposed Functions for R6 and Impacted Modules wiki page <https://wiki.onap.org/display/DW/Proposed+Functions+for+R6+and+Impacted+Modules>`_ for details.
152
153 As part of Frankfurt release work, we supported the minimum-scope installation of ONAP to reduce the resource requirements.
154 From the module perspective, 5G E2E Slicing use case involves SDC, SO, A&AI, UUI, EXT-API, OOF and Policy modules of ONAP.
155 So we will configure these required modules along with the mandatory common modules such as DMaaP. Further, for each module,
156 the use case also does not use all of the charts,so we removed the not needed Charts under those modules to optimize the
157 resources required for setting up the use case. This approach will help to install a minimum-scope version ONAP for the
158 E2E Slicing use case.
159
160 Further details of the installation steps are available at: `Install Minimum Scope ONAP for 5G Network Slicing wiki page
161 <https://wiki.onap.org/display/DW/Install+Minimum+Scope+ONAP+for+5G+Network+Slicing>`_
162
163 Recap of Guilin functionality
164 -----------------------------
165 From the architecture point of view, in Guilin release, besides the continuation of NSMF which was implemented in
166 Frankfurt release, the RAN NSSMF, TN NSSMF, CORE NSSMF have been implemented within ONAP, apart from interacting with
167 external RAN NSSMF and external CORE NSSMF.
168
169 The following provides an overview of the enhancements done in Guilin release:
170
171 - **Enhancements in NSMF**: Service Profile decomposition into Slice Profiles for 3 domains, NSI selection enhancement,
172   E2E slice instance creation including RAN, TN and CN slice sub-net instance creation/reuse, activation/deactivation
173   of E2E slice, and deciding whether to terminate E2E slice or not.
174
175 - **RAN NSSMF, TN NSSMF, CN NSSMF within ONAP**: Basic logic for all 3 NSSMFs to support NSSI allocation, activation,
176   deactivation, deletion and modification (in case of reuse of NSSI).
177
178 - **Enable NSMF interaction with RAN NSSMF, TN NSSMF, CN NSSMF**: Implement generic NSSMF adaptor for three domain NSSMFs,
179   alignment with standard interfaces (3GPP, IETF), enable the connection to external RAN NSSMF.
180
181 - **Design of RAN NSST, TN NSST, CN NSST and Slice Profiles, TN information models**: Basic E2E Slicing model was provided
182   all the related templates designed from SDC, TN related information models.
183
184 - **TMF 641 support**: Extension of the TMF 641 based interface from NB of ExtAPI to support service activation,
185   deactivation and termination.
186
187 - **RAN and CN NFs set up and initial configurations**: CN NF simulators was developed: AMF, SMF, UPF and configure the
188   S-NSSAI on CN NFs; RAN NF Simulator was enhanced for PM data reporting, CU and Near-RT RIC configuration.
189
190 - **KPI monitoring**: Implementation to request details of a KPI via UUI to ONAP DCAE. Providing the requested data to UUI
191   by DCAE using a new microservice (Data Exposure Service - DES). Enhancements in PM-Mapper to do KPI computation is
192   in progress, and will be completed in Honolulu release.
193
194 - **Closed Loop**: First steps to realizing a simple Closed Loop in the RAN using PM data collected from the RAN was
195   implemented - update the allowed throughput for a S-NSSAI per Near-RT RIC coverage area based on DL/UL PRB for data
196   traffic that was reported from the RAN. The analysis of the PM data was done using a new Slice Analysis MS in DCAE,
197   and the Policy-based Control Loop framework was applied to trigger the updates in the RAN.
198
199 - **Intelligent Slicing**: First steps to realizing a simple ML-based Closed Loop action in the RAN using PM data collected
200   from the RAN was implemented - update the maxNumberofConns for a S-NSSAI in each cell based on PDU session related
201   PM data that was reported from the RAN (PDU sessions requested, successfully setup and failed to be set up). The
202   training was done offline, and the ML model is onboarded as a micro-service to ONAP for demo purpose alone (it is
203   not part of ONAP code/repos). The ML model provides updates to the Slice Analysis MS, which then uses the
204   Policy-based Control Loop framework to trigger the updates in the RAN.
205
206 - **Modeling enhancements**: Necessary modeling enhancements to support all the above functionalities.
207
208 The base use case page for Guilin release is `E2E Network Slicing Use Case in R7 Guilin <https://wiki.onap.org/display/DW/E2E+Network+Slicing+Use+Case+in+R7+Guilin>`_.
209
210 The child wiki pages of the above page contains details of the assumptions, flows and other relevant details.
211
212 Honolulu release updates
213 ------------------------
214 In Honolulu release, the following aspects were realized:
215
216 - **Modeling Enhancements** were made, details can be found at:
217   `Modeling enhancements in Honolulu <https://wiki.onap.org/display/DW/Modeling+enhancements+in+Honolulu>`_.
218
219 - **Functional Enhancements**
220
221   (a) Minor enhancements in NSMF and NSSMFs including NST Selection, Shared slices, coverageArea to
222       coverageAreaTAList mapping, etc.
223   (b) Enhancements related to endpoints for stitching together an end-to-end network slice
224   (c) Use of CPS (instead of Config DB) to determine the list of Tracking Areas corresponding to a given
225       Coverage Area (input by user). For the remaining RAN configuration data, we continue to use Config DB.
226   (d) RRM Policy update by SDN-R to RAN NFs during RAN NSSI creation/reuse
227
228 - **Integration Testing**
229   Continuing with integration tests deferred in Guilin release, and associated bug-fixing
230
231 Important Remarks
232 ~~~~~~~~~~~~~~~~~~~
233 (a) 2 deployment scenarios for RAN NSSI are supported. In the first scenario, the RAN NSSI comprises also of
234     TN Fronthaul (FH) and TN Midhaul (FH) NSSIs, and RAN NSSMF shall trigger TN NSSMF for TN FH and MH NSSI
235     related actions. In the second scenario, the RAN NSSI comprises only of RAN NFs. TN NSSMF shall be triggered by
236     NSMF for TN FH and MH NSSI related actions. This part is not yet implemented in NSMF within ONAP.
237
238 (b) Details of the modeling aspects, flows and other relevant info about the use case are available in:
239     `R8 E2E Network Slicing Use Case <https://wiki.onap.org/display/DW/R8+E2E+Network+Slicing+use+case>`_ and its child wiki pages.
240
241
242 Impacted Modules for Honolulu
243 -----------------------------
244 The code-impacted modules of E2E Network Slicing in Honolulu release are:
245
246 - **UUI**: The enhancements done include:
247
248   (a) The coverageArea The coverageArea number param is added in CSMF creation UI. Users could input
249       the grid numbers to specify the area where they want the slicing service to cover.
250   (b) The relation link image of AN/TN/CN has been added. Users can see the links and related params
251       of the three domains.
252   (c) The TN’s connection link with AN/CN has been added in NS Task management GUI.
253
254 - **AAI**: Schema changes were introduced. We added some new parameters in 2 nodes:
255
256   (a) ‘Connectivity’ is used to store IETF/ACTN ETH service parameters. New attributes added in order
257       to support the CCVPN network configuration operations on multi-domain (2+) interconnections.
258   (b) ‘Vpn-binding’is used to store ACTN OTN Tunnel model’s parameters.
259
260 - **OOF**: Updates include:
261
262   (a) NST selection is enhanced by fetching the templates from SDC directly.
263   (b) coverageArea to coverageAreaTAList mapping is done by OOF (as part of Slice Profile generation)
264       by accessing CPS.
265   (c) Bug-fixes
266
267 - **SO**: Main updates include support of NSI shared scenarios by enhancing the interaction with OOF, AAI and
268   UUI. Apart from this some updates/fixes have been made in NSMF, RAN/Core/TN NSSMF functionality in SO, for
269   example:
270
271   (a) *NSMF*: Update NSI selection process support shared NSI and add sst parameter
272   (b) *AN NSSMF*: Activation flow for SDN-R interactions, allocate flow & added timeDelay in QueryJobStatus,
273       support of Option 1 for topmost RAN NSSI
274   (c) *CN NSSMF*: Non-shared allocate flow
275   (d) *TN NSSMF*: Modify TN NSSI operation
276
277 - **CPS**: 2 APIs required for the use case are supported. The remaining yang models are also onboarded,
278   however, the API work as well as further enhancements to CPS Core, NF Proxy and Template-Based Data
279   Model Transformer Service shall continue beyond Honolulu.
280
281 - **SDN-R**: RRMP Policy updates, enhancements for updating the RAN configuration during slice reuse,
282   closed loop and intelligent slicing.
283
284 - **DCAE**:
285
286   (a) *KPI Computation MS*: This MS was introduced newly for computation of slice related KPIs. In this release,
287       it supports basic KPI computation based on formula specified via Policy. Further details about this MS is
288       available at `KPI Computation MS <https://wiki.onap.org/display/DW/DCAE+R8+KPI-Computation+ms>`_
289   (b) *Slice Analysis MS*: Minor updates were done.
290
291 Apart from the above, Policy and SDC had test-only impact for this use case.
292
293 In addition:
294
295 - **Config DB** was updated to handle bugs and gaps found during testing. This is not an official ONAP component, and
296   its functionality is expected to be performed fully by the Configuration Persistence Service (CPS) in future ONAP
297   release (beyond Honolulu).
298
299 - **Core NF simulator** and *ACTN simulator* were also updated and checked into ONAP simulator repo.
300
301 - **RAN-Sim** has been updated to fix bugs found during testing, and also checked into ONAP simulator repo.
302
303
304 Functional Test Cases
305 ---------------------
306 The functional testing of this use case shall cover CSMF/NSMF, the 3 NSSMFs and Closed Loop functionality. We classify the
307 test cases into 5 tracks: CSMF/NSMF, RAN NSSMF, Core NSSMF, TN NSSMF and Closed Loop.
308 Details of the test cases can be found at:
309 `Integration Test details for Honolulu <https://wiki.onap.org/display/DW/Integration+Test+details+for+Honolulu>`_ and its child wiki pages.
310
311
312 Operation Guidance
313 ------------------
314 The Honolulu release setup details for the E2E Network Slicing use case will be available at the following page and its
315 sub-pages:
316 `User Operation Guide for Honolulu release <https://wiki.onap.org/display/DW/User+Operation+Guide+for+Honolulu+release>`_
317
318
319 Known Issues and Resolutions
320 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
321 Details of manual configurations, work-arounds and known issues will be documented in the child wiki pages of:
322 `User Operation Guide for Honolulu release <https://wiki.onap.org/display/DW/User+Operation+Guide+for+Honolulu+release>`_
323
324 The foll. integration tests are carried over to Istanbul release: see `REQ-721 <https://jira.onap.org/browse/REQ-721>`_
325 - NSMF: Option 2 testing, remaining regression testing and service termination testing for NSMF
326 - RAN NSSMF: RAN NSSI termination, interactions with TN NSSMF for FH/BH NSSI reuse and some minor aspects related to SDN-R <-> RAN interaction
327 - TN NSSMF: Checking some minor aspects in SO for modifying TN NSSI.
328 - Core NSSMF: Modifying and deallocating a Core NSSI, reusing an existing Core NSSI
329 - KPI Computation, Closed Loop & Intelligent Slicing: Some minor aspects on SDN-R <-> RAN-Sim interface needs to be addressed.
330
331 Further details of these test cases can be found in REQ jiras for integration testing for Honolulu, and in the
332 use case wiki. This means that the functionality associated with these test cases may require updated versions
333 of the relevant components - the User Operation Guide will also be updated with details of any bug fixes
334 beyond Honolulu as the testing is anyhow continuing as part of Istanbul release.
335
336 Istanbul release updates
337 ------------------------
338 Below aspects are covered in Istanbul release:
339
340 1. **CPS-TBDMT Enhancements** - This service shall be used to map the erstwhile Config-DB-like REST APIs to appropriate CPS API calls. The purpose of this service is to abstract the details of (possibly multiple, and complex) XPath queries from the users of CPS. It enables CPS-users to continue using simple REST API calls that are intuitive and easy-to-understand and implement. The mapping to appropriate queries to CPS (including mapping of one API call to many Xpath queries) shall be done in a generic way by the CPS-TBDMT service. In Istanbul release, following are the main enhancements done:
341
342     - Support edit query ie. post, put and patch requests to CPS
343
344     - Support Output Transformation
345
346       (a) Extract desired output from the data returned from CPS.
347       (b) If 'transformParam' is not defined in the template no transformation takes place.
348     - Support Multiple query
349
350       (a) Make multiple queries to CPS in single request.
351       (b) If 'multipleQueryTemplateId' is mentioned in the template, it will execute this template first  and insert the result to the current template to make multiple queries to CPS.
352     - Support Delete data requests to CPS
353
354       (a) Process delete request type.
355     - Support for dynamic anchor - Accept anchors at run time and execute query
356
357 2. **CPS Integration**
358
359     - Config DB is replaced with the CPS component to read, write, update and delete the RAN Slice details. CPS APIs are accessed via CPS-TBDMT component. CPS integration with DCAE - Slice Analysis MS and OOF are completed. SDN-R integration with CPS is completed for the shared RAN Slice flow, activateRANslice and terminateRANSlice implementations are in progress.
360     - A new SDN-C karaf feature is introduced to register the cm-handle (anchor) with CPS. The integration with CPS-DMI plugin will be done in Jakarta release.
361
362 3. **NSMF based TN Slices** - Support for interacting with TN NSSMF directly from NSMF for front haul and mid haul slice subnets. There will be separate SDC template for this scenario. NST will have 5 NSSTs - CN NSST, AN NSST, TN FH NSST, TN MH NSST, TN BH NSST.
363
364 4. **KPI Monitoring** - Implementation is done in KPI Computation MS to configure the required KPIs and the KPI computation formula based on policies.
365
366 5. **Closed Loop** - Closed Loop updates are sent over A1 interface to Near-RT RIC. This is done at the POC level. This will be further enhanced in Jakarta release to make use of the A1-Policy Management Service in CCSDK.
367
368 6. **Intelligent Slicing** - End to end intelligent slicing - closed loop flow is tested with the initial version of Machine Learning MS.
369
370 7. **Carry-over Testing from Honolulu Release**
371
372     - RAN NSSMF Testing
373
374       (a) Testing completed for the allocation, modification, activation and deactivation of the RAN slice to support option1
375       (b) Integration Testing of AN NSSMF with SDNR interactions for allocate and modify flow is completed
376     - E2E Testing
377
378       (a) Service instantiation for non-shared and shared scenario and fixes to support option 1 are done
379       (b) NSI selection process support for shared NSI is tested
380
381 Impacted Modules for Istanbul Release
382 -------------------------------------
383 - **SO**
384     (a) Support of NSI termination by enhancing the interaction with OOF, AAI and UUI
385     (b) RAN NSSI Termination support with OOF & SDN-R interactions
386     (c) Bug fixes in Option 1 (CSMF, NSMF and NSSMFs are within ONAP & TN-FH, TN-MH are created by RAN NSSMF)
387         - **CSMF**: Fixed sNSSAI format and updated authentication for NSMF invocation
388         - **NSMF**: Fixes in NSI termination issues to support OOF interaction for NSI termination query and added subnet Type support for respective TN Domain
389         - **AN NSSMF**: Fixes for different termination scenarios in Option 1
390         - **CN NSSMF**: Bug fixes in shared allocate flow, modify flow and terminate flow
391         - Slice Profile alignment with NSSMF
392     (d) NSMF based TN Slices (TN-FH, TN-MH are created by NSMF) - Work flow changes to support this approach
393
394 - **OOF**
395     (a) Integration with CPS for coverage area to coverage area TA list
396     (b) Bug fixes in NxI termination
397
398 - **DCAE**
399     (a) Minor changes in Slice Analysis MS to support CPS integration
400     (b) KPI Computation MS in enhanced to support policy based KPIs and formula
401
402 - **SDN-R**
403     (a) Bug fixes in instantiateRANSliceAllocate, instantiateRANSliceAllocateModify, activateRANSlice, terminateRANSlice Directed Graphs
404     (b) CPS integration for the instantiateRANSliceAllocateModify, activateRANSlice, terminateRANSlice Directed Graphs
405     (c) A new karaf feature is introduced to register the cm-handle with CPS
406
407 - **CPS-TBDMT**
408     (a) This component is enhanced to support different type of queries based on templates
409
410 - **CPS**
411     (a) Bug fixes and support for GET, POST, PATCH and DELETE type of queries.
412
413 Istanbul Release - Functional Test cases
414 ----------------------------------------
415 **Honolulu release carry-over test cases**
416     (a) Different possible scenarios of E2E Slice (eMBB) creation are tested in I-release
417     (b) RAN slice Termination testing completed
418     (c) Test cases to validate slice reuse and terminate using Option 2 (Core NSSMF and RAN NSSMF external) are completed
419
420 **R9 Integration Testing**
421     (a) RAN NSSMF integration with CPS is covered for RANSlice modification, activation, deactivation and termination
422     (b) NSMF driven TN-FH and TN-MH slices creation is tested
423     (c) CPS impacts in closed loop scenario is validated and few test cases are deferred to Jakarta release
424
425     Integration test plan is available at `Integration Testing in Istanbul Release <https://wiki.onap.org/display/DW/R9+Integration+Test+for+E2E+Network+Slicing>`_
426
427 Istanbul Release - Operation Guidance
428 -------------------------------------
429 The steps for E2E network slicing use case will be available at `User Operation Guidance - Istanbul Release <https://wiki.onap.org/pages/viewpage.action?pageId=111118867>`_. It is an update to the user manual created in Honolulu release.
430
431 Istanbul Release - Known issues and Solutions
432 ---------------------------------------------
433
434 **REGISTER 3RD PARTY CONTROLLERS**
435
436 The ONAP TSC approved on July 9th, 2020 to change the status of ESR GUI Module
437 to an 'unmaintained' project. Further information about 'Unmaintained Projects'
438 can be found in the `ONAP Developer Wiki. <https://wiki.onap.org/x/Pw_LBQ>`__
439
440 But excluding the ESR GUI module from ONAP does not mean that the "external
441 system registration" mechanism is excluded; i.e. only the GUI is not available
442 anymore.
443
444 Nevertheless, in order to register the 3rd party controllers (like it is done
445 in E2E network slicing use case and recently in Cloud Leased Line "CLL" use
446 case as part of Intent-Based Networking), AAI's API are invoked manually.
447
448 To do so, please send the following CURL command (PUT) to your AAI, with the
449 attached xml payload. In the payload, please adjust the controller name (in
450 this case sdnc1) and the controller ip address accordingly based on your
451 environment:
452
453 CURL COMMAND:
454
455 .. code-block:: bash
456
457    curl -k -X PUT https://{{your-onap-ip-address}}:30233/aai/v16/external-system/esr-thirdparty-sdnc-list/esr-thirdparty-sdnc/sdnc1 -u "AAI:AAI" -H "X-FromAppId:postman" -H "Content-Type:application/xml" -H "Accept: application/xml" -H "X-TransactionId:9999" -d @/home/onap/esr-registration-controller-1.xml
458
459
460 PAYLOAD (esr-registration-controller-1.xml):
461
462 .. code-block:: xml
463
464   <?xml version="1.0" encoding="UTF-8"?>
465   <esr-thirdparty-sdnc xmlns="http://org.onap.aai.inventory/v16">
466       <thirdparty-sdnc-id>sdnc1</thirdparty-sdnc-id>
467       <location>Core</location>
468       <product-name>TSDN</product-name>
469       <esr-system-info-list>
470           <esr-system-info>
471               <esr-system-info-id>sdnc1</esr-system-info-id>
472               <system-name>sdnc1</system-name>
473               <type>WAN</type>
474               <vendor>Huawei</vendor>
475               <version>V3R1</version>
476               <service-url>http://192.168.198.10:18181</service-url>
477               <user-name>onos</user-name>
478               <password>rocks</password>
479               <system-type>nce-t-controller</system-type>
480               <protocol>RESTCONF</protocol>
481               <ssl-cacert>example-ssl-cacert-val-20589</ssl-cacert>
482               <ssl-insecure>true</ssl-insecure>
483               <ip-address>192.168.198.10</ip-address>
484               <port>26335</port>
485               <cloud-domain>example-cloud-domain-val-76077</cloud-domain>
486               <default-tenant>example-default-tenant-val-71148</default-tenant>
487               <passive>true</passive>
488               <remote-path>example-remotepath-val-5833</remote-path>
489               <system-status>example-system-status-val-23435</system-status>
490           </esr-system-info>
491       </esr-system-info-list>
492   </esr-thirdparty-sdnc>
493
494
495 Additional issues occurred during the deployment and integration testing will be
496 listed in the ONAP Developer Wiki at `Network Slicing - Issues and Solutions <https://wiki.onap.org/display/DW/Network+Slicing+-+Issues+and+Solutions>`_
497
498 Jakarta Release Updates
499 -----------------------
500 In Jakarta release, the following aspects are covered:
501
502 1. **E2E Network Slicing Solution**
503     - Slice selection based on resource occupancy level. With this enhancement, NSMF/NSSMF is able to monitor and update resource levels at NSI/NSSI level. OOF returns the solution for NSI/NSSI selection based on the criteria. In case of shared scenario, NSI/NSSI can be shareable only if sufficient resources are available in the network. RAN NSSMF’s resource occupancy is considered for this release. Resource occupancy of Core and TN NSSMFs will be considered in future releases.
504 2. **RAN Slicing**
505     - Optimization of cm-handle registration with CPS-DMI Plugin for RAN NF instances to upload yang model.
506     - CPS integration with SDN-R for RAN slice allocation and reconfiguration scenarios
507     - CPS integration stabilization for RAN slice activate/deactivate and terminate scenarios. Validation and bug fix for CPS integration of RAN slice lifecycle.
508 3. **Transport Slicing**
509     - OOF involvement in TN slice reuse and terminate scenarios
510        - Implementation of the call to OOF for allocateNSSI to enable TN NSSI reuse in TN NSSMF
511        - Implementation of the call to OOF for terminateNxi API to deallocate TN NSSI (which may not be terminated even when NSI is terminated) in TN NSSMF
512     - Closed-loop enhancement in CCVPN to support Transport Slicing’s closed-loop (Covered in CCVPN use case).
513 4. **Closed Loop**
514     - IBN based Closed loop for Network Slicing. This enhancement makes use of intents and Machine Learning models for closed loop. ML prediction microservice enhancement is done as a POC work in Jakarta release.
515     - CPS integration stabilization, which validates and enhances CPS integration for closed loop.
516 5. **Carryover tests from Istanbul release**
517     - Option-1 (internal NSMF, NSMF and NSSMF)
518        - Pending test cases for E2E Slice termination
519     - Bug fixes and testing for Core slicing
520        - NF instantiation issue with same NSST
521        - Multiple non-share Core slice creation issue
522
523 Impacted Modules for Jakarta Release
524 ------------------------------------
525 - **SO**: Requirements below are identified for Jakarta release and have impacts in SO component:
526      (1) Use of Optimization solution (OOF) in allocateNSSI, deallocateNSSI in TN NSSMF
527      (2) Bug fixes/enhancements of carryover test cases from Istanbul release
528
529 - **OOF**: OOF component has an impact for the requirement below:
530      (1) NSI/NSSI Selection enhancements based on resource occupancy levels
531
532 - **DCAE**: The requirements below are identified for Jakarta release and have impacts in DCAE component:
533      (1) Slice selection taking into consideration of resource occupancy levels
534      (2) CPS integration in closed loop – This was done in I-release. Expecting minor enhancements in Slice Analysis MS once after the other components impacts w.r.t CPS integration and E2E testing are completed.
535      (3) IBN based Closed loop for Network Slicing - This will have impact in E2E Slicing closed loop and TN Slicing closed loop.
536
537 - **CCSDK**: The requirements below are identified for network slicing use case in Jakarta release and have impacts in CCSDK component. Most of these requirements fall under the category of CPS integration.
538       (1) Optimizing cm-handle registration with CPS-DMI Plugin to upload yang model
539       (2) CPS Integration with SDN-R for RAN Slice allocate and reconfigure scenarios
540       (3) CPS Integration Stabilization - RAN Slice activate/deactivate and terminate scenarios
541
542 Jakarta Release - Functional Test cases
543 ---------------------------------------
544 The functional testing of this use case covers CSMF/NSMF, RAN/CN/TN NSSMFs and Closed Loop functionality. Test cases are classified into 5 tracks: E2E network slicing, RAN NSSMF, TN NSSMF, Closed Loop and carryover testing. Details of the test cases can be found at: `E2E Network Slicing Tests for Jakarta Release <https://wiki.onap.org/display/DW/E2E+Network+Slicing+Integration+Tests+for+Jakarta+Release>`_ and its child wiki pages.
545
546 Jakarta Release - Operation Guidance
547 ------------------------------------
548 The setup and operation details for E2E network slicing use case are available at `User Operation Guidance - Jakarta Release <https://wiki.onap.org/display/DW/User+Operation+Guidance+-+Jakarta+Release>`_.
549
550 Jakarta Release - Automate Network Slicing Option2 preparation step
551 -------------------------------------------------------------------
552
553 Automation of the Network Slicing Option2 use case is under development. At this moment automation of the preparation step is completed, with the source code under `SMO package repo <https://github.com/sebdet/oran-deployment>`_. The detailed introduction of the framework can be found at `SMO package introduction <https://wiki.o-ran-sc.org/display/IAT/Automated+deployment+and+testing+-+using+SMO+package+and+ONAP+Python+SDK>`_.
554
555 The preparation scripts are python scripts, based on the ONAP pythonsdk framework. More libraries are added under SMO package in order to run the preparation scripts.
556
557 The preparation scripts locate in folder **test/pythonsdk/src/orantests/network_slicing**. Before running the script, please open **settings.py** under folder **test/pythonsdk/src/orantests/configuration**. Make sure the URL settings for all the components are the good values.
558
559 If the settings are good, go to folder **test/pythonsdk/src/orantests/network-slicing** and run the following command to trigger the preparation script:
560
561
562 .. code-block:: bash
563
564     cd ./test/pythonsdk/src/orantests/network-slicing
565     tox -e ns-tests
566
567 The command will trigger the main script **test_network_slicing.py**, which in turn triggers the preparation script of each component.
568
569 The whole preparation process will configure the components and also verifies a bit whether the configuration was done successfully at the end of each step.
570
571 The whole process may take about 1 hour to complete. You can monitor the progress using the log file **pythonsdk.debug.log** located in the folder **network_slicing/preparation**.
572
573 If everything goes fine, you will see similar logs as shown below in the end.
574
575 .. image:: files/ns_automation/ns_automation_suc.png
576
577 If things goes wrong, please read the logs to identify which part has go wrong and try to fix that step manually.
578
579 Then you can update the **test_network_slicing.py**, disable steps that are already complete, and replay the tox command to complete the rest of the configuration.
580
581
582 Please note, when checking **test_network_slicing.py** in details, you will find some of the preparation steps might require extra input parameters, such as **cst_id**, **cst_invariant_id** and **sp_id**. These values could be found in both logs and SDC UI.
583
584 .. image:: files/ns_automation/ns_automation_test_class.png
585
586 In case it failed in the middle of the SDC template creation, please update the **sdc_template_suffix** variable inside the **test_network_slicing.py** and then rerun the script with tox command.
587
588 Since SDC doesn't support creating template with the same name, neither deleting of any templates, you have to add a suffix to the original name to create template with a new name.
589
590 .. image:: files/ns_automation/ns_automation_sdc_suffix.png
591
592
593 Jakarta Release - Known issues and Solutions
594 --------------------------------------------
595 Details of up to date manual configurations, known issues, solutions and work-arounds can be found in the following wiki page: `Jakarta Release - Issues and Solutions <https://wiki.onap.org/display/DW/Jakarta+Release+-+Issues+and+Solutions>`_.
596
597 Kohn Release Updates
598 -----------------------
599 In Kohn release, the following enhancements are implemented:
600
601 - IBN driven E2E Network Slicing support including enhancement to Slice Analysis MS to listen to real-time user intents posted by AAI using DCAE SDK dmaap-client lib and and report slice KPI to UUI.
602 - KPI computation enhancements including new KPI added and new UUI display design, KPI spanning multiple resources, error handling for missing counters.
603 - DCAE R11 global requirements contribution `(See the wikipage here) <https://wiki.onap.org/display/DW/R11+Global+requirements+Contribution>`_.
604
605 Kohn release also fixed a few critical bugs in Jakarta release.
606
607 Impacted Modules for Kohn Release
608 ------------------------------------
609 - **DCAE**: Requirements below for Kohn release have impacts on DCAE component:
610      (1) Enhancement to Slice Analysis MS
611      (2) KPI computation enhancements
612      (3) DCAE R11 global requirements and bug fixes
613
614 - **UUI**: Requirements below for Kohn release have impacts on UUI component
615      (1) Slicing KPI monitoring and display for IBN driven network slicing
616
617 Kohn Release Functional Test Cases
618 ---------------------------------------
619 Details of the test cases can be found at: `E2E Network Slicing Tests for Kohn Release <https://wiki.onap.org/display/DW/E2E+Network+Slicing+Integration+Tests+for+Kohn+Release>`_ and its child wiki pages.