DRAFT PROPOSAL FOR COMMENTS
The content of this template is expected to be fill out for M1 Release Planning Milestone.
...
Project Name | Enter the name of the project |
---|---|
Target Release Name | Casablanca |
Project Lifecycle State | Incubation |
Participating Company | AT&T, Ericsson, Amdocs, Intel, TechMahindra (Confirming) |
Scope
What is this release trying to address?
- Maintenance of current Platform MVP components (Highest Priority)
- 50% code coverage (Java and Javascript)
- Reliability of S3P functionality
- Security Enhancements to further progress towards Silver badge
- internal communication encrypted
- role-based access control and authorization for all calls
- Logging spec v1.2 requirements
- Auto Scale Out Use Case (High Priority)
- Implement new SO API call for Scale Out
- Support Guard Policies creation by CLAMP (Stretch Goal - not enough resources)
- Implement min/max of instances check similar to VID (Stretch Goal - not enough resources and/or information to fully commit)
- Implement Prov_Status=PROV check (Stretch Goal - not enough resources and/or information to fully commit)
- HPA Functional Requirement (Medium Priority)
- Creation of Application that integrates with SDC Service Distribution
- Must support current API and have hooks to support future Policy Lifecycle API
- Health Check, CSIT, Dockerized, K8S HELM Chart, Health Check, CSIT, S3P, 70% code coverage
- Code implementation for automatic creation of HPA Placement policies located in VNF descriptor for OOF to perform placement (Dependent upon creation of Policy SDC Service Distribution application)
- Include CSIT test
- Implementation of Common Actor API - interface with SO
- Creation of Application that integrates with SDC Service Distribution
- Re-architecture of the Platform components for long term roadmap (Low Priority)
- Ingest of Apex PDP engine
- Dockerized, HELM Chart, Health Check, CSIT, Dockerized, HELM Chart, S3P, 70% code coverage
- PAP 2nd Generation
- Re-build of PAP ↔ PDP Policy Distribution API using Maven Nexus Repo.
- Re-build of PAP ↔ PDP Grouping
- Above 2 requirements will involve creation of PDP SDK (2nd Generation)
- Policy Lifecycle API
- Dockerized, HELM Chart, Health Check, CSIT, Dockerized, HELM Chart, S3P, 70% code coverage
- XACML PDP 2nd Generation
- Configurability of XACML Combining Algorithms for root engine
- Open support for raw XACML policies
- Integration with PDP SDK (2nd Generation)
- Policy Engineer Development Environment
- Documentation
- Ingest of Apex PDP engine
...
Jira | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
...
Jira server ONAP JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolutionpriority,assignee maximumIssues 2030 jqlQuery project = POLICY and Type = Story and fixVersion = 'Casablanca Release' and Resolution = 'Unresolved' ORDER BY priority DESC, updated DESC serverId 425b2b0a-557c-3c0c-b515-579789cceedb
...
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 | ||
Existing 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 SDC Distribution Integration | Executable - receives SDC Service Distribution notifications and translates VNF/Service policies into runtime policies. | ||
Stretch Goals | The following will only be a deliverable if they are available for community to use. As they are not MVP, they will only be a stretch goal | ||
Policy Lifecycle API (2nd Generation) | Description/Documentation | ||
Policy | SDC Distribution IntegrationExecutable | Policy PAP (2nd Generation) | Executable |
Policy PDP SDK (2nd Generation) | Code Deliverable | ||
Policy Apex PDP | Executable | ||
Policy XACML PD PDP (2nd Generation) | Executable |
...
Sub-components are repositories and are consolidated in a single centralized place. Edit the Release Components name for your project in the centralized page.
...
Area | Actual Level | Targeted Level for current Release | How, Evidences | Comments |
---|---|---|---|---|
Performance | 1 | 1 | Policy R3 Casablanca Platform Maturity |
|
Stability | 1 | 1 | Policy R3 Casablanca Platform Maturity |
|
Resiliency | 2 | 2 | Policy R3 Casablanca Platform Maturity |
|
Security | 1 | 2 (Stretch goal) | Policy R3 Casablanca Platform Maturity |
|
Scalability | 1 | 1 | Policy R3 Casablanca Platform Maturity |
|
Manageability | 1 | 1 | Policy R3 Casablanca Platform Maturity |
|
Usability | 1 | 1 | Policy R3 Casablanca Platform Maturity |
|
...
API Name | API Description | API Definition Date | API Delivery date | API Definition link (i.e.swagger) | |||
---|---|---|---|---|---|---|---|
Common Actor new SO API | High level description of the API | Date for which the API is reviewed and agreed | To fill out | SO will be designing an API for Scale Out that can be shared by Policy and VID using Dmaap | M3 | M3 timeLink toward the detailed API description | |
AAI | REST Web Service for AAI | Beijing | |||||
Control Loop Event Messages | Dmaap messages published by DCAE when a Control Loop Event occurs. | Beijing | n/a | n/a | |||
APP-C | Dmaap message LCM API for Restart and ModifyConfig | Beijing | |||||
SO | API for auto scaling (for backwards compatibility until Common Actor API is established) | Beijing | |||||
DMAAP | API for publish/subscribe to DCAE Control Loop Events and APP-C API | Beijing |
...
API Name | API Description | API Definition Date | API Delivery date | API Definition link (i.e.swagger) | |||||
---|---|---|---|---|---|---|---|---|---|
Policy Client API | This API is used by other ONAP components to create, update and delete policy(s) | . | Beijing version - no changes | n/a | Policy API | ||||
Policy Query API | This API is used by other ONAP components responsible for enforcing policy during runtime. | Beijing version - no changes | n/a | Policy API | |||||
Policy Lifecycle API | The new Policy Lifecycle API description, documentation, models, etc. | API will be designed and documented over the course of Casablanca. We do not expect our clients to be able to utilize this API in Casablanca. | End of Casablanca | TBD | To fill out | High level description of the API | Date for which the API is reviewed and agreed | To fill out | Link toward the detailed API description |
Third Party Products Dependencies
Third Party Products mean products that are mandatory to provide services for your components. Development of new functionality in third party product may or not be expected.
List the Third Party Products (OpenStack, ODL, RabbitMQ, ElasticSearch,Crystal Reports, ...).
Name | Description | Version | |||
---|---|---|---|---|---|
MariaDB | The MariaDB is the repository that holds all the policies, templates, PDP group, and deployment information. | 10.2.14 | |||
Nexus | The Nexus repository holds all the currently deployed Operational (i.e. Drools policies) and their dependent artifacts. | 2.14.8-01 | |||
Ubuntu | Operating system | 14.04 | To fill out | To fill out | To fill out |
In case there are specific dependencies (Centos 7 vs Ubuntu 16. Etc.) list them as well.
...
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 | To fill out | To fill out
---|---|---|
Policies that are specific to drools are routed through the PDP-X via BRMSGW. | This is unsustainable long-term as we move to a distributed PDP micro service architecture and need to utilize a Policy Distribution API to groups of PDP's spread out over the installation of ONAP. | |
| The long term architecture view is for policy artifacts to be located in a nexus repository that are pulled by appropriate PDP micro service engines. Dependencies would be set in the policy artifact jar files themselves and not hard coded into the platform as a JSON file. Having a JSON file to specify dependencies is a poor implementation architecture and there is no need to re-create Policy artifacts. | |
Policy template/model/rule development environment is too tightly integrated with the Platform code and is not sustainable in the long term. | The long term vision is for separate of Platform from Policies and the current architecture is too far off in its development to move to this goal. | |
New policy models require too much development effort for integration with the Policy GUI. | The long term goal was a platform that could ingest policy models organically and not require any development work. The Policy GUI should be to interpret any TOSCA Model ingested and flexibly present a GUI for a user to create policies from. | |
Policy API is not RESTful and acts more like database query rather than request for a Policy Decision. API also hardcodes models of policies. | The long term goal for the architecture which is to be able to create domains for policies and be flexible import models for those domains without any development to the platform. | |
Policy API does not support Lifecycle management for policies that are deployed such as modes and retirement. | This additional requirement is better suited for the new proposed Policy Lifecycle API than the current API. |
Known Defects and Issues
Provide a link toward the list of all known project bugs.
...
Risk identified | Mitigation Plan | Contingency Plan | To fill out | To fill out | To fill out|
---|---|---|---|---|---|
Not enough resources to meet all the functional requirements. | All Epics are assessed a priority. | ||||
Need the SO API defined by a reasonable timeframe for implementation to happen | We will use the current SO RESTful API until the new API is in place. |
Resources
Fill out the Resources Committed to the Release centralized page.
Release Milestone
...
Team Internal Milestone
This section is optional and may be used to document internal milestones within a project team or multiple project teams. For instance, in the case the team has made agreement with other team to deliver some artifacts on a certain date that are not in the release milestone, it is erecommended to provide these agreements and dates in this section.It is not expected to have a detailed project plan.
...
Documentation, Training
- Highlight the team contributions to the specific document related to he project (Config guide, installation guide...).
- Highlight the team contributions to the overall Release Documentation and training asset
- High level list of documentation, training and tutorials necessary to understand the release capabilities, configuration and operation.
- Documentation includes items such as:
- Installation instructions
- Configuration instructions
- Developer guide
- End User guide
- Admin guide
- ...
...
title | Note |
---|
...
http://onap.readthedocs.io/en/beijing/submodules/policy/engine.git/docs/index.html
Other Information
Vendor Neutral
...