...
Code Block |
---|
Occasion one: Normal way
#Available policies inside the policy db
-
OSDF_CASABLANCA.Affinity_Default_vCPE_US_0:
type: onap.policies.optimization.AffinityPolicy
version: 1.0.0
type_version: 1.0.0
metadata:
policy-id: OSDF_CASABLANCA.Affinity_Default_vCPE_US_0
policy-version: 1
properties:
scope: [OSDF_FRANKFURT]
services: [vCPE]
resources: [vG]
geography: [US]
identity: affinity_vCPE
applicableResources: any
affinityProperties:
qualifier: different
category: complex
-
OSDF_CASABLANCA.Affinity_Default_vCPE_US_1:
type: onap.policies.optimization.AffinityPolicy
version: 1.0.0
type_version: 1.0.0
metadata:
policy-id: OSDF_CASABLANCA.Affinity_Default_vCPE_US_0
policy-version: 1
properties:
scope: [OSDF_FRANKFURT]
services: [vCPE]
resources: [vGMux]
geography: [US]
identity: affinity_vCPE
applicableResources: any
affinityProperties:
qualifier: different
category: complex
# VFC Request
{
"requestInfo":{
"transactionId":"12348659-a547-4b81-954e-a244fc5f0f9e",
"requestId":"12348659-a547-4b81-954e-a244fc5f0f9e",
"callbackUrl":"http://10.42.57.133:8403/api/nslcm/v1/ns/placevnf",
"sourceId":"vfc",
"requestType":"create",
"numSolutions":1,
"optimizers":[
"placement"
],
"timeout":600
},
"placementInfo":{
"requestParameters":{
"customerLatitude":"32.897480",
"customerLongitude":"97.040443",
"customerName":"some_company"
},
"subscriberInfo":{
"globalSubscriberId":"",
"subscriberName":"",
"subscriberCommonSiteId":""
},
"placementDemands":[
{
"resourceModuleName":"vG",
"serviceResourceId":"f0a16496-2e0a-480b-8486-04ef762d1d2d",
"tenantId":"null",
"resourceModelInfo":{
"modelInvariantId":"c01e991e-b687-4875-8d75-d6888637f175",
"modelVersionId":"c00456ac-c9b5-4f72-87ae-3a4a0eec6fba",
"modelName":"7400fd06-c75f-4a44-a68f",
"modelType":"",
"modelVersion":"1.0",
"modelCustomizationName":""
}
},
{
"resourceModuleName":"vGMux",
"serviceResourceId":"f0a16496-2e0a-480b-8486-04ef762d1d2e",
"tenantId":"null",
"resourceModelInfo":{
"modelInvariantId":"c01e991e-b687-4875-8d75-d6888637f176",
"modelVersionId":"c00456ac-c9b5-4f72-87ae-3a4a0eec6fbb",
"modelName":"7400fd06-c75f-4a44-a68g",
"modelType":"",
"modelVersion":"1.0",
"modelCustomizationName":""
}
}
]
},
"serviceInfo":{
"serviceInstanceId":"83a23b7a-e68e-4496-a3b2-3bfd822ed63b",
"serviceName":"vcpe",
"modelInfo":{
"modelType":"",
"modelInvariantId":"0d9312af-96fa-425c-b732-01eeca3c3490",
"modelVersionId":"65f761a4-45db-4cde-8d7c-ef9512585098",
"modelName":"vCPE 2018-10-31 19:17:04",
"modelVersion":"1.0",
"modelCustomizationName":""
}
}
}
#Retrieval plans
Plan A: If we are going to send only one policy request per VFC request to get all policies, the config need to have two resources both appeared in the 'resources' filter which shall look like this:
Config: {"ONAPName": "OOF",
"ONAPComponent": "OOF_Component",
"ONAPInstance": "OOF_Component_Instance",
"action": "optimize",
"resources": "{
"services": ["vcpe"],
"geography": ["US"],
"resources": ["vG", "vGMux"],
"scope": ["OSDF_FRANKFURT"] }"
However, if we send out a request like this, neither of the policies should be fetched.
NOTE: 12/3 per PLD - you will actually get BOTH policies from this. The items within each LHS are treated as OR, whereas each line is treated is an AND.
vcpe AND US AND (vg OR vGMux) AND OSDF_FRANKFURT
Plan B: If we are going to send multiple policy requests(one request per vnf), there would be two separate configs with different values inside the key 'resources':
Config A: {"ONAPName": "OOF",
"ONAPComponent": "OOF_Component",
"ONAPInstance": "OOF_Component_Instance",
"action": "optimize",
"resources": "{
"services": ["vcpe"],
"geography": ["US"],
"resources": ["vG"],
"scope": ["OSDF_FRANKFURT"] }"
Config B: {"ONAPName": "OOF",
"ONAPComponent": "OOF_Component",
"ONAPInstance": "OOF_Component_Instance",
"action": "optimize",
"resources": "{
"services": ["vcpe"],
"geography": ["US"],
"resources": ["vGMux],
"scope": ["OSDF_FRANKFURT"] }"
In this way, each policy will be respond to OSDF for certain request.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Occasion 2: Only one default policy available in policy db
#Available policies inside the policy db
-
OSDF_CASABLANCA.Affinity_Default_US:
type: onap.policies.optimization.AffinityPolicy
version: 1.0.0
type_version: 1.0.0
metadata:
policy-id: OSDF_CASABLANCA.Affinity_Default_US
policy-version: 1
properties:
scope: [OSDF_FRANKFURT]
services: [vCPE]
resources: []
geography: [US]
identity: affinity_vCPE
applicableResources: any
affinityProperties:
qualifier: same
category: complex
# A same homing request is then made to OOF
{
"requestInfo":{
"transactionId":"12348659-a547-4b81-954e-a244fc5f0f9e",
"requestId":"12348659-a547-4b81-954e-a244fc5f0f9e",
"callbackUrl":"http://10.42.57.133:8403/api/nslcm/v1/ns/placevnf",
"sourceId":"vfc",
"requestType":"create",
"numSolutions":1,
"optimizers":[
"placement"
],
"timeout":600
},
"placementInfo":{
"requestParameters":{
"customerLatitude":"32.897480",
"customerLongitude":"97.040443",
"customerName":"some_company"
},
"subscriberInfo":{
"globalSubscriberId":"",
"subscriberName":"",
"subscriberCommonSiteId":""
},
"placementDemands":[
{
"resourceModuleName":"vG",
"serviceResourceId":"f0a16496-2e0a-480b-8486-04ef762d1d2d",
"tenantId":"null",
"resourceModelInfo":{
"modelInvariantId":"c01e991e-b687-4875-8d75-d6888637f175",
"modelVersionId":"c00456ac-c9b5-4f72-87ae-3a4a0eec6fba",
"modelName":"7400fd06-c75f-4a44-a68f",
"modelType":"",
"modelVersion":"1.0",
"modelCustomizationName":""
}
},
{
"resourceModuleName":"vGMux",
"serviceResourceId":"f0a16496-2e0a-480b-8486-04ef762d1d2e",
"tenantId":"null",
"resourceModelInfo":{
"modelInvariantId":"c01e991e-b687-4875-8d75-d6888637f176",
"modelVersionId":"c00456ac-c9b5-4f72-87ae-3a4a0eec6fbb",
"modelName":"7400fd06-c75f-4a44-a68g",
"modelType":"",
"modelVersion":"1.0",
"modelCustomizationName":""
}
}
]
},
"serviceInfo":{
"serviceInstanceId":"83a23b7a-e68e-4496-a3b2-3bfd822ed63b",
"serviceName":"vcpe",
"modelInfo":{
"modelType":"",
"modelInvariantId":"0d9312af-96fa-425c-b732-01eeca3c3490",
"modelVersionId":"65f761a4-45db-4cde-8d7c-ef9512585098",
"modelName":"vCPE 2018-10-31 19:17:04",
"modelVersion":"1.0",
"modelCustomizationName":""
}
}
}
#Retrieval plans
Plan A: If we are going to send only one policy request per VFC request to get all policies, the config should contain both resources in the 'resources' filter which shall look like this:
Config: {"ONAPName": "OOF",
"ONAPComponent": "OOF_Component",
"ONAPInstance": "OOF_Component_Instance",
"action": "optimize",
"resources": "{
"services": ["vCPE"],
"geography": ["US"],
"resources": ["vG, vGMux"],
"scope": ["OSDF_FRANKFURT"] }"
Still neither of the policies can be fetched??
Plan B: If we are going to send multiple policy requests(one request per vnf), there would be two separate configs with different values inside the key 'resources':
Config A: {"ONAPName": "OOF",
"ONAPComponent": "OOF_Component",
"ONAPInstance": "OOF_Component_Instance",
"action": "optimize",
"resources": "{
"services": ["vcpe"],
"geography": ["US"],
"resources": ["vG"],
"scope": ["OSDF_FRANKFURT"] }"
Config B: {"ONAPName": "OOF",
"ONAPComponent": "OOF_Component",
"ONAPInstance": "OOF_Component_Instance",
"action": "optimize",
"resources": "{
"services": ["vcpe"],
"geography": ["US"],
"resources": ["vGMux],
"scope": ["OSDF_FRANKFURT"] }"
In this way, the default policy will be respond to OSDF for certain request. |
...