Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

In order to fulfill our need, we need first the FIRST call to policy to fetch subscriberPolicy for a particular service/scope.

...

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, we need a second SECOND call to policy to fetch the affinityPolicy based on subscriberRole evaluated as above.

Code Block
# The legacy way
{
"policyName": "OSDF_CASABLANCA.*",
"configAttributes": {"policyScope": "["vCPE", "US", "ip", "vG", "test user"]"}
}
# Maybe the new decision like this:
{
  "ONAPName": "OOF",
  "ONAPComponent": "OOF-component",
  "ONAPInstance": "OOF-component-instance",
  "action": "optimize",
  "resource": {
      "services": ["vCPE"],
      "geography": ["US", "ip"],
      "resources": ["vG"],
      "contextsubscriberRole": ["test user"] #This is just an assumption here.
}}

...

Code Block
# The legacy way
{
"policyName": "OSDF_CASABLANCA.*",
"configAttributes": {"policyScope": "["vCPE", "INTERNATIONAL", "ip", "vG", "prod user"]"}
}
# Maybe the new decision like this:
{
  "ONAPName": "OOF",
  "ONAPComponent": "OOF-component",
  "ONAPInstance": "OOF-component-instance",
  "action": "optimize",
  "resource": {
      "services": ["vCPE"],
      "geography": ["INTERNATIONAL", "ip"],
      "resources": ["vG"],
      "contextsubscriberRole": ["prod user"] #This is just an assumption here.
}}

Question:

- is there way any 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 ? Which means the Policy engine would help us find out the first mapping relevant to the context and fetch the policies based on the attribute it bind to. 

Section

Example 1:

Column
width50%

# The original input OOF gives:

Code Block
POST /pdpx/v1/decision/
{
  "ONAPName": "OOF",
  "ONAPComponent": "OOF-component",
  "ONAPInstance": "OOF-component-instance",
  "action": "optimize",
  "resource": {
      "services": ["vCPE"],
      "geography": ["US"],
      "resources": ["vG"],
      "context": "subscriber_test_1",  #This is just an assumption here.
      "policyType": ""subscriberPolicy" #This is just an assumption here.
}}



Column
width50%

Policy will help use us transfer to a request like this:

Code Block
POST /pdpx/v1/decision/
{
  "ONAPName": "OOF",
  "ONAPComponent": "OOF-component",
  "ONAPInstance": "OOF-component-instance",
  "action": "optimize",
  "resource": {
      "services": ["vCPE"],
      "geography": ["US"],
      "resources": ["vG"],
      "subscriberRole": ["test user"] #This is just an assumption here.
}}



...

Section

Example 2:

Column
width50%

# The original input OOF gives:

Code Block
POST /pdpx/v1/decision/
{
  "ONAPName": "OOF",
  "ONAPComponent": "OOF-component",
  "ONAPInstance": "OOF-component-instance",
  "action": "optimize",
  "resource": {
      "services": ["vCPE"],
      "geography": ["INTERNATIONAL"],
      "resources": ["vG"],
      "context": "subscriber_prod_1",  #This is just an assumption here.
      "policyType": ""subscriberPolicy" #This is just an assumption here.
}}



Column
width50%

Policy will help use us transfer to a request like this:

Code Block
POST /pdpx/v1/decision/
{
  "ONAPName": "OOF",
  "ONAPComponent": "OOF-component",
  "ONAPInstance": "OOF-component-instance",
  "action": "optimize",
  "resource": {
      "services": ["vCPE"],
      "geography": ["INTERNATIONAL"],
      "resources": ["vG"],
      "subscriberRole": ["prod user"] #This is just an assumption here.
}}



...