DRAFT PROPOSAL FOR COMMENTS
The content of this template is expected to be fill out for M1 Release Planning Milestone.
...
Project Name | Policy Framework |
---|---|
Target Release Name | Beijing |
Project Lifecycle State | Incubation |
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 Name | Deliverable Description |
---|---|
Policy Portal Dashboard | Executable |
Policy PAP web application | Executable |
API - internal to the Policy Platform. The Policy PDP engines use this API to synchronize policies being distributed. | |
Policy Drools PDP | Executable |
Policy XACML PDP | Executable |
API - external to ONAP components. The API is used to CRUD Policies, Deploy Policies, and query for Policy Decisions. | |
Policy BRMS Gateway | Executable |
MariaDB | SQL database
|
Nexus Repo | This repository is used by the Policy Drools PDP to retrieve distributed policies and their dependent jars. |
Policy Lifecycle API | Description/Documentation |
Policy SDC Distribution Integration | Executable |
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 name ONAP Beijing Architecture Jan 9c - Policy.pdf height 400
Policy Interaction with CLAMP during Design Time
Policy Interaction with OOF
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
...
- API calls
- If resources become available, we will add more
- API calls such as delete, update.
- Policy R2 Beijing CSIT Functional Test Cases
- Integration Test Plans - In progress: Policy R2 Beijing - Integration Test Plans
- API calls
"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 identified | Impact |
---|---|
Template Code is inefficient with respect to threading | Drools 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 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
...
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 identified | Mitigation Plan | Contingency Plan |
---|---|---|
Resources | Actively 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.
...