...
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).
...
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.
For Beijing this will be run as internal services to both Portal and OOF.
Functionalities View file
Epics
Jira server ONAP JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution maximumIssues 20 jqlQuery project=sanbox music and issuetype in (epic) serverId 425b2b0a-557c-3c0c-b515-579789cceedb
...
Jira server ONAP JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution maximumIssues 20 jqlQuery project=sanbox music and issuetype in (story) serverId 425b2b0a-557c-3c0c-b515-579789cceedb
...
In the long term we hope that MUSIC will be common, shared 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.
...
Deliverable Name | Deliverable Description |
---|---|
Cource Source 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 Benchmarks | Basic performance benchmarks for the MUSIC operations |
API documentation | REST API documentation in Swagger |
Test Cases | Junit test cases covering sufficient parts of MUSIC code |
...
Area | Actual Level | Targeted Level for current Release | How, Evidences | Comments |
---|---|---|---|---|
Performance | 1 | 1 | This file shows basic performance benchmarks performed for MUSIC on a 10 node cluster. |
|
Stability | 1 | 1 | As shown in this file, our experimental runs were all over 1 hour. |
|
Resiliency | 12 | 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. |
|
Security | 2 | 2 |
|
|
Scalability | 01 | 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.Zookeeper nodes ideally should not be scaled since there are major performance implications. However, this can be done with reconfiguration. |
|
Manageability | 1 | 1 | Using EELF with logback as the logging provider. |
|
Usability | 1 | 1 | Use SWAGGER for the REST API and Installation Docs. Will need to enhance and update the documentation. |
|
...
The following type of tests will be ensured for MUSIC in this release:
- Unit tests: Junit test cases will be added incrementally as part of code delivery ensuring static code analysis as recommended by common SW delivery practices. MUSIC is written in Java, so coverage target percentage will be evaluated along project. Unit Tests will be automated (as part of the build), so that execution will happen before every MUSIC delivery. This includes writing test cases for the new components and those for the existing ones not yet covered under unit testing. A python based Unit Testing framework will be integrated into the project, binding all developers to start with Unit Tests when developing each module.
- Functional Test cases: MUSIC will be tested according to the functionality committed to the Beijing release with a specific focus on the functionality utilised by ONAP HAS and ONAP Portal for MUSIC-based state management.
- End to End Test cases: MUSIC will be integrated within the whole ONAP components architecture and dedicated set of E2E test cases will be setup. Purpose, scope and details on E2E testing will be planned/defined subsequently by working with the Integration team, and for the test cases in the scope of this release.
Gaps
None identified so far.
Known Defects and Issues
...
None identified so far.
Resources
Fill out Udated the Resources Committed to the Release centralized page.
Release Milestone
...