Troubleshooting
Problem
In our CP4BA environment Access Control page, the names and descriptions of ODM roles and permissions are no longer displayed. Instead, we see "<no value>".
![image-20231005000014-1](/support/pages/system/files/inline-images/image-20231005000014-1.png)
Cause
This normally occurs after a deleting the CP4BA CR and reapplying it in the same namespace. When CP4BA CR is deleted it will also remove the Cloud Pak Foundational Services deployment although some orphaned references will be left behind like Client CRs and ZenExtension CRs.
Diagnosing The Problem
Checked the /user-home/_global_/translations directory inside the ibm-nginx pods, there was no package named odm and there were no translations.
Resolving The Problem
You can do the following steps so the operator will attempt to resend the translation to zen in the next reconciliation cycle:
1) connect to the cp4ba operator pod
2) delete the file /tmp/ansible-operator/runner/<namespace>/<cp4bacluster name>/ibm-odm-prod/odm-g11n.tar.gz.multipart
Another Solution is to directly run the script to push the translation file to zen.
Before that, you need to obtain a copy of the translation package from /tmp/ansible-operator/runner/<namespace>/<cp4bacluster name>/ibm-odm-prod/odm-g11n.tar.gz of cp4ba operator pod, or /user-home/_global_/translations/archives/ directory of ibm-nginx pod of any working cp4ba cluster of the same version.
#!/bin/sh
EXTERNAL_ROUTE=
AUTH_TOKEN=
CLUSTER_TOKEN=`oc get secret zen-service-broker-secret -o jsonpath='{.data.token}' | base64 --decode`
curl -X PUT -k -v --cookie "ibm-private-cloud-session=$AUTH_TOKEN" -H "token: $CLUSTER_TOKEN" -H "Content-Type: multipart/form-data" -F "translation_package=@odm.tgz" https://${EXTERNAL_ROUTE}/zen-data/v1/translation/odm
Customize the script with the customer's EXTERNAL_URL value, which is the OpenShift cpd route used to connect to the cluster.
Obtain the AUTH_TOKEN by copying it from an admin user's browser session. You can do this by logging in with Chrome and then bringing up Chrome Developer Tools. Then open the "application" tab and selecting the Cookies for the domain. Get the value for the cookie named ibm-private-cloud-session and copy that as the value for AUTH_TOKEN.
Make the script executable and run it.
Obtain the AUTH_TOKEN by copying it from an admin user's browser session. You can do this by logging in with Chrome and then bringing up Chrome Developer Tools. Then open the "application" tab and selecting the Cookies for the domain. Get the value for the cookie named ibm-private-cloud-session and copy that as the value for AUTH_TOKEN.
Make the script executable and run it.
Document Location
Worldwide
[{"Type":"MASTER","Line of Business":{"code":"LOB45","label":"Automation"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSBYVB","label":"IBM Cloud Pak for Business Automation"},"ARM Category":[{"code":"a8m0z0000001gWWAAY","label":"Other-\u003ECloudPak4Automation Platform"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"22.0.1;22.0.2"}]
Was this topic helpful?
Document Information
Modified date:
06 October 2023
UID
ibm17047199