Versions Compared

Key

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

...

draw.io Diagram
bordertrue
diagramNamepolicy_r7r9
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth10071127
revision12





In the Honolulu release the CLAMP component is being was successfully integrated into the Policy component as a PoC (see

Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyREQ-473
) .     CLAMP's functional role to provision Policy stays the same, as the project and associated resources are simply moved under the policy umbrellahas been enhanced to support provisioning of policies outside of the context of a Control Loop and therefore act as a Policy UI. In Istanbul release the CLAMP integration will be officially released
Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyREQ-684
, the code is already there and working.

2. API Definitions

2a. Exposed APIs

Interface NameDefinitionCapabilitiesVersionStatusPayload Model(s)API Spec (Swagger)
POE-1Policy Type DesignAllows applications to create, update, delete, and query PolicyType entities so that they become available for use in ONAP by applications such as CLAMP.1.0.0production

tosca.policies.root

TOSCA

https://docs.onap.org/projects/onap-policy-parent/en/latest/api/api.html#api-swagger
POE-2Policy DesignAllows applications (such as CLAMP and Integration) to create, update, delete, and query Policy entities.1.0.0production

tosca.policies.root

TOSCA

https://docs.onap.org/projects/onap-policy-parent/en/latest/api/api.html#api-swagger
POE-3Policy AdministrationSupport CRUD of PDP groups and subgroups and to support the deployment and life cycles of PolicyImpl entities (TOSCA Policy and PolicyTypeImpl entities) on PDP sub groups and PDPs.1.0.0productionEmbeddedhttps://docs.onap.org/projects/onap-policy-parent/en/latest/pap/pap.html#pap-rest-api-swagger
POE-4Data IngressListen on a DMaaP topic. 
production

Messages of interest are described in the policy logic

DMaaP


POE-5Decision QueryPolicy decisions are required by ONAP components to support the policy-driven ONAP architecture. Policy Decisions are implemented using the XACML and Apex PDPs. The calling application (which may be another policy – e.g. invocation of a guard policy from PDP-D) must provide attributes in order for the PDP to return a correct decision.NAproductionDefined by policyhttps://docs.onap.org/projects/onap-policy-parent/en/latest/xacml/decision-api.html
CLPOE-1

Control Loop Lifecycle Management and

Polciy Lifecycle Management

Interface

A user interface (GUI) for:
  • Selecting the control loop flow
  • Entering configuration policy parameters
  • Entering operational policy parameters
  • Managing life cycle of DCAE control flow blueprint 
  • Select Selecting a Service to associate to a Control Loop to be instanciatedinstantiated
  • CRUD operation on Policy (outside of Control Loop)
NA
Defined by policy

NA

(GUI)

...

Interface NameConsumed byDescriptionAPI Spec (Swagger)
AAFPolicy FrameworkAuthentication and authorization
DMaaP

Policy Framework

Policies

Policy framework uses DMaaP for SDC subscriptions and internal communication.

Policies use DMaaP as a transport for contextual information from various sources

SDC

CLSDC-1Policy Framework/CLAMP
  • Notification of CSAR; Retrieval of CSAR
  • To receive the Control Loop Blueprint from SDC
https://docs.onap.org/projects/onap-sdc/en/latest/offeredapis.html
CLDCAE-1DCAEE-xPolicy/CLAMP
  • Retrieve DCAE appplication application status
  • Retrieve DCAE µS lists
  • Retrieve DCAE µS description and blueprints
https://docs.onap.org/projects/onap-dcaegen2/en/latest/sections/apis/inventory.html
DCAEECLDCAE-2 Policy/CLAMPDeploy/remove DCAE applicationµShttps://docs.onap.org/projects/onap-dcaegen2/en/latest/sections/apis/deployment-handler.html
CLCDS-1Policy/CLAMPGet list of operations/actions and corresponding payload for Operational Policy where selected actor is "CDS".

