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": {
"constraints": {
"URLLC_core_Threshold": {
"demands": [
"URLLC_core"
],
"properties": {
"evaluate": [
{
"operation_function": {
"operands": [
{
"function": "attribute",
"params":
}
],
"operator": "difference"
}
"attribute": "latency",
"operator": "lte",
"threshold":
,
"unit": "ms"
},
{
"attribute": "reliability",
"operator": "gte",
"threshold":
,
"unit": ""
}
]
},
"type": "threshold"
}
},
"demands": {
"URLLC_core": [
{
"filtering_attributes":
,
"inventory_provider": "dcae",
"inventory_type": "nsi",
"unique": "true"
}
]
},
"homing_template_version": "2020-08-13",
"optimization": {
"goal": "minimize",
"operation_function": {
"operands": [
{
"function": "attribute",
"params":
}
],
"operator": "sum"
}
}
},
"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.