Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Srini will help with technical debt

DRAFT PROPOSAL FOR COMMENTS

The content of this template is expected to be fill out for M1 Release Planning Milestone.

...

Project NamePolicy Framework
Target Release NameBeijing
Project Lifecycle StateIncubation
Participating Company AT&T, Intel, Ericsson, Huawei

Scope

What is this release trying to address?

...

A best effort will be applied to support Integration testing for the existing R1 Use Cases assuming there are NO changes made to those Use Cases.

Hardware Platform Enablement In ONAP - Dependency will be on Intel to supply the required resources. A best effort will be applied to support Intel resources in lieu of Platform Maturity Guidelines and JUnit Test Code Coverage 50%.

VNF Scale Out (TBD - Not enough resources as of 1/11/2018, will finalize by 1/16/2018).Minimum vDNS only - requirements planning) - We will do as much work as possible prior to Cassablanca for supporting the auto scale out use case. Dependent on the amount of requirements planning the APP-C team can do.


Minimum Viable Product

  • Policy Portal Dashboard - Console GUI where Models, Templates can be imported, updated, deleted, as well as, policies can be created, updated and deleted. The console GUI also has a dashboard where PDP's can be grouped and where Operators can control where policies are distributed to.
  • Policy PAP web application - Policy backend that manages communication with PDP engines for policy distribution.
  • Policy Drools PDP - run-time execution of Control Loop operational policies. Supports queries from other ONAP components to retrieve
  • Policy XACML PDP - run-time execution of Control Loop configuration policies of DCAE collectors, analytics and micro services.
  • Policy BRMS Gateway - intermediary backend for distributing policies to the Drools PDP and configuration details to the Drools PDP controller.

...

Deliverable NameDeliverable Description
Policy Portal DashboardExecutable
Policy PAP web applicationExecutable

API - internal to the Policy Platform. The Policy PDP engines use this API to synchronize policies being distributed.
Policy Drools PDPExecutable
Policy XACML PDPExecutable

API - external to ONAP components. The API is used to CRUD Policies, Deploy Policies, and query for Policy Decisions.
Policy BRMS GatewayExecutable
MariaDB

SQL database

  • Stores policies and their versions
  • Stores templates/models and their versions
  • Stores PDP grouping information
  • Stores Policy distribution details
Nexus RepoThis repository is used by the Policy Drools PDP to retrieve distributed policies and their dependent jars.
Policy Lifecycle APIDescription/Documentation
Policy SDC Distribution IntegrationExecutable

Sub-Components

Activities related to sub-components must be in sync with the overall release.

Sub-components are repositories and are consolidated in a single centralized place. Edit the Release Components name for your project in the centralized page.

...

High level architecture diagram

...

Indicate where your project fit within the ONAP Archiecture diagram.

Block and sequence diagrams showing relation within the project as well as relation with external components are expected.

Anyone reading this section should have a good understanding of all the interacting modules.

View file
nameONAP Beijing Architecture Jan 9c - Policy.pdf
height400

Policy Interaction with CLAMP during Design Time


Policy CLAMP InteractionImage Added



Policy Control Loop InteractionImage Added


Policy Interaction with OOF


Image Added


Platform Maturity

...

List the API this project is expecting from other projects.
Prior to Release Planning review, Team Leads must agreed on the date by which the API will be fully defined. The API Delivery date must not be later than the release API Freeze date.

Prior to the delivery date, it is a good practice to organize an API review with the API consumers.

...

  • Testing and Integration Plans

    • JUnit tests: 50% code coverage is the goal for all repositories.
    • Functional tests: cover all possible Control Loop API calls. Simulating CLAMP and DCAE

...

"Confirm that resources have been allocated to perform such activities" - at this point I do not have enough resources to cover both making the changes for Platform Maturity and help with testing.

  • Gaps

This section is used to document a limitation on a functionality or platform support. We are currently aware of this limitation and it will be delivered in a future Release.
List identified release gaps (if any), and its impact.

Gaps identifiedImpact
Template Code is inefficient with respect to threadingDrools is single-threaded. When a RESTful API call is made, it made, it should be done in a thread vs polling. Else it holds up the processing of events/rules. The RESTful API calls to A&AI, SO and VF-C should be done in a thread vs polling. Else it holds up the processing of events/rulesseparate thread.
Policy GUI limitations

Unable to update templates

This visual update of Control Loop Operational Policies is not user-friendly

Not a truly model-driven architecture. Code must be written in order to support new models.

...

Jira Legacy
serverSystem Jira
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
maximumIssues20
jqlQueryproject=POLICY and issuetype in (bug) and fixVersion='Amsterdam Beijing Release'
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176

...

List the risks identified for this release along with the plan to prevent the risk to occur (mitigation) and the plan of action in the case the risk would materialized (contingency).

...

the risk would materialized (contingency).

Risk identifiedMitigation PlanContingency Plan
ResourcesActively seeking community support.Current resources are only enough to satisfy the Highest Priority Epics (Platform Maturity, JUnit 50% test coverage). But that will be difficult to achieve.
policy/engine - Difficult to obtain 50% JUnit code coverage based on the extreme amount of cyclomatic complexity and code refactoring needed to remove nested statements.Deprecation of the repository is possible with re-write of components that is needed to support Platform Maturity requirements.Request TSC for exception for that specific repository.
  • Resources

Fill out the Resources Committed to the Release centralized page.

  • Release Milestone

The milestones are defined at the Release Level and all the supporting project agreed to comply with these dates.

...