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
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.