You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »


Subscriber Poilcy sample for vCPE service:
{
"service": "subscriberPolicy",
"policyName": "OSDF_CASABLANCA.SubscriberPolicy_v1",
"description": "Subscriber Policy for vCPE",
"templateVersion": "OpenSource.version.1",
"version": "test1",
"priority": "1",
"riskType": "test",
"riskLevel": "3",
"guard": "False",
"content": {
"identity": "subscriber_vCPE",
"policyScope": ["vCPE", "subscriberPolicy"],
"properties": {
"subscriberName": ["subscriber_test_1", "subscriber_test_2"],
"subscriberRole": ["test user"],
"provStatus": ["CAPPED"]
},
{
"subscriberName": ["subscriber_prod_1", "subscriber_prod_2"],
"subscriberRole": ["prod user"],
"provStatus": ["PROV"]
},
"policyType": "subscriberPolicy",
"serviceName": "vCPE"
}
}

Affinity policy sample 1 for vCPE service:
{
"service": "affinityPolicy",
"policyName": "OSDF_CASABLANCA.Affinity_vCPE_1",
"description": "Zone policy for vCPE",
"templateVersion": "OpenSource.version.1",
"version": "test1",
"priority": "3",
"riskType": "test",
"riskLevel": "2",
"guard": "False",
"content": {
"identity": "affinity_vCPE",
"policyScope": ["vCPE", "US", "ip", "vG", "test user"],
"affinityProperty": {
"qualifier": "same",
"category": "complex"
},
"policyType": "zone",
"resources": ["vGMuxInfra", "vG"]
}
}

Existing Affinity policy sample 2 for vCPE service:

{
"service": "affinityPolicy",
"policyName": "OSDF_CASABLANCA.Affinity_vCPE_2",
"description": "Zone policy for vCPE",
"templateVersion": "OpenSource.version.1",
"version": "test1",
"priority": "3",
"riskType": "test",
"riskLevel": "2",
"guard": "False",
"content": {
"identity": "affinity_vCPE",
"policyScope": ["vCPE", "INTERNATIONAL", "ip", "vG", "prod user"],
"affinityProperty": {
"qualifier": "same",
"category": "complex"
},
"policyType": "zone",
"resources": ["vGMuxInfra", "vG"]
}
}

Current situation:

First call to policy to fetch subscriberPolicy for a particular service/scope.

{
"policyName": "OSDF_CASABLANCA.*",
"configAttributes": {"policyScope": "["vCPE", "subscriberPolicy"]"}
}

Now, say if subscriberName = "subscriber_test_1" which is an instance/request specific data and based on which the corresponding subscriberRole is evaluated. i.e "test user" in this case.
Then, a second call to policy to fetch affinityPolicy based on subscriberRole evaluated as above.

{
"policyName": "OSDF_CASABLANCA.*",
"configAttributes": {"policyScope": "["vCPE", "US", "ip", "vG", "test user"]"}
}

Similarly, for subscriberName = "subscriber_prod_1" or "subscriber_prod_2", subscriberRole will be = "prod user", and the second call to policy would be like as:

{
"policyName": "OSDF_CASABLANCA.*",
"configAttributes": {"policyScope": "["vCPE", "INTERNATIONAL", "ip", "vG", "prod user"]"}
}


Question: - is there way possible way out to push the decision making to policy engine, specifically on "which policies apply to a given instance", instead of the two-step fetch and filter process ?

e.g.

POST /pdpx/v1/decision/
{
"ONAPName": "OOF",
"ONAPComponent": "OOF-component",
"ONAPInstance": "OOF-component-instance",
"action": "optimize",
"resource": {
"services": ["vCPE"],
"resources": [ "vG" ],
"geography": ["US"]
"subscriberRole": ["test user"]
}
}


POST /pdpx/v1/decision/
{
"ONAPName": "OOF",
"ONAPComponent": "OOF-component",
"ONAPInstance": "OOF-component-instance",
"action": "optimize",
"resource": {
"services": ["vCPE"],
"resources": [ "vG" ],
"geography": ["INTERNATIONAL"]
"subscriberRole": ["prod user"]
}
}


  • No labels