Skip to end of metadata
Go to start of metadata

Internship Projects/Mentors


Title

Externalizing ONAP DBs to a separate namespace

Status

APPROVED BY TSC

Difficulty

MEDIUM / HIGH (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

  • Take a part in extending (both code & design) current ONAP installer
  • Gain experience in working with a huge, distributed application on kubernetes
  • Learn on CI/CD practices that we use in gating
  • Opportunity to make an impact and create a piece of software that will be used by all top CSPs to deploy ONAP

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

  • Docker
  • Kubernetes
  • Helm
  • Scripting
  • At least rough idea about various types of DBs

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>