[Architecture] Move OLM to PMM

Description

We have a successful PoC for OLM done in . However, the code is located in the dbaas-controller.

Since OLM will manage the operator's lifecycle the best place for it is PMM. PMM should install OLM, install operators and run monitoring 

Suggested solution 

  1. Create a package for OLM in `managed/services/dbaas/olm`

  2. integrate with the `managed/services/management/dbaas`

  3. Add unit tests

  4. Move everything related to OLM from dbaas-controller and dbaas-api to PMM

Acceptance criteria 

  1. Integration tests are passing

  2. The end user does not see any difference 

 

Out of scope

1. OLM Catalog

How to test

  1. Start PMM server using the FB: https://github.com/Percona-Lab/pmm-submodules/pull/2987

  2. Register a Kubernetes cluster.

  3. OLM and VM, PXC and PSMDB operators should be installed. 
    This can be verified by running kubectl get pods

  1. Start a DB cluster. The DB should appear. Example:

  1. VM API keys must exist

How to document

None

Attachments

2
0% Done
Loading...

relates to

Activity

Show:

Yusaf Awan February 28, 2023 at 8:25 AM

as discussed, there are a few bugs in the ticket, but they are not blockers:
1. https://jira.percona.com/browse/PMM-11396
2. https://jira.percona.com/browse/PMM-11226
3. https://jira.percona.com/browse/PMM-11732

Carlos Salguero February 12, 2023 at 11:01 PM
Edited

Latest FB: (2023-02-21) https://github.com/Percona-Lab/pmm-submodules/pull/3080
  There are still problems as you mentioned in the 3 tickets in the previous comment, but the OLM part works correctly. 

Yusaf Awan February 9, 2023 at 12:28 PM

Yusaf Awan February 8, 2023 at 11:29 AM

We still have this https://jira.percona.com/browse/PMM-11338 bug in this FB. decided to remove PSMDB v.12.0, as it was causing this issue. Can you please take a look?
Tested using the latest FB https://github.com/Percona-Lab/pmm-submodules/pull/2997.

Carlos Salguero January 7, 2023 at 5:49 PM
Edited

Pull Requests for code review:
PMM managed: https://github.com/percona/pmm/pull/1529 - OLM methods using client-go instead kubectl.
DBaaS controller: https://github.com/percona-platform/dbaas-controller/pull/413 (Removed OLM parts)
DBaaS API: https://github.com/percona-platform/dbaas-api/pull/233 Removed OLM parts.

 

Feature build: (updated 2023-02-01) https://github.com/Percona-Lab/pmm-submodules/pull/2997

Done

Details

Assignee

Reporter

Priority

Needs QA

Needs Doc

Planned Version/s

Fix versions

Story Points

Smart Checklist

Created November 7, 2022 at 9:30 AM
Updated March 6, 2024 at 12:26 AM
Resolved March 24, 2023 at 8:45 AM