The content of this template is expected to be fill out for M1 Release Planning Milestone.
Table of Contents | ||
---|---|---|
|
Overview
Project Name | Enter the name of the project |
---|---|
Target Release Name | Dublin |
Project Lifecycle State | Incubation |
Participating Company | AT&T, Ericsson, ??????Huawei, TechMahindra |
Scope
What is this release trying to address?
Scope |
---|
- Policy Infrastructure
- Logging Requirements
- Security Requirements
Use Cases
vFW/vDNS/vCPE - Test only support
DRAFT - not committed until resources are identified
5G Use Cases
- FM Meta Data
- VES Event Registration - generate control loop policies
- Configuration with NetConf
- Policy identified - not sure what the requirement was for this
- OOF & PCI
- Add 2nd Control Loop
- Add Control Loop Coordination Policies to support both Control Loops
BBS - NO service assurance for Dublin, thus NO Policy requirements.
CCVPN - NO new Policy requirements.
- Test only
HPA - NO new Policy requirements.
- Test only
K8S - NO policy requirements
Scale out - Control Loop hardening requirements
Distributed Analytics as a service
- NO policy requirements - although that seems incorrect.
Change Management Dublin Extensions
- Schedule optimization with Automated Conflict Avoidance
- Traffic Migration Workflow
Minimum Viable Product
Priority | Committer Lead | Resources Committed | Epic | Dependencies | ||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Technical Debt | Highest | Pamela Dragosh | Liam Fallon Ram Krishna Verma Jorge Hernandez Jim Hahn Michael Mokry - Libo Z - HPA OOF Model |
| ||||||||||||||||||||||||||||||||||||||||||||
Policy Architecture Build | Highest | Platform Dedicated Resources
|
| Iteratively working with new models/templates being built for Model Drive Control Loop:
| ||||||||||||||||||||||||||||||||||||||||||||
Logging Requirements - all components except policy/engine | High |
| ||||||||||||||||||||||||||||||||||||||||||||||
Security Requirements | High |
|
| |||||||||||||||||||||||||||||||||||||||||||||
Control Loop Sub Committee Functional Requirements | High | Liam Fallon - shared models across PDP engines Joshua Reich - Control Loop Coordination Pamela Dragosh - Guard/DCAE Configuration Pramod Jamkhedkar - Drools Control Loop Template, A&AI |
| Iteratively working with re-design of the Platform
| ||||||||||||||||||||||||||||||||||||||||||||
AT&T Features/Fixes on the Casablanca codebase | Medium | Jorge Hernandez | Praveen Augustus |
|
Use Cases
Use Case | Scope | Priority | Committer Lead | Resources committed | JIRA | Dependencies | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
vDNS (via Scale Out) | Control Loop Hardening | Highest | Pramod Jamkhedkar - A&AI work Tech Mahindra will provide - per Milind Jalwadi TSC call |
|
| |||||||||||||||||||||||||
vFW | TBD - use APP-C LCM API vs old API for ModifyConfig
| High |
|
| ||||||||||||||||||||||||||
5G - FM Meta Data | DEFERRED TO NEXT RELEASE VES Event Registration - auto-generate control loop policies |
| ||||||||||||||||||||||||||||
5G - OOF & PCI | Adding 2nd control loop Add Control Loop Coordination Policies to support both control loops | Med | Wipro Corp. will provide |
|
| |||||||||||||||||||||||||
vCPE | Test ONLY
| Med | ||||||||||||||||||||||||||||
CCVPN | CCVPN Use Case (Dublin) - TBD Changes needed for policy | Med | Pamela Dragosh |
| TBD if this work is dependent upon the re-build.
| |||||||||||||||||||||||||
BBS | NO REQUIREMENTS | |||||||||||||||||||||||||||||
Change Management Dublin Extensions | Test ONLY Schedule optimization with Automated Conflict Avoidance Traffic Migration Workflow | Low | n/a |
Minimum Viable Product
The following application components are the MVP from the Casablanca releases.
- 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 - PDP Engine for policies/templates that are translated into Drools Rules.
- Policy XACML PDP - legacy XACML PDP for policies/templates that are translated into XACML Policies. Also is the entry point for API requests which get routed through legacy PAP to Drools PDP.
- Policy BRMS Gateway - intermediary backend for distributing policies to the Drools PDP and configuration details to the Drools PDP controller.
- Policy SDC Service Distribution - integration with SDC for service distribution
- Policy Apex PDP - PDP engine for policies that are translated into Apex Policies.
The following application components are being newly developed for the Dublin release to support the New Policy Architecture.
- Policy API - Lifecycle API that supports onboarding Policy models/templates and the creation of raw policies from the models/templates.
- Policy PAP (2nd Gen ?) - PAP component that allows PDP engines to be grouped in order to support a set of policies and Deploy/Undeploy of Policies into these PDP groups.
- Policy XACML (2nd Gen) - lightweight XACML PDP
- 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.
Functionalities
List the functionalities that this release is committing to deliver by providing a link to JIRA Epics and Stories. In the JIRA Priority field, specify the priority (either High, Medium, Low). The priority will be used in case de-scoping is required. Don't assign High priority to all functionalities.
Epics
Jira | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Stories
Jira server ONAP JIRA columns key,summary,priority,assignee maximumIssues 30 jqlQuery project = POLICY and Type = Story and fixVersion = 'Dublin Release' and Resolution = 'Unresolved' ORDER BY priority DESC, updated DESC serverId 425b2b0a-557c-3c0c-b515-579789cceedb
Longer term roadmap
Casablanca Dublin will begin development of its new architecture as described in this wiki: The ONAP Policy Framework
Release Deliverables
Indicate the outcome (Executable, Source Code, Library, API description, Tool, Documentation, Release Note...) of this release.
Deliverable Name | Deliverable Description | ||
---|---|---|---|
Policy Portal Dashboard | Executable | ||
Policy PAP web application (legacy) | 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 (legacy) | 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 | runtime policies. |
Policy Apex PDP | Executable | 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/DocumentationExecutable | ||
Policy PAP (2nd Generation) | Executable | ||
Policy PDP SDK (2nd Generation) | Code Deliverable | ||
Policy Apex PDP | Executable | Policy XACML PDP (2nd Generation) | Executable |
Sub-Components
List all sub-components part of this release.
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.
Architecture
High level architecture diagram
At that stage within the Release, the team is expected to provide more Architecture details describing how the functional modules are interacting.
...
Anyone reading this section should have a good understanding of all the interacting modules.
Platform Maturity
Refering to CII Badging Security Program and Platform Maturity Requirements, fill out the table below by indicating the actual level , the targeted level for the current release and the evidences on how you plan to achieve the targeted level.
Area | Actual Level | Targeted Level for current Release | How, Evidences | Comments | |
---|---|---|---|---|---|
Performance | 1 | 1 | Policy R3 Casablanca Platform Maturity |
| |
Stability | 1 | 1Policy R3 Casablanca Platform Maturity |
| ||
Resiliency | 2 | 2Policy R3 Casablanca Platform Maturity |
| ||
Security | 1 | 2 (Stretch goal)Policy R3 Casablanca Platform Maturity |
| ||
Scalability | 1 | 1Policy R3 Casablanca Platform Maturity |
| ||
Manageability | 1 | 1Policy R3 Casablanca Platform Maturity |
| ||
Usability | 1 | 1 | Policy R3 Casablanca Platform Maturity |
|
API Incoming Dependencies
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.
...
API Name | API Description | API Definition Date | API Delivery date | API Definition link (i.e.swagger) | |||||
---|---|---|---|---|---|---|---|---|---|
new SO APISO will be | designing an API for Scale Out that can be shared by Policy and VID using DmaapREST API for SO | M3 | M3 time | ||||||
AAI | REST Web Service for AAI | BeijingCasablanca | |||||||
Control Loop Event Messages | Dmaap messages published by DCAE when a Control Loop Event occurs. | BeijingCasablanca | 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) | API for Restart and ModifyConfig | Casablanca | Beijing|||
DMAAP | API for publish/subscribe to DCAE Control Loop Events and APP-C API | BeijingCasablanca |
API Outgoing Dependencies
API this project is delivering to other projects.
API Name | API Description | API Definition Date | API Delivery date | API Definition link (i.e.swagger) | |||
---|---|---|---|---|---|---|---|
Policy Client API | This is the legacy Policy API is used by other ONAP components to create, update and delete policy(s). | Beijing Casablanca version - no changes | n/a | Policy API | |||
Policy Query API | This is the legacy Policy API is used by other ONAP components responsible for enforcing policy during runtime. | Beijing Casablanca 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. | API | The new Policy Lifecycle API description, documentation, models, etc. | M3 Dublin | M4 DublinEnd of Casablanca | TBD |
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, ...).
...
In case there are specific dependencies (Centos 7 vs Ubuntu 16. Etc.) list them as well.
Testing and Integration Plans
Provide a description of the testing activities (unit test, functional test, automation,...) that will be performed by the team within the scope of this release.
Describe the plan to integrate and test the release deliverables within the overall ONAP system.
Confirm that resources have been allocated to perform such activities.
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 Releasein the Dublin Release we are working on re-building the current Policy Framework Software Architecture that does not have these limitations.
List identified release gaps (if any), and its impact.
Gaps identified | Impact |
---|---|
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.
Jira | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Risks
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).
Risk identified | Mitigation Plan | Contingency Plan |
---|---|---|
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
The milestones are defined at the Release Level and all the supporting project agreed to comply with these dates.
Team Internal Milestone
This section is optional.
Documentation, Training
Other Information
Vendor Neutral
If this project is coming from an existing proprietary codebase, ensure that all proprietary trademarks, logos, product names, etc. have been removed. All ONAP deliverables must comply with this rule and be agnostic of any proprietary symbols.
Free and Open Source Software
FOSS activities are critical to the delivery of the whole ONAP initiative. The information may not be fully available at Release Planning, however to avoid late refactoring, it is critical to accomplish this task as early as possible.
List all third party Free and Open Source Software used within the release and provide License type (BSD, MIT, Apache, GNU GPL,... ).
In the case non Apache License are found inform immediately the TSC and the Release Manager and document your reasoning on why you believe we can use a non Apache version 2 license.
...