View file
nameCDS EXTERNAL REST API FOR WORKFLOW.docx
height250

AAIPoliciesEnrich ingress data with topology information
SOPoliciesTrigger orchestration actions (policy driven)

SDNC

APPC

CDS

PoliciesTrigger control actions (policy driven)
OtherPoliciesTrigger any interface defined in a policy, for example, trouble ticketing

...

The TOSCA Policy artifact is used internally by the Policy Framework, or is input by CLAMP or other systems. This artifact specifies the values of the properties for the policy and specifies the specific entities the policy acts on. Policy Design uses the TOSCA Policy artifact and the PolicyTypeImpl artifact to create an executable PolicyImpl artifact. 

        Internally, Policy has three main functional areas: Policy Development; Policy Administration; Policy Decision Execution.

...

Policy Enforcement is in general not handled by the Policy Framework. Enforcement is handled by either the originator of a decision query (PDP-D does enforce guard policy decisions made in the XACML PDP), or by a reaction to a policy output (trigger). 


The Policy/CLAMP functional entity provides the capability to manage runtime control loops.  It provides the capability to

  • Create control loop from DCAE blueprint, those blueprint are either:
    •  sent by SDC to DCAE (inventory) via SDC distribution. 
  • Create configuration policy from the policy-model Tosca, the tosca policy-model are either:
    • sent by SDC via SDC distribution to everyone; or
    • query by CLAMP to Policy. in this case the policy-model is either pre-provisioned in Policy
      or separately provisioned to Policy via the REST API exposed by Policy.
  • Configure DCAE applications of the control loop
  • Associate µService configuration policies to the DCAE application
  • Configure the operations to be taken by the control loop (by creating/updating/deleting operational policies)
  • Deploy/un-deploy control loop flow (blueprints) to DCAE
  • Control loop visualization. 

A more detailed figure and description of the Policy/CLAMP sub-component can be found here:

https://docs.onap.org/projects/onap-policy-clamp/en/latest/index.html#master-index

4. Known System Limitations

...

The main new capability introduced in this release as a PoC is the integration of the CLAMP component under the policy umbrella (see

Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyREQ-473684
).   The software is being has been moved under the policy/clamp repository (https://git.onap.org/policy/clamp).    The OOM helm charts are have also moving been moved as a subcomponent sub-component of policy  (https://git.onap.org/oom/tree/kubernetes/policy/components).

And additional The PoC experiments with defining Control Loops fully in Tosca will continue, as well.   This is covered by 

Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyREQ-478
.

As outlined in the architecture review page (Policy Honolulu-R8 Architecture Review) the only new use case that may be supported as a stretch goal is the 5G one (

Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyREQ-429
).   Existing use cases will be supported (no change).

Conformance with ONAP-wide requirements (

Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyREQ-441
,
Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyREQ-437
,
Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyREQ-398
,
Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyREQ-396
, and
Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyREQ-439
 (there are some risks, see Honolulu Risks page) ) are already or will be supported.

...

  • Stateless PAP (Keep no state in PAP runtime container, so state retrieval would be from database).
  • Interoperability of Native and non-native policies in the Drools PDP. 
  • Healthcheck status improvements as well as statistics reporting.

7. References

  1. Honolulu Istanbul architecture description https://docs.onap.org/projects/onap-policy-parent/en/latest/architecture/architecture.html
  2. Policy Framework API's - https://docs.onap.org/projects/onap-policy-parent/en/latest/offeredapis.html

  3. Policy/CLAMP:
    1. CLAMP Overview : https://docs.onap.org/projects/onap-policy-clamp/en/latest/index.html#master-index
    2. CLAMP internal interfaces:  https://docs.onap.org/projects/onap-policy-clamp/en/latest/_downloads/d25f20712a4cf2524a1cf13242349743/swagger.pdf 
    3. CLAMP User Guide: https://docs.onap.org/projects/onap-policy-clamp/en/latest/user-guide.html#