...
Type of Policy | Supported | Description |
---|---|---|
Operational | Yes | |
Native | Yes | |
Guard | No | Guard policies may already be called by other policies, and a target policy is similar to a guard policy |
Monitoring | No | Monitoring policies are parameter policies and are not fired by the Policy Framework |
Optimization | No | Optimization policies are parameter policies and are not fired by the Policy Framework |
Match | ? | ? |
Naming | ? | ? |
Policy Execution
...
Code Block | ||||
---|---|---|---|---|
| ||||
@startuml title Policy Framework Target Execution autonumber participant PolicyCaller box "PolicyFramework" #LightBlue participant AnyPDP participant XACML_PDP end box PolicyCaller --> AnyPDP : policy trigger loop from root to last descendant PolicyType alt targets specified on PolicyType AnyPDP --> XACML_PDP : Invoke target policy specified on PolicyType alt targets policy rejects execution AnyPDP --> PolicyCaller : execution rejected end end end loop from root to last descendant Policy alt targets specified on Policy AnyPDP --> XACML_PDP : Invoke target policy specified on Policy alt targets policy rejects execution AnyPDP --> PolicyCaller : execution rejected end end end AnyPDP --> AnyPDP : execute policy activate AnyPDP deactivate AnyPDP AnyPDP --> PolicyCaller : policy result @enduml |
...
- The Policy Framework loops over the root PolicyType to the last descendant PolicyType
- A check of the Policy Type specification is made to see if targets have been specified on it, if so, the XACML PDP is invoked with the specified target policy and the specified targets as parameters (Step 2).
- If the target policy for the Policy Type rejects the targets, execution of the policy proper is rejected (Step 3).
- If no targets are specified on the Policy Type or the target policy for the Policy Type accepts the target, execution continues
- The Policy Framework loops over the root Policy to the last descendant Policy
- A check of the Policy specification is made to see if targets have been specified on it, if so, the XACML PDP is invoked with the specified target policy and the specified targets as parameters (Step 4).
- If the target policy for the Policy rejects the targets, execution of the policy proper is rejected (Step 5).
- If no targets are specified on the Policy or the target policy for the Policy accepts the target, execution continues (Step 6)
Specification of targets in TOSCA
TOSCA Example for PolicyType targets
...
The example above, the policy operational.vehiclemanufacturing.electric-vehicle has targets Wayne_Line4, Wayne_Line5, Dagenham_Line2 and Koln_line5, and those targets are governed by the target policy onap.policies.targets.enableEVBatteryTesting version 2.1.2.
...
Deployment
Drawio | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
At deployment, PolicyAdministration (the PAP) checks the policy being deployed to see if it uses targets. if so, the PAP reads the target policies from the policy database and deploys them to the XACML PDPs in the PDP group. It then deploys the policy that uses targets to the PDPs in the PDP group.