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.
- 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
Two step ONAP installer with at least one (preferably all of them) DB externalized to a separate namespace
Relation to LF Networking
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
- At least rough idea about various types of DBs
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 <email@example.com>