Operand Deployment Lifecycle Manager (ODLM)
Overview
Note: Documents in this repo are in active development. For the official documentation, see IBM Knowledge Center.
Operand Deployment Lifecycle Manager is used to manage the lifecycle of a group of operands. Check the design document here.
Operand Deployment Lifecycle Manager has four CRDs:
Resource |
Short Name |
Description |
OperandRequest |
opreq |
It defines which operator/operand want to be installed in the cluster |
OperandRegistry |
opreg |
It defines the OLM information, like channel and catalog source, for each operator |
OperandConfig |
opcon |
It defines the parameters that should be used to install the operator's operand |
OperandBindInfo |
opbi |
It identifies secrets and/or configmaps that should be shared with requests |
You can install the Operand Deployment Lifecycle Manager on Linux® x86_64 with Red Hat® OpenShift® Container Platform version 4.3+.
Prerequisites
- operator-sdk version v1.3.0.
- go version 1.15.7+
- oc version v3.11+ or kubectl v1.11.3+
- Access to an Openshift v4.3+ cluster
Documentation
Developer guide
Cloning the repository
Checkout this Operand Deployment Lifecycle Manager repository
# git clone https://github.com/IBM/operand-deployment-lifecycle-manager.git
# cd operand-deployment-lifecycle-manager
Building the operator
Build the odlm image and push it to a public registry, such as quay.io:
# make build
# make images
Installing
Run make install
to install the operator. Check that the operator is running in the cluster, also check that the common service was deployed.
Following the expected result.
# kubectl get all -n ibm-common-services
NAME READY STATUS RESTARTS AGE
pod/operand-deployment-lifecycle-manager-786d699956-z7k4n 1/1 Running 0 21s
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/operand-deployment-lifecycle-manager 1/1 1 1 22s
NAME DESIRED CURRENT READY AGE
replicaset.apps/operand-deployment-lifecycle-manager-786d699956 1 1 1 22s
Uninstalling
To uninstall all that was performed in the above step run make uninstall
.
Troubleshooting
Use the following command to check the operator logs.
# kubectl logs deployment.apps/operand-deployment-lifecycle-manager -n ibm-common-services
Running Tests
Development
When the API or CRD changed, run make code-dev
re-generate the code.
SecurityContextConstraints Requirements
The Operand Deployment Lifecycle Manager supports running under the OpenShift Container Platform default restricted security context constraints.