You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »


Overview

Project NameMUSIC
Target Release NameBeijing
Project Lifecycle StateIncubation
Participating Company AT&T, Intel, Netcracker, Verizon, Windriver (in lexical order)

Scope

What is this release trying to address?

This release of MUSIC provides a shared service with recipes that individual ONAP components and micro-service can use for state replication, consistency management and state ownership across geo-distributed sites. This is a crucial component enabling ONAP components to achieve geo-redundancy (platform-maturity resiliency level 3). 

Use Cases

  • Targeted goal for R2: OOF-Homing Optimizer (HAS) uses MUSIC for its state persistence (as a queue) and as a highly available distributed messaging service. 
  • Stretch goal for R2: ONAP Portal will use MUSIC to store its http session state across sites in a persistent manner.  

Minimum Viable Product

MUSIC service that can serve the geo-redundancy needs of ONAP HAS and ONAP Portal while satisfying the platform maturity requirements for the Beijing release. 

Functionalities

Since we currently do not have the LF tool chain, we are just attaching the excel containing the epics and user stories. 


Epics

Key Summary T Created Updated Due Assignee Reporter P Status Resolution
Loading...
Refresh

Stories

Key Summary T Created Updated Due Assignee Reporter P Status Resolution
Loading...
Refresh


Longer term roadmap

In the long term we hope that MUSIC will be state-management system for all ONAP components and micro-services to manage geo-redundancy. For example, we envisage the use of MUSIC for multi-site state management in SO (to store Camunda state across sites), <SDN-C, AppC> (to store ODL related state across sites) , A&AI (to store its graph data) and most other ONAP components that need to manage state across sites. Further, we envision that these services will use the MUSIC recipes  (mdbc, prom, musicCAS, musicQ) to achieve the goal of a multi-site active-active federated ONAP solution. 

Release Deliverables

Indicate the outcome (Executable, Source Code, Library, API description, Tool, Documentation, Release Note...) of this release.

Deliverable NameDeliverable Description
Cource code and REST API

The entire source code for the MUSIC service and

the corresponding REST API to access it.

Compilation scripts

Script to generate the MUSIC war file that

can be deployed in the Apache Tomcat webserver

Installation guide

Document that describes how MUSIC can be installed

in containers

Tool description

Complete description of the inner workings of MUSIC and

how it performs state management

Basic BenchmarksBasic performance benchmarks for the MUSIC operations
API documentationREST API documentation in Swagger
Test CasesJunit test cases covering sufficient parts of MUSIC code

Sub-Components

NA. 

Architecture

High level architecture diagram


In this figure the ONAP components targeted for R2 are ONAP HAS and Portal (stretch goal). 




MUSIC will be available as a common service like DMaap or AAF as shown in the red, oblong box below:



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.

AreaActual LevelTargeted Level for current ReleaseHow, EvidencesComments
Performance11

This file shows basic performance benchmarks performed for MUSIC on a 10 node cluster.

  • 0 -- none
  • 1 – baseline performance criteria identified and measured
  • 2 & 3 – performance improvement plans created & implemented
Stability11As shown in this file, our experimental runs were all over 1 hour.
  • 0 – none
  • 1 – 72 hours component level soak w/random transactions
  • 2 – 72 hours platform level soak w/random transactions
  • 3 – 6 months track record of reduced defect rate
Resiliency

1

2

Within each container we have scripts that will detect failure of MUSIC and restart it. However, if the entire container fails, we will need OOM to bring it up.

  • 0 – none
  • 1 – manual failure and recovery (< 30 minutes)
  • 2 – automated detection and recovery (single site)
  • 3 – automated detection and recovery (geo redundancy)
Security

2

2

  • SSL Communication’s between Cassandra Cluster Nodes.
  • REST over HTTPS with AAF for Authentication.
  • 0 – none
  • 1 – CII Passing badge + 50% Test Coverage
  • 2 – CII Silver badge; internal communication encrypted; role-based access control and authorization for all calls
  • 3 – CII Gold
Scalability

0

1

Among the MUSIC components [tomcat, zookeeper, cassandra], new MUSIC nodes with the tomcat and cassandra can be added seamlessly to scale the cluster (MUSIC itself is state-less). However, our current version of Zookeeper (3.4.0) does not support dynamic reconfiguration. Will move to Zookeeper 3.5.0 that supports dynamic reconfiguration and test MUSIC sclability. We will also need to work with OOM support to spin new containers on demand for the scalability needs.


  • 0 – no ability to scale
  • 1 – single site horizontal scaling
  • 2 – geographic scaling
  • 3 – scaling across multiple ONAP instances
Manageability

1

1

Using EELF with logback as the logging provider.

  • 1 – single logging system across components; instantiation in < 1 hour
  • 2 – ability to upgrade a single component; tracing across components; externalized configuration management
Usability

1

1

Use SWAGGER for the REST API and Installation Docs. Will need to enhance and update the documentation.

  • 1 – user guide; deployment documentation; API documentation
  • 2 – UI consistency; usability testing; tutorial documentation


  • 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.

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

API NameAPI DescriptionAPI Definition DateAPI Delivery dateAPI Definition link (i.e.swagger)
To fill outHigh level description of the APIDate for which the API is reviewed and agreedTo fill outLink toward the detailed API description
  • API Outgoing Dependencies

API this project is delivering to other projects.

API NameAPI DescriptionAPI Definition DateAPI Delivery dateAPI Definition link (i.e.swagger)
To fill outHigh level description of the APIDate for which the API is reviewed and agreedTo fill outLink 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, ...).

NameDescriptionVersion
To fill outTo fill outTo fill out

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 Release.
List identified release gaps (if any), and its impact.

Gaps identifiedImpact
To fill outTo fill out
  • Known Defects and Issues

Provide a link toward the list of all known project bugs.

Key Summary T Created Updated Due Assignee Reporter P Status Resolution
Loading...
Refresh

  • 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 identifiedMitigation PlanContingency Plan
To fill outTo fill outTo fill out
  • 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 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.

DateProjectDeliverable
To fill outTo fill outTo fill out
  • 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
    • ...

Note

The Documentation project will provide the Documentation Tool Chain to edit, configure, store and publish all Documentation asset.


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.

Each project must edit its project table available at Project FOSS.


Charter Compliance

The project team comply with the ONAP Charter.

  • No labels