Versions Compared

Key

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

Since there's big change in the config that we send to Policy framework for policy retrieving, we need to modify our code accordingly to match that logic.

Config changes in policy retrieval

Legacy Config Example

The legacy config we sent for policy retrieval contains the prefix for each release, the geography info as well as the service information. 

Code Block
languagetext
#Scope with geography
{ "policyName": "OSDF_DUBLIN.*",
  "configAttributes": {"policyScope": "us"} 

#Scope with service name
{ "policyName": "OSDF_DUBLIN.*",
  "configAttributes": {"policyScope": "vfw"} 

New Config Example

In the new config we sent for policy retrieval, the prefix is no longer needed. And for the geography and service name, the values need to be put under certain keys.

Code Block
languagetext
{"ONAPName": "OOF",
 "ONAPComponent": "OSDF",
 "ONAPInstance": "",
 "action": "optimize",
 "resource": {
     "geography": "us",
     "services": "vfw"
     "scope": "xxx" //Optional
 }}

Change in OSDF common config

Legacy configuration in common.config and also a draft config according to the new payload.

...

Code Block
languagetext
...
policy_info:
    prioritization_attributes:
        policy_type:
            - content.policyType
        resources:
            - content.resources
            - content.objectiveParameter.parameterAttributes.resources
        service_name:
            - content.serviceName

    placement:
        policy_fetch: by_scope
        policy_scope:
            - scopes:   //needed or not?
                - geography:
                    - US
                - services:
                    - get_param: service_name
                - scope
                    - get_param: subscriber_role
    #            -
    #                - get_param: service_name
    #                - get_param: subscriber_role
    default:  # if no explicit service related information is needed
        policy_fetch: by_name
        policy_scope: none


Change in code

Change in the rest call to policy framework

Since we totally change the uri to call with, there're quite many changes in the rest call.

...

Changes: https://git.onap.org/optf/osdf/tree/osdf/adapters/policy/interface.py

Change in retrieval method

Do we still need that get_by_name method in OSDF?

...