Troubleshooting

The must-gather tool gathers information about IBM Cloud Pak® for Integration and the cluster where it is deployed. The information that is collected is required by IBM Support for troubleshooting user issues.

Use the must-gather tool to gather information before you open a case with IBM Support.

Gathering Cloud Pak for Integration information

Running the must-gather tool

If you are installing Cloud Pak for Integration in an air-gapped or disconnected environment, skip these steps and go the next section.

  1. Log in to the cluster:

    oc login
  2. Go to the directory where you want to store the must-gather data.

  3. Collect the must-gather information. Make sure you include the quotation marks in the command.

    • To collect Cloud Pak for Integration must-gather only, run:

      oc adm must-gather --image=icr.io/cpopen/cpfs/must-gather:latest -- gather -m cp4i --params "'-c cp4i'"
    • To collect Cloud Pak for Integration must-gather with a version table, run:

      oc adm must-gather --image=icr.io/cpopen/cpfs/must-gather:latest -- gather -m cp4i --params "'-c cp4i -v True'"
    • To get additional options (help), run:

      oc adm must-gather --image=icr.io/cpopen/cpfs/must-gather:latest -- gather -m cp4i --params "'-h'"
      
      options:
      -h, --help          Show this help message and exit
      -n NAMESPACE, --namespace NAMESPACE
                          Namespace you want to collect the logs for, only works with -c appconnect
      -p PODNAME, --podname PODNAME
                          Pod name you want to collect logs for, only works with -c appconnect
      -c COMPONENT, --component COMPONENT
                          Component you want to collect logs for. For ACE = appconnect, CP4I = cp4i
      -v VERSION, --version VERSION
                          To get a table of all the versions installed, set -v True
      --previous_pod_logs, PREVIOUS POD LOGS
                          To collect pod logs for terminated pods, set --previous_pod_logs True 
      -ne, --namespaced_events NAMESPACED EVENTS
                          To collect events per namespace, set -ne True                         

Air-gapped and disconnected environments

This section applies to installations in air-gapped and disconnected environments only.

When you mirrored the Cloud Pak foundational services images (using the procedure in Mirroring images with a bastion host or Mirroring images with a portable compute or storage device (file system), the must-gather image was mirrored to your local registry.

  1. Set the registry where your local images are mirrored:

    export LOCAL_REGISTRY=<YOUR_LOCAL_REPOSITORY>
  2. Collect the must-gather information. Make sure you include the quotation marks in the command.

    • To collect Cloud Pak for Integration must-gather only, run:

      oc adm must-gather --image=${LOCAL_REGISTRY}/cpopen/cpfs/must-gather:latest -- gather -m cp4i --params "'-c cp4i'"
    • To collect Cloud Pak for Integration must-gather with a version table, run:

      oc adm must-gather --image=${LOCAL_REGISTRY}/cpopen/cpfs/must-gather:latest -- gather -m cp4i --params "'-c cp4i -v True'"
    • To get additional options (help), run:

      oc adm must-gather --image=${LOCAL_REGISTRY}/cpopen/cpfs/must-gather:latest -- gather -m cp4i --params "'-h'"
      
      options:
      -h, --help         Show this help message and exit
      -n NAMESPACE, --namespace NAMESPACE
                         Namespace you want to collect the logs for, only works with -c appconnect
      -p PODNAME, --podname PODNAME
                         Pod name you want to collect logs for, only works with -c appconnect
      -c COMPONENT, --component COMPONENT
                         Component you want to collect logs for. For ACE = appconnect, CP4I = cp4i
      -v VERSION, --version VERSION
                         To get a table of all the versions installed, set -v True
       --previous_pod_logs, PREVIOUS POD LOGS
                           To collect pod logs for terminated pods, set --previous_pod_logs True 
       -ne, --namespaced_events NAMESPACED EVENTS
                           To collect events per namespace, set -ne True             
      
    • To confirm that you have mirrored the latest available version of the must-gather tool, run:

      skopeo list-tags docker://[LOCAL_REGISTRY:5000]/cpopen/cpfs/must-gather
      {
          "Repository": "${LOCAL_REGISTRY}/cpopen/cpfs/must-gather",
          "Tags": [
              "4.5.16"
              .....
              "4.6.7",
              "4.6.8",
              "4.6.9",
              "latest"
          ]
       }

Information that is collected

The must-gather tool collects information about the following resources:

Certificate
Clients
ConfigMaps
Cp4iServiceBindings
Cloud Pak CustomResources
Deployments
InstallPlan
Jobs
OperandRequests
PersistentVolumeClaims
Pod-Description
Pod-Logs
ReplicaSets
Routes
Services
StatefulSets
Subscriptions
CatalogSources
ServiceAccounts
Events
OperandBindInfo
OperandRegistries
OperandConfigs
Issuer

It collects information from the following namespaces:

ibm-common-services
openshift-marketplace
openshift-operator-lifecycle-manager
openshift-operators
openshift-ingress
kube-public
<namespaces where instances are installed>

The must-gather tool collects only the name of the secrets from the listed namespaces. It doesn't collect the data in those secrets.

Gathering Cloud Pak foundational services logs only

The script in the previous section, Gathering extended Cloud Pak For Integration information, also returns the pod logs for Cloud Pak foundational services.

However, if you need to work directly with the Cloud Pak foundational services support team, see Collecting Cloud Pak Cluster and Common services for problem determination in the Support documentation. This page describes how to collect logs that are needed by the team that investigates your issue.

Known limitations and workarounds

To get specific information about troubleshooting known issues in Cloud Pak for Integration, see Known limitations.