operand-deployment-lifecycle-manager

module
v1.2.1-durham Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 8, 2020 License: Apache-2.0

README

Docker Repository on Quay License Go Report Card Code Coverage

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

Supported platforms

You can install the Operand Deployment Lifecycle Manager on Linux® x86_64 with Red Hat® OpenShift® Container Platform version 4.2 or 4.3.

Prerequisites

  • operator-sdk version v0.15.1.
  • go version 1.13.4+
  • oc version v3.11+ or kubectl v1.11.3+
  • Access to an Openshift v4.2.0+ 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.

Directories

Path Synopsis
cmd
pkg
apis/operator
Package operator contains operators API versions.
Package operator contains operators API versions.
apis/operator/v1alpha1
Package v1alpha1 contains API Schema definitions for the operators v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=operator.ibm.com Package v1alpha1 contains API Schema definitions for the operators v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=operator.ibm.com
Package v1alpha1 contains API Schema definitions for the operators v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=operator.ibm.com Package v1alpha1 contains API Schema definitions for the operators v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=operator.ibm.com
test

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL