IBM Support

Embedded EDB PostgreSQL database license key expires on 1 October 2024

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

Document Information

Modified date:
02 October 2024

UID

ibm17170352