NOTE : This documentation is still in progress and not the final version.
SEQUENCE DIAGRAM :
Steps :
- SO request OOF for NSI/NSSI selection
- OSDF fetches the optimization policies for the requested NST/NSST
- OSDF request HAS(conductor) for optimization
- HAS fetches the list of NSIs/NSSIs from AAI
- Using the NSI/NSSI id that it fetched from AAI, HAS requests DCAE(Slice Analysis MS) with attributes present in the service profile
- DCAE returns current utilization of the resources by the requested NSIs/NSSIs
- Based on the current utilization, HAS run the optimization to choose the suitable NSI/NSSI
- The selected NSI/NSSI is returned to OSDF, which forwards it to SO
Step 7 - Optimization to be done considering the following points :
NSI Selection:
- Find the configuration requested for the NSI for the current request from AAI ( Fetch Service Profile)
- Find the difference between the response from DCAE and the requested config for the NSI (maxNoOfConnections in DCAEResponse – MaxNoOFPDUSessions in ServiceProfile)
- If the difference is > 0, allow for NSI reuse
RAN NSSI Selection:
- Find the configuration requested for the RAN NSSI for the current request from AAI ( Fetch AN Slice Profile)
- Find the difference between the response from DCAE and the requested config for the RAN NSSI
- If the difference is > 0, allow for RAN NSSI reuse
- For the moment, we can assume that the calculation for TN-FH and TN-MH slices returns true by default. But keep a place holder to do all these findings for TN-FH and TN-MH slices. We can enhance it later.
RAN NF NSSI Selection:
- Find the configuration requested for the RAN NF NSSI for the current request from AAI ( Fetch AN NF Slice Profile)
- Find the difference between the response from DCAE and the requested config for the RAN NF NSSI
- If the difference is > 0, allow for RAN NF NSSI reuse
The optimization method to be done depends on the feasibility of the below two suggested methods :
1 - Including the operator attribute in the constraint model of the HAS template to find the current throughput
2 - Passing only the difference attribute ( current throughput) to the constraint model of the existing HAS template
SAMPLE HAS TEMPLATE :
{
"files": {},
"limit": 10,
"name": "urllc_sample",
"num_solution": "1",
"template":
,
"timeout": 1200
}
Outgoing APIs
AAI API
Already present in the code. The below pages contain the details regd. the AAI APIs used.
DCAE API
DCAE API is documented in this page - NSI/NSSI Selection based on resource occupancy levels - DCAE changes
Sample Request to fetch the required parameter :
curl -X GET -H "authorization: Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=" -H "x-ecomp-instanceid:AAI" -H 'Accept:application/json' -k https://10.31.4.43:8080/api/v1/slices-config/
Sample Response :
{
"sliceConfigDetails": [{
"sliceIdentifier": "5d9b3293-fa20-4776-bb41-92ba5e384419",
"aggregatedConfig": {
"dLThptPerSlice":27,
"uLThptPerSlice":30,
"maxNumberOfConns":300
}
},
{
"sliceIdentifier": "e316f4b2-01fa-479a-8522-64fe9c0c2971",
"aggregatedConfig": {
"dLThptPerSlice":40,
"uLThptPerSlice":25,
"maxNumberOfConns":400
}
}]
}
NOTE: sliceIdentifier – NSI/NSSI
Impacted OOF modules
HAS-DATA component
HAS data component fetches the data from AAI and other inventory sources. A new inventory source for DCAE should be added, and it should be used during the NSI/NSSI selection flow.