Versions Compared

Key

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

...

Another important aim of the architecture of a model driven policy framework is that it enables much more flexible policy specification.

  1. A Proto Policy Template is designed by a skilled policy developer in consultation with domain experts. The Proto Policy template is a general implementation of a policy template for a feature. For example, a proto policy template could be written to manage Service Level Agreements for VPNs.
  2. A Domain Policy is designed by a domain expert who uses the Proto Policy Tempate to create a domain policy for their specific domain.
    1. For example, the VPN Proto Policy template Template is used to create VPN policies for a bank network, a car dealership network, or a university with many campuses.
    2. In ONAP, specific ONAP Proto Policies Policy Templates are templated used to create specific policies that drive the ONAP Platform and Components.
  3. A Customer Facing Policy allows specific policy instances to be configured with parameters. For example, the SLA values in the car dealership VPN policy instance in a particular dealership are configured with values appropriate for the expected level of activity in that dealership.

...

PolicyDevelopment creates sets of executable policies (ExecutablePolicySet) for a certain domain, which consist of policies (ExecutablePolicy) and parameters for those policies (PolicyParameters) that can execute on PDPs. Executable policies are created from domain policies (DomainPolicy) that have been created from template policies (ProtoPolicyPolicyTemplate).

PolicyDeployment uses the PAP to deploy an ExecutablePolicySet on a PDPGroup, a grouping of PDPs of a certain type using a certain deployment plan.

...

This section describes the architecture of the model driven system used to develop proto policiespolicy templates, to derive executable policies from those proto policiespolicy templates, and to parameterize the executable policies.

...

The information expressed during policy design is used to specialize a proto policy template to create an executable policy. A policy can be designed in many ways.

...

Model Driven Policy Design via Policy Dashboard (exposed via ONAP Portal SDK)

...

Policy Template Design

A proto policy template is a generic policy for a certain type of PDP. A proto policy template is developed for a certain type of PDP (for example XACML oriented for decision policies or Drools rules oriented for ECA policies). The design environment and tool chain for a proto policy template is specific for the type of policy being designed. The proto policy template is available as a Maven artifact once it has been designed.

Programming

...

Policy Templates

The most straightforward way to create a proto policy template is to program it. Programming a proto policy template might simply mean creating and editing text files and manually generating the Maven artifact for the proto policy template.

A more formal approach is preferred. Programmers use a specific Eclipse project type for developing each type of proto policy template. The project is under source control in git. This Eclipse project is structured correctly for creating policies for a specific type of PDP. It includes the correct POM files for generating the proto policy template as a Maven artifact. It has editors and perspectives that ad the programmer in their work.

Generating

...

Policy Templates

It is also possible to generate proto policies policy templates using MDD (Model Driven Development) techniques. Policies are expressed using a DSL (Domain Specific Language) or a policy specification environment for a particular application domain. For example, policies for specifying SLAs could be expressed in a SLA DSL and policies for managing SON features could be generated from a visual SON management tool. The ONAP Policy framework provides an API that allows tool chains to create proto policiespolicy templates.

Policy Design Process

All policies must be certified as being fit for deployment prior to run time deployment. This certification may be performed over the ONAP Policy Framework APIs in the case where other ONAP components such as SDC crete policies. For Policies created directly in the PF, governance of policy certification and testing is supported in the system.

...

PAP (Policy Administration Point)A component that administers and manages policies
PDP (Policy Deployment Point)A component that executes a policy artifact (One or many?)
PDP_<>A specific type of PDP
PDP GroupA group of PDPs that execute the same (set of?) policy artifact(s)
Policy DevelopmentThe development environment for policies
ProtoPolicyPolicyTemplateA generic policy that may or may not be executable
DomainPolicyA specialization of a generic policy for application to a specific domain
PolicyParametersParameters that configure a policy for execution in a PDP group
Executable PolicyA policy that can be stored in Nexus and can execute on a certain type of PDP. An executable policy is a parameterized proto policy template or domain policy
Executable Policy SetA set of policies that are deployed on a PDP group. One and only one Policy Set is deployed on a PDP group

...