CP4D 4.0 Installation Troubleshooting Tips
Author: Jia Hong Wei, Dai Yun
The purpose of this article to give you some tips and tricks based on support experience when installing CP4D 4.0.
· Docker pull rate limit issue
Symptom
Error: Error initializing source docker://registry:2.6: Error reading manifest 2.6 in docker.io/library/registry: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit
Resolution
The issue would be gone after you login with your docker account:
[root@jhw-downloadserver1 ~]# docker login docker.io -u <Your Docker Account>
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
Password:
Login Succeeded!
· IBM Common Service Operator fails to initialize resources
Symptom
When running the command, see the following error messages:
oc api-resources --api-group operator.ibm.com
E0618 13:13:29.959214 1 main.go:136] InitResources failed: unable to retrieve the complete list of server APIs: webhook.certmanager.k8s.io/v1beta1: the server is currently unable to handle the request
Solution
https://www.ibm.com/docs/en/cpfs?topic=issues-foundational-service-operator-fails-initialize-resources
· Operator stuck in upgrade-pending status
There must be one OperatorGroups existing in the namespace in which you are to create the operators. There can be only one OperatorGroups existing in the namespace in which you are to create the operators.
Check the logs of pod catalog-operator and olm-operator in openshift-operator-lifecycle-manager namespace, usually it will provide some hints.
oc logs olm-operator-xxxxxxx -n openshift-operator-lifecycle-manager
oc logs catalog-operator-xxxxxxx -n openshift-operator-lifecycle-manager
· OpenShift Console for the troubleshooting
Check the Known issues and Troubleshooting sections in the Knowledge Center when encountering problems.
· OperandRequest stuck in Installing
Check the logs of the pod operand-deployment-lifecycle-manager-xxx in ibm-common-services
An example:
1. Found the CCS OperandRequest stuck in Installing status for about 2 hours when running the following command:
oc get OperandRequest -A
2. Check the logs of the pod operand-deployment-lifecycle-manager-xxx in ibm-common-services and see the following error message:
E0803 10:54:32.663352 1 reconcile_operand.go:133] the ClusterServiceVersion of Subscription cpd-operators/ibm-cpd-ccs-operator is not Ready
3. Return the installation of the Catalog Source command for fixing this problem
· How to restart the installation of a service with clean log message
An example:
1. When installing WSL, the output of the following command is 'Failed'
oc get WS ws-cr -o jsonpath='{.status.wsStatus} {"\n"}'
2. Then we can restart the ibm-cpd-ws-operator-6f8dfd566b-x7phv pod for restarting the installation.
oc delete pod ibm-cpd-ws-operator-6f8dfd566b-x7phv -n <your operator namespace>
· How to verify and check logs during the service installation
1. Foundational services
(1) Verify the status of the common service operators by running the following commands to verify the status of ibm-common-service-operator:
oc --namespace ibm-common-services get csv
If you installed IBM Cloud Pak foundational services in a different project, replace ibm-common-services with the correct project name. The command should return output with the following format:
NAME DISPLAY VERSION REPLACES PHASE
ibm-common-service-operator.v3.8 IBM Cloud Pak foundational services 3.8 ibm-common-service-operator.v3.7.0 Succeeded
(2) Verify that the custom resource definitions were created:
oc get crd | grep operandrequest
The command should return output with the following format:
NAME CREATED AT
operandrequests.operator.ibm.com 2021-06-23T10:10:22Z
2. Cloud Pak for Data Platfrom service
Check the logs of cpd-platform-operator
oc logs $(oc get po -n cpd-operators| grep cpd-platform-operator-manager | awk '{print $1}') -n cpd-operators
Note: replace the cpd-operators with your operator namespace
3. WSL service
Check the logs of ibm-cpd-ws-operator
oc logs $(oc get po -n cpd-operators| grep ibm-cpd-ws-operator | awk '{print $1}') -n cpd-operators
Note: replace the cpd-operators with your operator namespace
4. WML service
Check the logs of ibm-cpd-wml-operator
oc logs $(oc get po -n cpd-operators| grep ibm-cpd-wml-operator | awk '{print $1}') -n cpd-operators
Note: replace the cpd-operators with your operator namespace
5. WKC service
Check the logs of
ibm-cpd-wkc-operatoroc logs $(oc get po -n cpd-operators| grep ibm-cpd-wkc-operator | awk '{print $1}') -n cpd-operators
Note: replace the cpd-operators with your operator namespace
6. Db2WH service
Check the logs of ibm-db2wh-cp4d-operator-controller-manager
oc logs $(oc get po -n cpd-operators| grep ibm-db2wh-cp4d-operator-controller-manager| awk '{print $1}') -n cpd-operators
Note: replace the cpd-operators with your operator namespace
7.DMC service
Check the logs of ibm-dmc-controller-manager
oc logs $(oc get po -n cpd-operators| grep ibm-dmc-controller-manager| awk '{print $1}') -n cpd-operators
· How to search for the image in your image repository
An example:
podman image search --list-tags 9.115.72.27:5002/custom-redhat-operators --authfile=/run/user/1000/containers/auth.json --tls-verify=false
· How to run db2 commands in db2u operator
An example:
oc rsh c-db2oltp-iis-db2u-0
ksh
db2 list active databases
#CloudPakforDataGroup