Versions Compared

Key

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

1:00pm UTC/ 9:00am EST/8:00am CST/2:30pm IST

Table of Contents

Overview

Note that as of this date, our documentation is still being worked on. The link for it is: https://docs.onap.org/en/latest/submodules/policy/parent.git/docs/index.html.  At some point in April/May of 2020 we will be branching so be sure to refer to the Frankfurt branch of documentation if you are viewing this wiki page at that time.

Frankfurt Release Key Updates


Demo

In Frankfurt, the policy framework finished its support of TOSCA Compliant Policy Types. New Policy Types were implemented to support these domains:

  • Control Loop Operations
  • Control Loop Guard Queries
  • OOF Project Optimization placement
  • SDNC Naming Algorithms2118

    https://docs.onap.org/en/latest/submodules/policy/parent.git/docs/design/design.html

    NOTE: documentation is still WIP

    1845Documentation is WIP for each PDP to document its native policy type and implementation.
    Key New FeatureSMEDetailsReadthedocs/JIRA etc.
    Re-design of Control Loop Actor/Operation Code

    Control Loop actor code was re-designed and cleaned up enabled faster integration of new actors and operations for control loops.

    Drools Rules Simplification.

    Jira
    serverONAP JIRA
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyPOLICY-1930


    Policy Update notificationsWhen versions of policies are deployed/undeployed, an update notification is sent on Dmaap topic so that clients (DCAE in particular) can make Decision API call to get the latest policy that they should be enforcing.

    https://docs.onap.org/en/latest/submodules/policy/parent.git/docs/pap/pap.html#dmaap-api

    Jira
    serverONAP JIRA
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyPOLICY-1840

    TOSCA Compliant Policy Types
    PAP Component Enhancements
    • Treatment of PASSIVE state for PDPs: If a PDP fails to deploy one or more policies specified in a PDP-UPDATE message, PAP will undeploy those policies that failed to deploy to the PDP.  This entails removing the policies from the Pdp Group(s), issuing new PDP-UPDATE requests, and updating the notification tracking data.
    • Removal of supportedPolicyTypes in PdpStatus message from pdp's for either registration or regular heartbeat. Now pdp's will send the name of the pdpGroup they want to register in the PdpStatus message for registration.

    Jira
    serverONAP JIRA
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyPOLICY-

    2026

    New PAP API for Create and Update PDP Groups
    • A new API is introduced to deploy policies on specific PDPGroups
    • Fetch policy deployment status: Clients will be able to poll the PAP API to find out when policies have been successfully or unsuccessfully deployed to the PDP's.
    Policy Validation, Versioning and Retrieval improvements
    • Improvements in validation of Policy Types and Policies
    • Fixes for Policy Versioning
    • When retrieving a Policy Type, inherited policy types are now included in the API call along with referenced Data Types.
    Native Policy Types

    Native Policy Support for each PDP was implemented. Now users can use the APIs to create policies specific to a PDP such as Drools Rules, XACML XML policies and Apex policies.

    • Drools Native DRL
    • XACML Native XML
    • Apex Native Javascript

    Jira
    serverONAP JIRA
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyPOLICY-

    Consolidation of Healthcheck and statistics

    Consolidated the health check of all the components into the PAP. Previously each component had to be queried for health status, now a single call to the PAP can retrieve the health of all the components. NOTE: This does not include legacy components.

    • Statistics for XACML and Apex PDP components enhanced.

    Jira
    serverONAP JIRA
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyPOLICY-2025

    Document: WIP

    Policy Distribution now uses Lifecycle API and PAP Deployment APIPolicy Distribution now uses the Lifecycle API and PAP deployment API to auto create and deploy policies upon service distribution. The legacy API's support were removedRe-design of Control Loop Actor/Operation Code

    Control Loop actor code was re-designed and cleaned up enabled faster integration of new actors and operations for control loops.

    Drools Rules Simplification.

    Jira
    serverONAP JIRA
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyPOLICY-1930

    New PAP API for Create and Update PDP Groups
  • A new API is introduced to deploy policies on specific PDPGroups
  • Fetch policy deployment status: Clients will be able to poll the PAP API to find out when policies have been successfully or unsuccessfully deployed to the PDP's.

    CDS as an Actor in Control LoopsCDS as an actor in Control Loops is now fully supported. Introduced in Dublin, the new actor is now available to be used in Operational policies.

    Jira
    serverONAP JIRA
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    key

    Policy Distribution now uses Lifecycle API and PAP Deployment APIPolicy Distribution now uses the Lifecycle API and PAP deployment API to auto create and deploy policies upon service distribution. The legacy API's support were removed.
    Policy Validation, Versioning and Retrieval improvements
    • Improvements in validation of Policy Types and Policies
    • Fixes for Policy Versioning
    • When retrieving a Policy Type, inherited policy types are now included in the API call along with referenced Data Types.

    Jira
    serverONAP JIRA
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyPOLICY-2027

    TOSCA Compliant Policy Types & Upgrading OOF/SDNC to new API

    In Frankfurt, the policy framework finished its support of TOSCA Compliant Policy Types. New Policy Types were implemented to support these domains:

    • Control Loop Operations
    • Control Loop Guard Queries
    • OOF Project Optimization placement
    • SDNC Naming Algorithms

    Jira
    serverONAP JIRA
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyPOLICY-2118

    https://docs.onap.org/en/latest/submodules/policy/parent.git/docs/design/design.html

    NOTE: documentation is still WIP

    Configurable Policy Type and Policy Pre-LoadingConfigurable Pre-loading and pre-deployment of policies. When ONAP is brought up, the user can configure a set of default policies that can be created and deployed.

    Jira
    serverONAP JIRA
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyPOLICY-2028

    Lifecycle API Enhancements
    • Added a new simplified API to create one or more policies in a single API call.

    Jira
    serverONAP JIRA
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyPOLICY-2028

    XACML PDP Features
    • Decision API for monitoring policies was enhanced to support an abbreviated list of policies.
    • Decision API now supports naming policies for CCSDK project.
    • Decision API now supports a closest match algorithm for optimization policies and enhancements were made to better support policies with "matchable" properties.
    • Support for PASSIVE Mode
    • Now returns error when a policy cannot be loaded

    Jira
    serverONAP JIRA
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyPOLICY-2067

    Native Policy Types

    Introduction to Native Policy Support for each PDP was implemented. Now users can use the APIs to create policies specific to a PDP such as Drools Rules, XACML XML policies and Apex policies.

    • Drools Native DRL
    • XACML Native XML
    • Apex Native Javascript

    Jira
    serverONAP JIRA
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyPOLICY-1845

    Documentation is WIP for each PDP to document its native policy type and implementation.

    Drools PDP Features
    • TOSCA Compliant Operational Policies
    • TOSCA Compliant Native Policies (For deployment of new applications).
    • Validation of Operational and Native Policies against their policy type.
    • Generic Drools-PDP docker image that can be used for any generic application.
    • Support for offline mode which allows users to run drools deployment in a locked environment.
    • Parameterize mvn repo urls and proxy settings which allows the users to build the their docker images for drools-pdp and drools-application using their own CI pipelines.
    • New Controller TOSCA Compliant Operational Policies.
    • New Controller TOSCA Compliant Native Controller and Artifact Policies.
    • Enhanced Telemetry API to support Native and Controller TOSCA Policy Types.
    • Validation of Operational and Native Policies against their policy type.
    • Rate limiting of ONSET events to prevent flooding from identical events from DCAE.Docker for a generic Drools-PDP standalone that can be used for other applications

    Jira
    serverONAP JIRA
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyPOLICY-2191
    Jira
    serverONAP JIRA
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyPOLICY-2318
    Jira
    serverONAP JIRA
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyPOLICY-2181
    Jira
    serverONAP JIRA
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyPOLICY-2323
    Jira
    serverONAP JIRA
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyPOLICY-2146

    Documentation is WIP.

    Apex PDP Features
    • Multiple Policy Deployment now supported
    • Added support for interaction with CDS over gRPC
    • Apex now sends the Statistics data in every heartbeat sent to PAP
    • Passing parameters from ApexConfig to policy logic.
    • Changed JavaScript executor from Nashorn to Rhino as part of Java 11 upgrade.
    • Passing parameters from ApexConfig to policy logic.
    • Added support for interaction with CDS over gRPC
    Configurable Policy Type and Policy Pre-LoadingConfigurable Pre-loading and pre-deployment of policies. When ONAP is brought up, the user can configure a set of default policies that can be created and deployed.

    Jira
    serverONAP JIRA
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyPOLICY-1626
    Jira
    serverONAP JIRA
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyPOLICY-2324

    https://onap.readthedocs.io/en/latest/submodules/policy/parent.git/docs/apex/APEX-User-Manual.html#grpc-io

    https://onap.readthedocs.io/en/latest/submodules/policy/parent.git/docs/apex/APEX-User-Manual.html#configure-task-parameters

    Lifecycle API Enhancements
    • Added a new simplified API to create one or more policies in a single API call.
    PAP Component EnhancementsTreatment of PASSIVE state for PDPs: If a PDP fails to deploy one or more policies specified in a PDP-UPDATE message, PAP will undeploy those policies that failed to deploy to the PDP.  This entails removing the policies from the Pdp Group(s), issuing new PDP-UPDATE requests, and updating the notification tracking data.


    Experimental Features

    • Ram Krishna Verma New PDP Monitoring GUI is available for experimental use to view PDP groups and the PDPs in those groups. Users can visualize the heartbeat, statistics, and health of the PDPs in each group. 
      Jira
      serverONAP JIRA
      serverId425b2b0a-557c-3c0c-b515-579789cceedb
      keyPOLICY-1751
    • Drools PDP a new server pool implemented was contributed. 

    Technical Debt

    Maintenance and Security

    • All components were upgraded to JDK 11
    • Many dependencies were upgraded to clear known security issues and/or to keep up with improvements in 3rd party libraries. For a full listing, see release notes.
    • Hard coded passwords were removed from the components. Now readable from environment variables allowing OOM charts to use secrets for setting passwords.

    Demos To Be Scheduled at a Later Date

    Control Loop Demo - use a recording if availableof CDS Actor - Ram Krishna Verma  and Bruno Sakoto

    Consolidated Health Check - Ram Krishna Verma

    Demo OOF Policy Design and Decision API with Optimization Pamela Dragosh

    Drools PDP Enhancements - Jorge Hernandez

    Apex PDP Enhancements - Ajith Sreekumar