Installing IBM RPA with other IBM Cloud Paks
When you install IBM RPA alongside other IBM Cloud Paks, you must make sure that their IBM Cloud Pak foundational services 🡥 versions are also compatible.
Different IBM Cloud Pak foundational services versions handle various aspects of the product differently. Earlier versions of the foundational services stored Kubernetes secrets and ConfigMaps in a different namespace from where they are located
now. IBM Cloud Pak foundational services 3.4.0 and higher store Kubernetes secrets and ConfigMaps in the ibm-common-services
namespace.
When you install multiple IBM Cloud Pak solutions together, if they do not share foundational services version, they are incompatible from a foundational services perspective.
IBM RPA supports IBM Cloud Pak foundational services starting from 3.19.0 up to 3.23.x.
Requirements
- You must install the IBM RPA operator in a namespace. Do not install it in the global namespace.
- If you want to install IBM RPA 23.0.x with an IBM Cloud Pak, you must install the Countinuous Delivery (CD) version of the Cloud Pak. IBM RPA uses the CD version of IBM MQ, and it is not compatible with LTS versions of IBM MQ and IBM Cloud Paks.
Procedure
Follow the procedure to install an IBM Cloud Pak with IBM RPA in the same cluster.
Installing IBM Cloud Pak
-
Install your IBM Cloud Pak of choice in a namespace.
-
Create two namespaces to install IBM RPA and the common services.
oc new-project ibm-common-services-rpa oc new-project ibm-rpa
Installing IBM Cloud Pak foundational services in multiple namespaces
-
Log in to your OpenShift cluster console.
-
Click the plus icon. You see the Import YAML dialog box.
-
Paste the following configmap definition into the dialog box and replace the namespace value with your custom namespaces.
apiVersion: v1 kind: ConfigMap metadata: name: common-service-maps namespace: kube-public data: common-service-maps.yaml: | controlNamespace: cs-control namespaceMapping: - requested-from-namespace: - <cloud-pak-namespace> map-to-common-service-namespace: <cloud-pak-namespace> - requested-from-namespace: - ibm-rpa map-to-common-service-namespace: ibm-common-services-rpa
Important:Replace the values of<cloud-pak-namespace>
with the namespace that you installed your IBM Cloud Pak on. -
Click Create. The
common-service-maps
configmap is created in thekube-public
namespace. -
Create a new Catalog Source specific for IBM Cloud Pak foundational services 3.23.x called
ibm-operator-catalog2
. Save it as a YAML file.apiVersion: operators.coreos.com/v1alpha1 kind: CatalogSource metadata: name: ibm-operator-catalog2 namespace: openshift-marketplace spec: displayName: ibm-operator-catalog2 publisher: IBM Content sourceType: grpc image: icr.io/cpopen/ibm-operator-catalog:v{kube_major_version}.{kube_minor_version} updateStrategy: registryPoll: interval: 45m
You can get the
{kube_major_version}.{kube_minor_version}
from the Kubernetes Release History 🡥. -
Apply the YAML file:
oc apply -f ibm-operator-catalog.yaml
-
Create the
operatorgroup.yaml
file:apiVersion: operators.coreos.com/v1alpha2 kind: OperatorGroup metadata: name: operatorgroup namespace: ibm-rpa spec: targetNamespaces: - ibm-rpa
-
Apply the YAML file:
oc apply -f operatorgroup.yaml
-
Create the
Subscription.yaml
file forcommon-services
in theibm-rpa
namespace.apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: ibm-common-service-operator namespace: ibm-rpa spec: channel: v3.23 installPlanApproval: Automatic name: ibm-common-service-operator source: ibm-operator-catalog2 sourceNamespace: openshift-marketplace
-
Apply the YAML file:
oc apply -f Subscription.yaml
-
Edit the common service object.
oc -n ibm-common-services-rpa edit commonservice common-service
-
Accept the license and set the size as small. Once you finish editing the new version is automatically applied:
apiVersion: operator.ibm.com/v3 kind: CommonService metadata: name: common-service namespace: ibm-common-services-rpa spec: license: accept: true size: small
-
Edit the resource:
oc -n ibm-common-services-rpa edit commonservice common-service
-
Add the following contents to the file. Once you are done, save and close the file to apply the settings:
apiVersion: operator.ibm.com/v1alpha1 kind: OperandRequest metadata: name: common-service namespace: ibm-common-services-rpa spec: requests: - operands: - name: ibm-cert-manager-operator - name: ibm-mongodb-operator - name: ibm-iam-operator - name: ibm-monitoring-grafana-operator - name: ibm-healthcheck-operator - name: ibm-management-ingress-operator - name: ibm-licensing-operator - name: ibm-commonui-operator - name: ibm-events-operator - name: ibm-ingress-nginx-operator - name: ibm-auditlogging-operator - name: ibm-platform-api-operator - name: ibm-zen-operator - name: ibm-db2u-operator - name: cloud-native-postgresql - name: ibm-user-data-services-operator - name: ibm-zen-cpp-operator - name: ibm-bts-operator registry: common-service
-
Create the
OperandRequest.yaml
to request CPFS for ibm-rpa:apiVersion: operator.ibm.com/v1alpha1 kind: OperandRequest metadata: name: common-service namespace: ibm-rpa spec: requests: - operands: - name: ibm-cert-manager-operator - name: ibm-mongodb-operator - name: ibm-iam-operator - name: ibm-monitoring-grafana-operator - name: ibm-healthcheck-operator - name: ibm-management-ingress-operator - name: ibm-licensing-operator - name: ibm-commonui-operator - name: ibm-events-operator - name: ibm-ingress-nginx-operator - name: ibm-auditlogging-operator - name: ibm-platform-api-operator - name: ibm-zen-operator - name: ibm-db2u-operator - name: cloud-native-postgresql - name: ibm-user-data-services-operator - name: ibm-zen-cpp-operator - name: ibm-bts-operator registry: common-service registryNamespace: ibm-common-services-rpa
-
Apply the YAML file:
oc apply -f OperandRequest.yaml