IBM Support

IBM Maximo Application Suite 8.11 deployment failure when registry settings are not set in Suite custom resource

Troubleshooting


Problem

During a new installation or upgrade to IBM Maximo Application Suite 8.11.0 or 8.11.1, if the registry settings are not present in the Suite custom resource, the ibm-mas operator fails to deploy the ibm-mas-suite operator.

Symptom

The Suite custom resource reports the "Failure" status condition with the "Reason" of "Failed" and the following "Message":
AnsibleUndefinedVariable: {'registry': '{{icr.cp}}', 'pullPolicy': '{{ settings.imagePullPolicy is defined | ternary(settings.imagePullPolicy, defaultPullPolicy)}}', 'pullSecretName': 'ibm-entitlement', 'suite': {'name': 'mas/ibm-mas-suite', 'tag': '{{ defaultTags.suite }}', 'replicas': 1, 'resources': {'requests': {'cpu': 0.5, 'memory': '64Mi'}, 'limits': {'cpu': 1.5, 'memory': '512Mi'}}}}: {{ (settings.icr is defined) | ternary(settings.icr, defaults.icr) }}: 'defaults' is undefined. 'defaults' is undefined. {{ (settings.icr is defined) | ternary(settings.icr, defaults.icr) }}: 'defaults' is undefined. 'defaults' is undefined. {'registry': '{{icr.cp}}', 'pullPolicy': '{{ settings.imagePullPolicy is defined | ternary(settings.imagePullPolicy, defaultPullPolicy)}}', 
The ibm-mas operator prints the following pod logs:
--------------------------- Ansible Task StdOut -------------------------------
 TASK [Apply primary entity manager] ********************************
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: ansible.errors.AnsibleUndefinedVariable: {'registry': '{{icr.cp}}', 'pullPolicy': '{{ settings.imagePullPolicy is defined | ternary(settings.imagePullPolicy, defaultPullPolicy)}}', 'pullSecretName': 'ibm-entitlement', 'suite': {'name': 'mas/ibm-mas-suite', 'tag': '{{ defaultTags.suite }}', 'replicas': 1, 'resources': {'requests': {'cpu': 0.5, 'memory': '64Mi'}, 'limits': {'cpu': 1.5, 'memory': '512Mi'}}}}: {{ (settings.icr is defined) | ternary(settings.icr, defaults.icr) }}: 'defaults' is undefined. 'defaults' is undefined. {{ (settings.icr is defined) | ternary(settings.icr, defaults.icr) }}: 'defaults' is undefined. 'defaults' is undefined. {'registry': '{{icr.cp}}', 'pullPolicy': '{{ settings.imagePullPolicy is defined | ternary(settings.imagePullPolicy, defaultPullPolicy)}}', 'pullSecretName': 'ibm-entitlement', 'suite': {'name': 'mas/ibm-mas-suite', 'tag': '{{ defaultTags.suite }}', 'replicas': 1, ...
fatal: [localhost]: FAILED! => {"changed": false, "msg": "AnsibleUndefinedVariable: {'registry': '{{icr.cp}}', 'pullPolicy': '{{ settings.imagePullPolicy is defined | ternary(settings.imagePullPolicy, defaultPullPolicy)}}', 'pullSecretName': 'ibm-entitlement', 'suite': {'name': 'mas/ibm-mas-suite', 'tag': '{{ defaultTags.suite }}', 'replicas': 1, 'resources': {'requests': {'cpu': 0.5, 'memory': '64Mi'}, 'limits': {'cpu': 1.5, 'memory': '512Mi'}}}}: {{ (settings.icr is defined) | ternary(settings.icr, defaults.icr) }}: 'defaults' is undefined. 'defaults' is undefined. {{ (settings.icr is defined) | ternary(settings.icr, defaults.icr) }}: 'defaults' is undefined. 'defaults' is undefined. {'registry': '{{icr.cp}}', 'pullPolicy': '{{ settings.imagePullPolicy is defined | ternary(settings.imagePullPolicy, defaultPullPolicy)}}', 'pullSecretName': 'ibm-entitlement', 'suite': {'name': 'mas/ibm-mas-suite', 'tag': '{{ defaultTags.suite }}', 'replicas': 1, 'resources': {'requests': {'cpu': 0.5, 'memory': '64Mi...

Cause

The issue occurs when the registry settings are not set in the Suite custom resource. The ibm-mas operator deploys the newly introduced ibm-mas-suite operator. Typically, the default values for the registry are stored within the ibm-mas operator source code. The operator checks whether the registry settings are present in the Suite custom resource otherwise use the internal defaults. However, in MAS 8.11.0 (and 8.11.1) we accidentally removed the default values. Therefore, the ibm-mas operator has no way of knowing the registry and cannot find and pull the ibm-mas-suite operator image.

Resolving The Problem

  1. In the Red Hat OpenShift web console, on the left sidebar go to Administration
  2. Click CustomResourceDefinitions
  3. Search for Suite and click it
  4. Click Instances tab
  5. Open the Suite custom resource instance
  6. Click YAML tab
  7. Add the following settings to the spec section and click Save
spec:
  settings:
    icr:
      cp: cp.icr.io/cp
      cpopen: icr.io/cpopen
Note: Do not replace the entire spec object with the previously mentioned settings but rather add these new fields to it.

Document Location

Worldwide

[{"Type":"MASTER","Line of Business":{"code":"LOB59","label":"Sustainability Software"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSRHPA","label":"IBM Maximo Application Suite"},"ARM Category":[{"code":"a8m50000000CbKNAA0","label":"Install"},{"code":"a8m0z000000cwZDAAY","label":"Maximo Application Suite"},{"code":"a8m3p000000hAeeAAE","label":"Maximo Application Suite-\u003ECore"},{"code":"a8m3p000000F80cAAC","label":"Maximo Application Suite-\u003ETroubleshooting and Must Gathers"},{"code":"a8m50000000CbD5AAK","label":"Upgrade"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.11.0"}]

Document Information

Modified date:
12 October 2023

UID

ibm17051016