Internship Projects/Mentors



Title

Externalizing ONAP DBs to a separate namespace

Status

Difficulty

/ (depending on number of hardcoded credentials he or she finds in ONAP dockers)



Description 

ONAP can be considered as a huge, multi-language business application that is deployed using Helm in containers on Kubernetes. As every application it needs the place to store its persistent data - databases and ONAP actually needs a lot of them. Currently they are all deployed by components that are using them without any flexibility for the use to provide his own DB or use some operator FW to manage them. Additionally choice which components may share the same instance of the DB engine is very limited.

We would like to improve the current situation by implementing a two staged deployment:

1) Deploy all required DB engines (can be done using community charts or any user chart)

2) Deploy ONAP components & configure them to make use of those engines


This would allow use to basically bring his own database for ONAP no matter if it is running in the same k8s cluster or it has been provided by some DBaaS solution. Additionally it makes our deployment more modular and configurable thus may result in significant footprint savings.

Additional Information

High Level vision for OOM

Repository: https://github.com/onap/oom

Learning Objectives

Expected Outcome

Two step ONAP installer with at least one (preferably all of them) DB externalized to a separate namespace

Relation to LF Networking 

ONAP

Education Level

No preference on education. Need just a smart person who is not affraid to get his or her hands dirty with dozen of helm charts that we have

Skills

Future plans

There are other components that should be migrated to separate namespaces in order to provide a fully configurable ONAP deployment.

Preferred Hours and Length of Internship

both 40/12 and 20/24 are fine - no preference here.

Mentor(s) Names and Contact Info

Krzysztof Opasiak <k.opasiak@samsung.com>