IBM Support

ODM roles and permissions are showing as <no value> in Access Control page

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

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.

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"}]

Document Information

Modified date:
06 October 2023

UID

ibm17047199