Interfaces
- NST selection Request
- Input: Service profiler parameters.
{
"requestInfo":{
"transactionId":"c86b3019-39f4-4cd3-b847-b22afe9f36dc",
"requestId":"c86b3019-39f4-4cd3-b847-b22afe9f36dc",
"sourceId":"so",
"timeout":600,
"callbackUrl":"http://0.0.0.0:9000/callback/"
},
"serviceProfile":{
"serviceProfileParameters":{
"latency":20,
"areaTrafficCapDL" : 10000,
"coverageAreaTAList" : "India"
}}
}
- Input: Service profiler parameters.
- Fetch Optimization policies
- vnfPolicy - it will identify the inventoryProvider and inventoryType - Forms demand policy.
- Attribute policy - for storing the serviceprofileparameters and its value as attribute - value pair- Constraint policy.
- QueryPolicy - Its used to query the serviceprofileparameters from the input so that it can be added as a value to the attribute.
- NST selection request - HAS
- Demand: NST
- Constraint: Attribute policy for matching whether nst templates have these attributes.
- Fetch NST metadata from AAI
- Output: List of all NSTs metadata .
- Fetch NST candidate from SDC
- Input: NST metadata
- Output: List of NST candidates matching the metadata
- Run optimization - taking attribute constraint, the candidates are filtered out matching the attributes.
- Solution list is formed
- Solution List. Solution object have nst candidates matching the input service profile params.
NST Template example (Candidate)
{ } | "name": "EmbbNst", "id": "EmbbNst_1", "latency": 20, "uplink": 5, "downlink": 8, "reliability": 95, "areaTrafficCapDL": 10, "areaTrafficCapUL": 100, "maxNumberofUEs": 10000, "areas": " area1|area2", "expDataRateDL": 10, "expDataRateUL": 1000, "resourceSharingLevel": "shared", "coverageAreaTAList": "Beijing;Beijing;HaidanDistrict;WanshouluStreet", "modelinvariantuuid": "7d7df980-cb81-45f8-bad9-4e5ad2876393", "modeluuid": "fe6c82b9-4e53-4322-a671-e2d8637bfbb7", "uniqueness": true, "inventory_type":"nst", "candidate_id": "EmbbNst_ID", "cost": 2 |
Consumed APIs
GET NST metadata from AAI
GET NST cabdidates from SDC by the metadata got
Policies:
Attribute policy
{ "OSDF_FRANKFURT.Attribute_vNS_1": { "type": "onap.policies.optimization.resource.AttributePolicy", "version": "1.0.0", "type_version": "1.0.0", "metadata": { "policy-id": "OSDF_FRANKFURT.Attribute_NST", "policy-version": 1 }, "properties": { "scope": [ "OSDF_FRANKFURT" ], "resources": [ "NST" ], "identity": "attribute-NST", "attributeProperties": { "serviceProfileParameters": { "get_param": "serviceProfileParameters" } } } } }
2. Query Policy
{ "OSDF_FRANKFURT.queryPolicy_NST": { "type": "onap.policies.optimization.service.QueryPolicy", "version": "1.0.0", "type_version": "1.0.0", "metadata": { "policy-id": "OSDF_FRANKFURT.queryPolicy_NST", "policy-version": 1 }, "properties": { "scope": [ "OSDF_FRANKFURT" ], "services": [ "NST" ], "resources": [ "NST" ], "identity": "NST_Query_Policy", "queryProperties": [ { "attribute": "serviceProfileParameters", "attribute_location": "serviceProfileParameters" } ] } } }
3. vnf policy
{ "OSDF_FRANKFURT.vnfPolicy_NST": { "type": "onap.policies.optimization.resource.VnfPolicy", "version": "1.0.0", "type_version": "1.0.0", "metadata": { "policy-id": "OSDF_FRANKFURT.vnfPolicy_NST", "policy-version": 1 }, "properties": { "scope": [ "OSDF_FRANKFURT", "NST" ], "resources": [ "NST" ], "services": [ "NST" ], "identity": "vnf_NST", "applicableResources": "any", "vnfProperties": [ { "inventoryProvider": "aai_sdc", "inventoryType": "NST" } ] } } }