Flashes (Alerts)
Abstract
If your IBM Cloud Pak for AIOps deployment is older than v4.6.0, then you must update the embedded EDB PostgreSQL database license key before it expires on 1 October 2024. If the license expires, then the EDB PostgreSQL operator stops working and is unable to replace any replicas that go down, which then causes IBM Cloud Pak for AIOps downtime.
Content
Symptoms of an expired license key:
PostgreSQL cluster instances (pods) and data continue to be accessible when the EDB PostgreSQL database license key expires. However, the operator stops trying to reconcile the PostgreSQL cluster's status. As a result, the management of the cluster's status is suspended, including self-healing and high availability features like automated failover and primary instance switchover.
Solution:
These steps can be used before the license key expires, or after expiration to recover your IBM Cloud Pak for AIOps deployment. You can update the EDB PostgreSQL database license key by upgrading to IBM Cloud Pak for AIOps 4.6.0 or higher, or by using the following manual process:
1. Find and export your project namespace.
export PROJECT_CP4AIOPS=<project>
Where <project> is the namespace (project) that IBM Cloud Pak for AIOps is deployed in.
2. Check the expiration date of the license key.
oc get cluster.postgresql -n "${PROJECT_CP4AIOPS}" -o jsonpath='{range .items[*]}{.metadata.namespace}{"\t"}{.metadata.name}{"\t"}{.status.licenseStatus.licenseExpiration}{"\t"}{.status.licenseStatus.licenseStatus}{"\n"}{end}'
Example output:
aiops common-service-db 2024-10-01T00:00:00Z Valid license (IBM - Data & Analytics (ibmda_cloudpak))
aiops ibm-cp-aiops-edb-postgres 2024-10-01T00:00:00Z Valid license (IBM - Data & Analytics (ibmda_cloudpak))
aiops zen-metastore-edb 2024-10-01T00:00:00Z Valid license (IBM - Data & Analytics (ibmda_cloudpak))
If the date is 2024-10-01, then complete the remaining steps to update the license key, otherwise you do not need to take any action.
3. Update the license key
Online deployments:
AIOps version 4.4 and above, run the following commands to update the license key image:
oc get job create-postgres-license-config -n "${PROJECT_CP4AIOPS}" -o yaml | \
sed -e 's/operator.ibm.com\/opreq-control: "true"/operator.ibm.com\/opreq-control: "false"/' \
-e 's|\(image: \).*|\1"cp.icr.io/cp/cpd/edb-postgres-license-provider@sha256:c1670e7dd93c1e65a6659ece644e44aa5c2150809ac1089e2fd6be37dceae4ce"|' \
-e '/controller-uid:/d' | \
oc replace --force -f - && \
oc wait --for=condition=complete job/create-postgres-license-config -n "${PROJECT_CP4AIOPS}"
Offline deployments:
a. Copy the new license key image to your private registry.
export ENTITLED_REGISTRY_PASSWORD=<your IBM entitlement key>
export TARGET_REGISTRY_HOST=<IP_or_FQDN_of_target_registry>
export TARGET_REGISTRY_PORT=<port_number_of_target_registry>
export TARGET_REGISTRY=$TARGET_REGISTRY_HOST:$TARGET_REGISTRY_PORT
export TARGET_REGISTRY_USER=<username>
export TARGET_REGISTRY_PASSWORD=<password>
podman login cp.icr.io -u cp -p ${ENTITLED_REGISTRY_PASSWORD}
podman login ${TARGET_REGISTRY} -u ${TARGET_REGISTRY_USER} -p ${TARGET_REGISTRY_PASSWORD}
podman pull cp.icr.io/cp/cpd/edb-postgres-license-provider@sha256:c1670e7dd93c1e65a6659ece644e44aa5c2150809ac1089e2fd6be37dceae4ce
podman tag cp.icr.io/cp/cpd/edb-postgres-license-provider cp.icr.io/cp/cpd/edb-postgres-license-provider:1600
podman push cp.icr.io/cp/cpd/edb-postgres-license-provider:1600 ${TARGET_REGISTRY}/cp/cpd/edb-postgres-license-provider:1600
b. AIOps version 4.4 and above, update the license key image.
oc get job create-postgres-license-config -n "${PROJECT_CP4AIOPS}" -o yaml | \
sed -e 's/operator.ibm.com\/opreq-control: "true"/operator.ibm.com\/opreq-control: "false"/' \
-e 's|\(image: \).*|\1"cp.icr.io/cp/cpd/edb-postgres-license-provider@sha256:c1670e7dd93c1e65a6659ece644e44aa5c2150809ac1089e2fd6be37dceae4ce"|' \
-e '/controller-uid:/d' | \
oc replace --force -f - && \
oc wait --for=condition=complete job/create-postgres-license-config -n "${PROJECT_CP4AIOPS}"
4. Verify that the license key expiration date is updated.
Run the following command for AIOps 4.4 and above to verify that the expiration date is 2999-12-31.
oc get cluster.postgresql -n "${PROJECT_CP4AIOPS}" -o jsonpath='{range .items[*]}{.metadata.namespace}{"\t"}{.metadata.name}{"\t"}{.status.licenseStatus.licenseExpiration}{"\t"}{.status.licenseStatus.licenseStatus}{"\n"}{end}'
Example output for a deployment with a successfully modified expiration date:
NAMESPACE NAME LICENSE_EXPIRATION LICENSE_STATUS
cp4aiops common-service-db 2999-12-31T00:00:00Z Valid license (IBM - Data & Analytics (ibmda_cloudpak))
cp4aiops ibm-cp-aiops-edb-postgres 2999-12-31T00:00:00Z Valid license (IBM - Data & Analytics (ibmda_cloudpak))
cp4aiops zen-metastore-edb 2999-12-31T00:00:00Z Valid license (IBM - Data & Analytics (ibmda_cloudpak))
[{"Type":"MASTER","Line of Business":{"code":"LOB67","label":"IT Automation \u0026 App Modernization"},"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSE9G0Q","label":"IBM Cloud Pak for AIOps"},"ARM Category":[{"code":"a8m3p000000PCJCAA4","label":"Watson AIOps-\u003EAI Manager-\u003EData-\u003EDatastore-\u003EPostgres - EDB"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"4.4.0;4.4.1;4.5.0;4.5.1"}]
Historical Number
AIOps 4.4;AIOps 4.4.1;AIOps 4.5;AIOps4.5.1
Product Synonym
Cloud Pak for AIOps
Was this topic helpful?
Document Information
Modified date:
02 October 2024
UID
ibm17170352