OOF API updates are available in Network Slicing API Specifications. The updated swagger is available at https://gerrit.onap.org/r/#/c/optf/osdf/+/100477.
OOF impacts are described in OOF_impacts_v1.0.pptx.
Assumptions
- The capability set in the template will not contain range of values
- Subnet template details will be loaded as Subscriber policy
- NSI Name will be unique in AAI
- Slice profile in NSSI is chosen based on latency (Conductor)
Illustrations
1. Call from SO to OOF to Get suitable NST
Inputs: Service Profile parameters
Assume Service Profile contains throughput =7, BW = 10, latency = 22.
Assume that the following NSTs are present in the inventory (at present maintained locally within OOF)
NST id | Performance Attributes |
---|---|
NST1 | throughput, BW, latency |
NST2 | reliability, user density |
NST3 | throughput, BW, latency |
NST4 | terminal density, survivability |
Based on above inventory, and attributes in service profile (not attribute values), (NST1, NST3) are shortlisted.
Attribute Policy contains the value ranges (capability set of each NST). For e.g.:
NST id | Performance Attributes |
---|---|
NST1 | throughput (2..10), BW (5..10), latency (20..50) |
NST2 | reliability (99.99..99.999), user density (10..10000) |
NST3 | throughput (11..15), BW (10..25), latency (15..30) |
NST4 | terminal density (100..5000), survivability (100..200) |
OOF selects NST3 by comparing the attribute value ranges with attribute values in service profile (it has only NST1 and NST3 to choose from).
2. Call from SO to OOF to get suitable NSI
Inputs: Service Profile parameters, NST id
Assume Service Profile contains latency = 22 ms, and NST is that of a URLLC slice (say NST_URLLC1). Assume that the request indicates that the provided NSI can be shared with another service.
NST_URLLC1 has NSST_URLLC_RAN2, NSST_URLLC_Core1, NSST_URLLC_TRAN2 as its constituent NSSTs - this is specified using Subscriber Policy.
The Attribute Policy specifies the latency capability for NST_URLLC1 as (20..100 ms) (as discussed above).
Assume the latency ranges supported by the above NSSTs which are part of NST_URLLC1 are as follows (fetched from Attribute Policy).
NSST id | Latency range supported |
---|---|
NSST_URLLC_RAN2 | (5..30) |
NSST_URLLC_Core1 | (10..100) |
NSST_URLLC_TRAN2 | (7..30) |
Now there are 4 possible solution categories that OOF can provide in the response to SO.
- Provide an existing NSI which can be reused/shared
- Create a new NSI with existing NSSIs
- Create a new NSI with some existing NSSIs and some new NSSIs
- Create a new NSI with all new NSSIs
To address all cases above, HAS is invoked with 3 demands (NSST-RAN, NSST-Core, NSST-Transport).
Let us assume that the NSI inventory is as follows:
NSI Id | NST Id | NSSI RAN Id | NSSI Core Id | NSSI Transport Id |
---|---|---|---|---|
NSI-1 | NST_URLLC1 | NSSI-R-1 | NSSI-C-2 | NSSI-T-1 |
NSI-2 | NST_URLLC2 | NSSI-R-6 | NSSI-C-4 | NSSI-T-3 |
NSI-3 | NST_eMBB2 | ... | ... | ... |
NSI-4 | NST_URLLC2 | NSSI-R-1 | NSSI-C-1 | NSSI-T-1 |
... | ... | ... | ... | ... |
NSI-10 | NST_URLLC3 | NSSI-R-5 | NSSI-C2 | NSSI-T-4 |
Say, HAS returns the foll. solutions:
Solution 1 = (NSSI-R-1, NSSI-C2, NSSI-T1)
Solution 2 = (NSSI-R-1, (Core-slice profile), NSSI-T-3) (assuming NSSI-T-3 has NSST_URLLC_TRAN2 as its template).
OSDF then does the following:
- For Solution 1, it sees:
NSSI-R1 is part of NSI-1,NSI-4
NSSI-C2 is part of NSI-1, NSI-10
NSSI-T1 is part of NSI-4, NSI-1
There is a common "NSI" which is "NSI-1". So NSI-1 can be reused. It fills the shared NSI solutions part of response to SO with NSI-1.
- For solution 2, NSSI-R-1, NSSI-C-new, NSSI-T-3 => It fills New NSI solutions part of the response to SO with NSSI ids and slice profile(s).