Policy R7 Guilin Architecture Review
Brief Project Overview (brief as it should be known)
The ONAP Policy Framework is a comprehensive policy design, deployment, and execution environment. The Policy Framework is the decision making component in an ONAP system. It allows you to specify, deploy, and execute the governance of the features and functions in your ONAP system, be they closed loop, orchestration, or more traditional open loop use case implementations. The Policy Framework is the component that is the source of truth for all policy decisions.
New component capabilities for Guilin, i.e. the functional enhancements.
Guilin release targets to make the framework and its components more robust with some enhancements towards policy validation, filtering, queuing of events, target locking etc.
Below are the list of enhancements proposed for Guilin release:
POLICY-2352: This epic covers the work to finish policy validationClosed Build a tool for validating policy against policy types, resolve policy type version specifications etc. to make sure that the Policy works during deployment to PDP Engine.
POLICY-2484: R8: This epic covers the work to remove the technical debt for SDNR actor interface with DCAE SON and SDNR controller.Closed Enhance the SDNR actor to support the needs of DCAE SON and SDNR controller requirements.
POLICY-2361: This epic covers the work to complete the leftover from R6 to finish PAP and PDP communicationClosed Enhancements on the PAP - PDP communication layer to support delta policy deployment, improve rest parameter validation, fetch actual deployment status from PDP engine, discarding old PDP messages etc.
POLICY-2600: This epic covers the work to perform changes to Policy Lifecycle APIClosed Enhancements to the policy lifecycle API's for providing ability to create/delete policy without providing policy type name/version in URI.
POLICY-2602: This epic covers the work to build policy filteringClosed Build a guard application to support policy filtering.
POLICY-2642: This epic is to enable DMN support in drools and required changes to support the new policy type. Closed Build support for DMN policy in drools-pdp engine.
POLICY-2701: This epic covers the work to enhance control loop for E2E networking slicing use case.Closed Enhancements to control loop policies for E2E networking slicing use case.
New or modified interfaces
POLICY-2600: This epic covers the work to perform changes to Policy Lifecycle APIClosed Enhancements on the PAP - PDP communication layer to support delta policy deployment, improve rest parameter validation, fetch actual deployment status from PDP engine, discarding old PDP messages etc.
POLICY-2361: This epic covers the work to complete the leftover from R6 to finish PAP and PDP communicationClosed Enhancements to the policy lifecycle API's for providing ability to create/delete policy without providing policy type name/version in URI.
If they are modified, are the backwards compatible?
Yes - all API's are backwards compatible. No real changes, only enhancements (eg parameter validations) and added some convenience API's.
Interface naming (point to an example)
The Policy R7 Guilin Independent Versioning And Release Process Plan - has a list of our incoming and outgoing dependencies.
Consumed API from other projects
Project | API Dependency | Notes |
---|---|---|
Portal | 2.6.0 | No upgrades targeted for this release. |
AAF | v2.1.21 | |
Dmaap | v1.1.11 | |
SDC | 1.6.5 | REST |
AAI | aai-schema 1.7.2 | |
APP-C | Dmaap LCM API | No direct link to any libraries |
SO | REST - No direct link to any libraries | |
VFC | REST - No direct link to any libraries | |
SDNR | Dmaap - No direct link to any libraries | |
SDNC | REST - No direct link to any libraries | |
CDS CCSDK | 0.4.4 | gRPC |
Published API - These projects use the policy libraries to build their code
Project | API | Notes |
---|---|---|
CLAMP | Policy Lifecycle API Policy Administration API | implemented in own java code |
OOF | Policy Decision API | implemented in own python code |
SDNC | Policy Decision API | implemented in own code |
DCAE | Policy Decision API Policy Update Notifications (via Dmaap) | Implemented own python code or performed manually |
Reference to the interfaces.
All API's are Documented: https://docs.onap.org/projects/onap-policy-parent/en/latest/offeredapis.html
What are the system limits?
4Gb Memory - for most of the components.
Involved use cases, architectural capabilities or functional requirements.
vFW, Scale Out, vCPE, 5G OOF, E2E networking slicing
Listing of new or impacted models used by the project (for information only)
POLICY-2379: This epic covers the work to remove code deprecated from Frankfurt.Closed The legacy policy/engine and related codebase (legacy actors, legacy operational policy support etc.) will be removed in Guilin release.