Checking the status of your cluster and CP4BA deployments
You can use the OpenShift® Container Platform (OCP) console and oc
commands to check the status of your cluster and Cloud Pak for Business Automation (CP4BA)
deployments.
- View the status of resources in the OCP console
- Get the CPU and memory usage
- Get information about OCP events
- Get information about your CP4BA deployments
- Get information about the pods
- Check the storage status
- Get information about users
- Get information about installed capabilities
- Content Cortex
- Content Collector for SAP Applications
- Automation Document Processing
- Decision Intelligence Client Managed Software
- Operational Decision Manager
- Business Automation Workflow Authoring
- Business Automation Workflow and Business Automation Workstream
- Business Automation Studio
- Business Automation Insights
- Workflow Process Services Runtime
- Process Federation Service
- Get the Cloud Pak for Business Automation license file
View the status of resources in the OCP console
To see the overall status of the OCP cluster, go to the URL of the console:
https://console-openshift-console.apps.<mycluster.mydomain.com>/dashboards
Where the <mycluster.mydomain.com> is your own cluster
name.
If you installed CP4BA in the namespace cp4ba, you can go to the following
console URL:
https://console-openshift-console.apps.<mycluster.mydomain.com>.com/k8s/cluster/projects/cp4ba
- In Cluster inventory, you can check the status of your nodes, pods, storage
classes, and persistent volume claims (PVCs). Click any link to view the details of the resource.
For example, click pods to go to the Details page and
watch all the pods in the
cp4banamespace. - In Status, you can check the status of the cluster, control plane, and operators. You can see the OCP cluster alerts.
- In Cluster utilization, you can check the status and available resources of CPU, memory, file system, network transfer, and pod count.
- In Activity, you can see the OCP cluster events. OpenShift uses events to record information about the activities of the cluster and shows information about OpenShift components. Events are helpful for troubleshooting.
Get the CPU and memory usage
To show the percentage and absolute value of the CPU and memory usage on each node, run the following command:
oc adm top nodes
The output of this command provides the following information.
| Name | CPU (cores) | CPU % | Memory (bytes) | Memory % |
|---|---|---|---|---|
| master0.mycluster.mydomain.com | 1280 m | 17 % | 8662 Mi | 59 % |
| master1.mycluster.mydomain.com | 1184 m | 15 % | 7007 Mi | 48 % |
| master2.mycluster.mydomain.com | 1415 m | 18 % | 8710 Mi | 59 % |
| worker0.mycluster.mydomain.com | 1458 m | 19 % | 13316 Mi | 91 % |
| worker1.mycluster.mydomain.com | 2756 m | 36 % | 9984 Mi | 68 % |
| worker2.mycluster.mydomain.com | 1072 m | 14 % | 9854 Mi | 67 % |
Get information about OCP events
To see event information, run the following command:
oc get events
- Pod creation and deletion.
- Nodes scheduled by pod.
- Status of master and worker nodes.
Events are used for troubleshooting to obtain high-level information about faults and problems in
the cluster. You can then use log files and other oc commands to further locate the
problem.
Get information about your CP4BA deployments
To get the deployment type, run the following command:
oc get ICP4ACluster -o=jsonpath='{.items[*].spec.shared_configuration.sc_deployment_type}'
To see which capabilities are included in a CP4BA deployment, run the following command:
oc get ICP4ACluster -o=jsonpath='{.items[*].spec.shared_configuration.sc_deployment_patterns}'
To see which optional
components are included in the deployment, run the following
command:
oc get ICP4ACluster -o=jsonpath='{.items[*].spec.shared_configuration.sc_optional_components}'
For CP4BA deployments with Content Cortex only, use the following queries to get the deployment type and the optional components:
oc get content -o=jsonpath='{.items[*].spec.content_deployment_type}'
oc get content -o=jsonpath='{.items[*].spec.content_optional_components}'
To get the list of secrets in the CP4BA namespace, run the following command:
oc get secret -n <namespace>
You can get the username and password stored in a secret. For example, the following commands get
the information from ibm-fncm-secret.
oc get secret ibm-fncm-secret -o=jsonpath='{@.data.appLoginUsername}'
oc get secret ibm-fncm-secret -o=jsonpath='{@.data.appLoginPassword}'
The following command gets the full content of ibm-fncm-secret,
oc get secret ibm-fncm-secret -o=jsonpath='{@}'
The following commands get the credentials for the admin user of the Identity and Management (IM)
service, which is by default cpadmin.
oc get secret ibm-iam-bindinfo-platform-auth-idp-credentials \
-o jsonpath='{.data.admin_username}' | base64 --decode ; echo
oc get secret ibm-iam-bindinfo-platform-auth-idp-credentials \
-o 'jsonpath={.data.admin_password}'| base64 --decode ; echo
The following commands get the values of the storage class parameters used in the deployment.
oc get ICP4ACluster -o=jsonpath='{.items[*].spec.shared_configuration.storage_configuration.sc_block_storage_classname}'
oc get ICP4ACluster -o=jsonpath='{.items[*].spec.shared_configuration.storage_configuration.sc_dynamic_storage_classname}'
oc get ICP4ACluster -o=jsonpath='{.items[*].spec.shared_configuration.storage_configuration.sc_slow_file_storage_classname}'
oc get ICP4ACluster -o=jsonpath='{.items[*].spec.shared_configuration.storage_configuration.sc_medium_file_storage_classname}'
oc get ICP4ACluster -o=jsonpath='{.items[*].spec.shared_configuration.storage_configuration.sc_fast_file_storage_classname}'
The following command gets information about whether FIPS is enabled.
oc get ICP4ACluster -o=jsonpath='{.items[*].spec.shared_configuration.enable_fips}'
Get information about the pods
To see the pods that you deployed in the cp4ba namespace, run the following
command:
oc get pod -n cp4ba
If you run the following command, the results show the success of the deployment.
oc get pod n cp4ba |grep -E "-baw.*"
The results are shown in the following columns:
| NAME | READY | STATUS | RESTARTS | AGE |
|---|---|---|---|---|
icp4adeploy-instance1-baw-case-init-job--1-7mvx6 |
0/1 | Completed | 0 | 4 h 34 m |
icp4adeploy-instance1-baw-content-init-job--1-9ws28 |
0/1 | Completed | 0 | 4 h 34 m |
icp4adeploy-instance1-baw-db-init-job--1-mkglw |
0/1 | Completed | 0 | 4 h 34 m |
icp4adeploy-instance1-baw-db-init-job-pfs--1-rrf6n |
0/1 | Completed | 0 | 4 h 34 m |
icp4adeploy-instance1-baw-jms-0 |
1/1 | Running | 0 | 4 h 32 m |
icp4adeploy-instance1-baw-ltpa--1-xz24v |
0/1 | Completed | 0 | 4 h 34 m |
icp4adeploy-instance1-baw-server-0 |
1/1 | Running | 0 | 4 h 26 m |
icp4adeploy-instance1-baw-workplace-job--1-hjrtx |
0/1 | Completed | 0 | 4 h 33 m |
The READY column gives a result like 1/1 or 2/2 if the pod is
running.
| Status | Meaning |
|---|---|
Running |
The pod deployed successfully. |
ImagePullBackOff |
Retrying to pull the image. |
ErrImagePull |
Error pulling the image. |
PodInitializing |
The pod is initializing. |
ContainerCreating |
The container is being created. |
CrashLoopBackOff |
The container exited and kubelet is restarting it. |
CreateContainerError |
Failed to create container. |
Completed |
The job completed successfully. |
Error |
The pod failed to initialize. |
To show the information for just one pod, for example
icp4adeploy-instance1-baw-server-0, run the following command:
oc describe pod icp4adeploy-instance1-baw-server-0
To see the Workflow pod log, run the following command:
oc logs icp4adeploy-instance1-baw-server-0
To see the logs for all Workflow pods, connect to the baw containers inside your
cluster by running the following command:
oc exec -it demo-instance1-baw-server-0 -- bash
Then, go to the /logs/application/ folder to find all the Workflow logs.
To download all the Workflow logs, run the command:
oc -c workflow-server cp demo-instance1-baw-server-0:logs/application/ .
Check the storage status
Run the following command to get all the PVs.
oc get pv
Run the following command to get more details of a PV.
oc describe pv <pvname>
Run the following command to get all the PVCs in the namespace cp4ba.
oc get pvc -n cp4ba
Make sure all the PVCs are in the Bound status. If not, run the following
command to get more details of a PVC.
oc describe pvc <pvcname>
Dynamic volume provisioning allows storage volumes to be created on demand. The implementation of
dynamic volume provisioning is based on the API object StorageClass. Run the
following command to get the storage class name in the OCP cluster.
oc get storageclass
Run the following command to get more details of a storage class.
oc describe storageclass <storageclassname>
Get information about users
Run the following commands to get information about the usernames and passwords for your deployment.
oc get secret -n <namespace>
oc get secret ibm-fncm-secret -o=jsonpath='{@.data.appLoginUsername}'| base64 --decode ; echo
oc get secret ibm-fncm-secret -o=jsonpath='{@.data.appLoginPassword}'| base64 --decode ; echo
oc get secret ibm-fncm-secret -o=jsonpath='{@}'
Run the following commands to get the admin (cpadmin) credentials for the Identity Management (IM) service.
oc get secret ibm-iam-bindinfo-platform-auth-idp-credentials -o jsonpath='{.data.admin_username}' | base64 --decode ; echo
oc get secret ibm-iam-bindinfo-platform-auth-idp-credentials -o jsonpath='{.data.admin_password}' | base64 --decode ; echo
Get information about installed capabilities
- Content Cortex
-
Run the following command to get the Content app version.
oc get Content -o=jsonpath='{.items[*].spec.appVersion}' -n <namespace>Run the following command to see whether the license is accepted.
oc get Content -o=jsonpath='{.items[*].spec.license}' -n <namespace>Run the following command to see the status of the cmis, cdra, cds, cpds, css, cpe, ccsap, extshare, graphql, iccsap, ier, navigator, gitgatewayService, tm, and viewone components.
oc get Content -o=jsonpath='{.items[*].status.components.cmis}' -n <namespace> oc get Content -o=jsonpath='{.items[*].status.components.contentDesignerRepoAPI}' -n <namespace> oc get Content -o=jsonpath='{.items[*].status.components.contentDesignerService}' -n <namespace> oc get Content -o=jsonpath='{.items[*].status.components.contentProjectDeploymentService}' -n <namespace> oc get Content -o=jsonpath='{.items[*].status.components.css}' -n <namespace> oc get Content -o=jsonpath='{.items[*].status.components.cpe}' -n <namespace> oc get Content -o=jsonpath='{.items[*].status.components.extshare}' -n <namespace> oc get Content -o=jsonpath='{.items[*].status.components.graphql}' -n <namespace> oc get Content -o=jsonpath='{.items[*].status.components.iccsap}' -n <namespace> oc get Content -o=jsonpath='{.items[*].status.components.ier}' -n <namespace> oc get Content -o=jsonpath='{.items[*].status.components.navigator}' -n <namespace> oc get Content -o=jsonpath='{.items[*].status.components.gitgatewayService}' -n <namespace> oc get Content -o=jsonpath='{.items[*].status.components.tm}' -n <namespace> oc get Content -o=jsonpath='{.items[*].status.components.viewone}' -n <namespace>Run the following command to get the condition of the Content operator.
oc get Content -o=jsonpath='{.items[*].status.conditions}' -n <namespace>Run the following command to get the endpoints of the components.
oc get Content -o=jsonpath='{.items[*].status.endpoints[*]}' -n <namespace> - Content Collector for SAP Applications
-
Note: If you installed a CP4BA Content Cortex deployment, then replace all mentions of
ICP4AClusterin the example commands withContent.Run the following command to see whether the license is accepted.
oc get icp4acluster -o=jsonpath='{.items[*].spec.ibm_license}' -n <namespace>Run the following command to see the status of the component.
oc get icp4acluster -o=jsonpath='{.items[*].status.components.iccsap}' -n <namespace>Run the following command to get the condition of the Content operator.
oc get Content -o=jsonpath='{.items[*].status.conditions}' -n <namespace>Run the following commands to get the endpoints of the component.
oc get icp4acluster -o=jsonpath='{.items[*].status.endpoints[?(@.name=="ICCSAP Login URL")].uri}' -n <namespace> oc get icp4acluster -o=jsonpath='{.items[*].status.endpoints[?(@.name=="ICCSAP Plugin URL")].uri}' -n <namespace> - Automation Document Processing
-
Run the following command to get the DPE product version.
curl -k https://$(oc get route -n <namespace> cpd -o jsonpath="{.spec.host}")/adp/aca/pingRun the following command to get the DPE operator version.
oc get icp4adpe -o=jsonpath='{.items[*].spec.appVersion}' -n <namespace>Run the following command to see the status of the DPE component.
oc get icp4aclusters icp4adeploy -ojsonpath-as-json='{.status.components.ca}' -n <namespace>Run the following command to get the condition of the DPE operator.
oc get icp4aclusters icp4adeploy -ojsonpath-as-json='{.status.components.ca.conditions}' -n <namespace>Run the following command to get the external public API endpoint.
echo $(oc get route -n <namespace> cpd -o jsonpath="{.spec.host}"/adp/aca) - Decision Intelligence Client Managed Software
-
Run the following command to get the DICMS version.
oc get icp4aads -o=jsonpath='{.items[*].spec.version}' -n <namespace>Run the following command to see whether the license is accepted.
oc get icp4aads -o=jsonpath='{.items[*].spec.license}' -n <namespace>Run the following command to see the status of the credential service, git service, parsing service, rest api, run service, and runtime components.
oc get icp4acluster -o=jsonpath='{.items[*].status.components.adsCredentialsService}' -n <namespace> oc get icp4acluster -o=jsonpath='{.items[*].status.components.adsGitService}' oc get icp4acluster -o=jsonpath='{.items[*].status.components.adsParsingService}' oc get icp4acluster -o=jsonpath='{.items[*].status.components.adsRestApi}' oc get icp4acluster -o=jsonpath='{.items[*].status.components.adsRunService}' oc get icp4acluster -o=jsonpath='{.items[*].status.components.adsRuntimeService}'Run the following command to get the condition of the DICMS operator.
oc get icp4aads -o=jsonpath='{.items[*].status.conditions}' -n <namespace>Run the following command to get the endpoints of the designer (bastudio) and runtime components.
oc get icp4acluster -o=jsonpath='{.items[*].status.endpoints[?(@.name=="BAStudio")].uri}' -n <namespace> oc get icp4aads -o=jsonpath='{.items[*].status.endpoints[?(@.name=="adsRuntimeSwaggerUI")].uri}' -n <namespace> - Operational Decision Manager
-
Run the following command to get the ODM version.
oc get icp4aoperationaldecisionmanagers -o=jsonpath='{.items[*].spec.odm_product_semver}' -n <namespace>Run the following command to see whether the license is accepted.
oc get icp4aoperationaldecisionmanagers -o=jsonpath='{.items[*].spec.ibm_license}' -n <namespace>Run the following command to see the status of the runtime, decision runner, and decision center components.
oc get icp4aoperationaldecisionmanagers -o=jsonpath='{.items[*].status.components.odmDecisionServerRuntimeDeployment}' -n <namespace> oc get icp4aoperationaldecisionmanagers -o=jsonpath='{.items[*].status.components.odmDecisionRunnerDeployment}' -n <namespace> oc get icp4aoperationaldecisionmanagers -o=jsonpath='{.items[*].status.components.odmDecisionCenterDeployment}' -n <namespace>Run the following command to get the condition of the ODM operator.
oc get icp4aoperationaldecisionmanagers -o=jsonpath-as-json='{.items[*].status.conditions}' -n <namespace>Run the following command to get the endpoints of the components.
oc get icp4aoperationaldecisionmanagers -o=jsonpath-as-json='{.items[*].status.components.odmEndpoints}' -n <namespace> - Business Automation Workflow Authoring
-
Run the following command to get the BAW version.
oc get icp4acluster -o=jsonpath='{.items[*].spec.appVersion}' -n <namespace>Run the following command to see whether the license is accepted.
oc get icp4acluster -o=jsonpath='{.items[*].spec.ibm_license}' -n <namespace>Run the following command to see the status of the bastudio component.
oc get icp4acluster -o=jsonpath='{.items[*].status.components.bastudio}' -n <namespace>Run the following command to get the condition of the BAW operator.
oc get icp4acluster -o=jsonpath='{.items[*].status.conditions}' -n <namespace>Run the following command to get the endpoints of the BAStudio, Workplace, Portal, Process Admin Console, Case Manager Builder, and Case Manager Client components.
oc get icp4acluster -o=jsonpath='{.items[*].status.endpoints[?(@.name=="BAStudio")].uri}' -n <namespace> oc get icp4acluster -o=jsonpath='{.items[*].status.endpoints[?(@.name=="Workplace")].uri}' -n <namespace> oc get icp4acluster -o=jsonpath='{.items[*].status.endpoints[?(@.name=="Process portal")].uri}' -n <namespace> oc get icp4acluster -o=jsonpath='{.items[*].status.endpoints[?(@.name=="Business Automation Workflow Process Admin Console")].uri}' -n <namespace> oc get icp4acluster -o=jsonpath='{.items[*].status.endpoints[?(@.name=="Case Builder")].uri}' -n <namespace> oc get icp4acluster -o=jsonpath='{.items[*].status.endpoints[?(@.name=="Case client")].uri}' -n <namespace> - Business Automation Workflow and Business Automation Workstream
-
Run the following command to get the BAW version.
oc get workflowruntime -o=jsonpath='{.items[*].spec.app_version}’-n <namespace>Run the following command to see whether the license is accepted.
oc get workflowruntime -o=jsonpath='{.items[*].spec.license}' -n <namespace>Run the following command to see the status of the component.
oc get workflowruntime -o=jsonpath='{.items[*].status.components.baw}' -n <namespace>Run the following command to get the condition of the BAW operator.
oc get workflowruntime -o=jsonpath='{.items[*].status.conditions}' -n <namespace>Run the following command to get the endpoint of the component.
oc get workflowruntime -o=jsonpath='{.items[*].status.endpoints}' -n <namespace> - Business Automation Studio
-
Run the following command to get the BAS version.
oc get icp4acluster -o=jsonpath='{.items[*].spec.appVersion}' -n <namespace>Run the following command to see whether the license is accepted.
oc get icp4acluster -o=jsonpath='{.items[*].spec.ibm_license}' -n <namespace>Run the following command to see the status of the component.
oc get icp4acluster -o=jsonpath='{.items[*].status.components.bastudio}' -n <namespace>Run the following command to get the condition of the CP4BA operator.
oc get icp4acluster -o=jsonpath='{.items[*].status.conditions}' -n <namespace>Run the following command to get the endpoint of the BAStudio component.
oc get icp4acluster -o=jsonpath='{.items[*].status.endpoints[?(@.name=="BAStudio")].uri}' -n <namespace> - Business Automation Insights
-
Run the following command to get the BAI version.
oc get insightsengine -o=jsonpath='{.items[*].spec.appVersion}' -n <namespace>Run the following command to see whether the license is accepted.
oc get insightsengine -o=jsonpath='{.items[*].spec.license}' -n <namespace>Run the following command to see the status of the component.
oc get insightsengine -o=jsonpath='{.items[*].spec.bai_configuration}' -n <namespace>Run the following command to get the condition of the CP4BA operator.
oc get insightsengine -o=jsonpath='{.items[*].status.conditions}' -n <namespace>Run the following command to get the endpoint of the component.
oc get insightsengine -o=jsonpath='{.items[*].status]}' -n <namespace> - Workflow Process Services Runtime
-
Run the following command to get the WfPS version.
oc get wfpsruntime -o=jsonpath='{.items[*].spec.appVersion}' -n <namespace>Run the following command to see whether the license is accepted.
oc get wfpsruntime -o=jsonpath='{.items[*].spec.license}' -n <namespace>Run the following command to see the status of the component.
oc get wfpsruntime -o=jsonpath='{.items[*].status.components.wfps}' -n <namespace>Run the following command to get the condition of the WfPS operator.
oc get wfpsruntime -o=jsonpath='{.items[*].status.conditions}' -n <namespace>Run the following command to get the endpoint of the component.
oc get wfpsruntime -o=jsonpath='{.items[*].status.endpoints}' -n <namespace> - Process Federation Service
-
Run the following command to get the PFS version.
oc get pfs -o=jsonpath='{.items[*].spec.appVersion}' -n <namespace>Run the following command to see whether the license is accepted.
oc get pfs -o=jsonpath='{.items[*].spec.license}' -n <namespace>Run the following command to see the status of the component.
oc get pfs -o=jsonpath='{.items[*].status.components.pfs}' -n <namespace>Run the following command to get the condition of the PFS operator.
oc get pfs -o=jsonpath='{.items[*].status.conditions}' -n <namespace>Run the following command to get the endpoint of the component.
oc get pfs -o=jsonpath='{.items[*].status.endpoints}' -n <namespace>
Get the Cloud Pak for Business Automation license file
The license file for Cloud Pak for Business Automation can be viewed on the cluster at the following URL:
https://<home>/integration/static/media/<license_title>.txt
<home>is the hostname of the CP4BA deployment. For example,cpd-namespace.acme.cloud.com. To get the value of<home>, use the OCP console or the OCP CLI.- In the OpenShift console, select the Project (namespace) where the CP4BA
deployment is installed, then locate and click the
cpdroute. - Run the following command from the OCP CLI, replacing <namespace> with the
namespace where the CP4BA deployment is
installed:
oc get route cpd -n <namespace>
- In the OpenShift console, select the Project (namespace) where the CP4BA
deployment is installed, then locate and click the
<license_title>can take one of the following values:Table 1. Language license values Language License value Czech LA_cs LA_cs-reserved German LA_de LA_de-reserved Greek LA_el LA_el-reserved English LA_en LA_en-reserved Spanish LA_es LA_es-reserved French LA_fr LA_fr-reserved Italian LA_it LA_it-reserved Japanese LA_ja LA_ja-reserved Korean LA_ko LA_ko-reserved Lithuanian LA_lt LA_lt-reserved Polish LA_pl LA_pl-reserved Portuguese LA_pt LA_pt-reserved Russian LA_ru LA_ru-reserved Slovenian LA_sl LA_sl-reserved Turkish LA_tr LA_tr-reserved Portuguese LA_pt LA_pt-reserved Chinese LA_zh LA_zh-reserved Table 2. Other license values Other types Value Non-IBM® license non_ibm_license non_ibm_license-reserved Notices notices notices-reserved