Details
-
Admin & Maintenance Task
-
Status: Done
-
Medium
-
Resolution: Done
-
None
-
None
-
2
-
Yes
-
Yes
-
No
-
Server Integrations
-
Description
What should be done:
Replace operator management (install/delete/update) with OLM.
Benefit:
Standard and compliant method for operators lifecycle management.
Interface to install and manage any current and future operators and different versions of those (currently hardcoded and needs a lot of maintenance)
Suggested implementation:
Details:
Currently, the dbaas-controller manages the installation/updating of psmdb/pxc operators by itself. We can try to use OLM and it'll handle the installation/updating of operators.
https://confluence.percona.com/display/PMM/OLM
Acceptance criteria:
User/QA doesn't notice the difference in using PMM before and after OLM.
API stays the same.
Out of scope:
- Building/managing catalog
How to test
Register a kubernetes cluster and you shouldn't see any change. Take into consideration that OLM is slower so the part of User/QA doesn't notice the difference in using PMM before and after OLM. cannot be fulfilled 100%. The behavior will be the same with the exception of the speed. You will need to wait and refresh the page to see that the operators were installed.
When using OLM there are new commands available so, this is how to check the operators were installed using OLM instead of the old method:
1. Check package manifests: (list all available operators in OLM catalog)
kubectl get packagemanifest
or just check for some specific operator using filters:
kubectl get packagemanifest --field-selector metadata.name=percona-server-mongodb-operator
2. Check running pods. There should be an OLM namespace and all the component pods will be there:
kubectl get pods -A NAMESPACE NAME READY STATUS RESTARTS AGE kube-system coredns-64897985d-p2m7g 1/1 Running 0 5m8s kube-system etcd-minikube 1/1 Running 0 5m21s kube-system kube-apiserver-minikube 1/1 Running 0 5m21s kube-system kube-controller-manager-minikube 1/1 Running 0 5m21s kube-system kube-proxy-59wls 1/1 Running 0 5m8s kube-system kube-scheduler-minikube 1/1 Running 0 5m23s kube-system storage-provisioner 1/1 Running 1 (4m38s ago) 5m20s olm catalog-operator-67bcbb4f5d-8qzkr 1/1 Running 0 2m17s olm olm-operator-d9f76fdc9-2wzjr 1/1 Running 0 2m17s olm operatorhubio-catalog-nq72d 1/1 Running 0 2m1s olm packageserver-6d9799d6c8-kxw2v 1/1 Running 0 2m2s olm packageserver-6d9799d6c8-wbbzf 1/1 Running 0 2m2s
3. Operators are being installed by creating subscriptions so, list the subscriptions to check which operators were installed by OLM:
kubectl get subscriptions -A NAMESPACE NAME PACKAGE SOURCE CHANNEL my-percona-server-mongodb-operator my-percona-server-mongodb-operator percona-server-mongodb-operator operatorhubio-catalog stable
Attachments
Issue Links
- mentioned in
-
Page Loading...