General Page
Impact of embedded Postgres license expiry
License expiry date: October 1st, 2024, at 00:00:00 (midnight) in UTC.
All IBM Cloud Pak operators released before June 2024 that use the Embedded EDB PostgreSQL cluster as a database are affected.
After the license expiration, the PostgreSQL cluster instances (pods) and the data will remain available, but the operator will cease any reconciliation attempt on the PostgreSQL cluster with an expired license key, effectively stopping the management of its status. This includes self-healing and high availability capabilities, such as automated failover and primary instance switchovers.
Symptoms include:
- For existing PostgreSQL clusters, failure to switch over the primary instance to the standby instance during node network issues, reboots, and openshift upgrades results in downtime for the cloud Pak operator.
- You will not be able to deploy new Cloud Pak operators that require the Embedded PostgreSQL database since the required PostgreSQL cluster will not get created.
Cloud Pak operators affected.
The Cloud Pak operators deployed using the IBM Foundational services operator (CPFS)version 3.19.21, version 3.23.13, or version 4.6.1 or below will have the license key expiring on October 1st, 2024
Following cloud Pak products and operators using the embedded EDB PostgreSQL database are affected by the embedded Postgres license expiry:
| Cloud Pak | Operators affected | The version includes the updated license Key and CPFS version |
|---|---|---|
| IBM Cloud Pak for Business Automation (CP4BA) |
Zen(CPFS 4.0+), Workflow Process Service, and Starter deployments
(Business Teams Service(BTS) not affected)
|
CP4BA 24.0.0 /CPFS 4.6.2 |
| IBM Cloud Pak for Data (CP4D) | Zen(CPFS 4.0), Watson Speech, Watson Assistant, Watson Discovery, Spark, Analytic Engine | CP4D 5.0.x /CPFS 4.7.0 |
| IBM Cloud Pak for Integration (CP4I) |
CP4I 2023.4.1 , Keycloak,
|
CP4Int 16.1.0 /CPFS 4.6.3
|
| IBM Cloud Pak for Watson AIOps (CP4AIOps) | Zen(CPFS 4.0+), spark. watsonAIops | CP4AIOps 4.6.0/CPFS 4.6.3 |
| IBM APIConnect | IBM APIConnect (v10.0.7) | IBM APIConnect v10.0.8 and above |
You can review the "licenseExpiration" in the PostgreSQL cluster description for the existing license key expiration date. The following command will display the namespace, PostgreSQL cluster, and the current expiration date for all the PostgreSQL clusters on your cloud pak environment.
oc get cluster.postgresql -A -o jsonpath='{range .items[*]}{.metadata.namespace}{"\t"}{.metadata.name}{"\t"}{.status.licenseStatus.licenseExpiration}{"\t"}{.status.licenseStatus.licenseStatus}{"\n"}{end}'
Example output:
cp4i keycloak-edb-cluster 2024-10-01T00:00:00Z Valid license (IBM - Data & Analytics (Cloud))
cpd-instance zen-metastore-edb 2024-10-01T00:00:00Z Valid license (IBM - Data & Analytics (Cloud))
cpd-instance2 zen-metastore-edb 2024-10-01T00:00:00Z Valid license (IBM - Data & Analytics (Cloud))
Resolution:
Updating the license key automatically by upgrading CPFS operator:
EDB postgreSQL versions older than 1.18.x have been End of Life and no longer supported by EDB. You can no longer use the documented workaround to update the license Key . You should upgrade the EDB version to 1.18.x or above and upgrade the IBM Foundational Services to version 3.19.22, version 3.23.14, or version 4.6.2 as appropriate for the cloud Pak.
The IBM Foundational Services operator (CPFS) version 3.19.22, version 3.23.14, or version 4.6.2, or above will install a later version of the EDB PostgreSQL operator and update the license key expiration date 2999-12-31 .
If you have questions about specific Cloud Pak versions related to compatibility or upgrade steps, review the respective Cloud Pak documentation and open a case if you need clarification.
If you are not ready to upgrade the Cloud Pak version for various reasons, you can manually update the PostgreSQL cluster license using the following procedure.
NOTE: Manually updating without updating the CPFS will cause EDB postgreSQL upgrrade issues, when you upgrade in the future remember to delete the job and restart the ODLM pod . For more details refer to the KI DT453151
Please note that the manual step only applies to embedded EDB PostgreSQL versions 1.18.x or above, which are installed using the CPFS operator.
create-postgres-license-config job is located:
oc get job -A | egrep "NAME|create-postgres-license-config"
Example output : NAMESPACE NAME COMPLETIONS DURATION AGE cp4i create-postgres-license-config 1/1 17s 218d cpd-operator create-postgres-license-config 1/1 17s 218d You will find the job under the same namespace where the postgresql-operator-controller-manager-xxx pod is deployed and manage multiple postgreSQL clusters. This operator can manage multiple Depending on the cloud pak operators and operand deployment patterns on the OCP cluster, you may find the postgresql-operator-controller-manager under multiple namespace
namesapce=<NAMESPACE1>
oc get job create-postgres-license-config -n $namespace -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 $namespace
3-- Verify that the embedded Postgres cluster correctly reflects the status of the license expiry. Run the following command:
oc get cluster.postgresql -A -o jsonpath='{range .items[*]}{.metadata.namespace}{"\t"}{.metadata.name}{"\t"}{.status.licenseStatus.licenseExpiration}{"\t"}{.status.licenseStatus.licenseStatus}{"\n"}{end}'
Depending on the cloud pak and instance deployment the postgresql-operator-controller-manager can manage clusters on multiple namespaces. You will see the license key for the PostgreSQL clusters has been updated to 2999-12-31T00:00:00Z managed by the operator on a specific namespace 4-- Repeat the steps-2 and step-3 for each namespace where the create-postgres-license-config job is located found in step 1:
Example of the output after patching all the postgresql clusters:
cp4i keycloak-edb-cluster 2999-12-31T00:00:00Z Valid license (IBM - Data & Analytics (Cloud))
cpd-instance zen-metastore-edb 2999-12-31T00:00:00Z Valid license (IBM - Data & Analytics (Cloud))
cpd-instance2 zen-metastore-edb 2999-12-31T00:00:00Z Valid license (IBM - Data & Analytics (Cloud))
cp.icr.io/cp/cpd/edb-postgres-license-provider@sha256:c1670e7dd93c1e65a6659ece644e44aa5c2150809ac1089e2fd6be37dceae4ce
podman login cp.icr.io -u cp -p '<entitlement-key>'
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 ${PRIVATE_REGISTRY_LOCATION}/cp/cpd/edb-postgres-license-provider:1600
podman push will change the original image digest(sha256:c1670e7dd93c1e65a6659ece644e44aa5c2150809ac1089e2fd6be37dceae4ce) for edb-postgres-license-provider, using skopo inspect to get the current digest:
#skopeo inspect docker://${PRIVATE_REGISTRY_LOCATION}/cp/cpd/edb-postgres-license-provider:1600 --tls-verify=false
{
"Name": "test:5000/cp/cpd/edb-postgres-license-provider",
"Digest": "sha256:5ea15c640c66100179c9f33161aa8af774075ba33a8463a837d75f4937f5bbb4",
"RepoTags": [
"1600"
],
"Created": "2024-05-07T10:25:34.699036409Z",
.......
}
$PRIVATE_REGISTRY_LOCATION:port/cp/cpd/edb-postgres-license-provider@sha256:c1670e7dd93c1e65a6659ece644e44aa5c2150809ac1089e2fd6be37dceae4ce
Conclusion:
To prevent potential downtime due to the Embedded Postgres license key expiry, it is critical to upgrade to a Cloud Pak product that includes the updated license key before October 1st, 2024, at 00:00:00 (midnight) in UTC or follow the manual license update procedure to update the license kay. If an environment encounters downtime post-expiry, the above method should still be applicable as an update to the license key. Always ensure to keep your environment updated to avoid such issues.
- IBM Cloud Pak for AIOps: Embedded EDB PostgreSQL database license key expires on 1 October 2024
- Cloud Pak for Business Automation: Embedded PostgreSQL database license key expires on October 1st, 2024
- IBM Cloud Pak For Data: Handling Embedded Postgres License Expiry and Upgrades in Cloud Pak for Data v4.7.x and v4.8.x
- IBM Cloud Pak for Integration 2023.4.1 - Support Notification for the use of Embedded EDB Postgres
- Netcool Operations Insight: Embedded EDB PostgreSQL database license key expires on 1 October 2024
- IBM APIConnect V10.0.7.0 Embedded EDB PostgreSQL database license key expires on 1 October 2024
Was this topic helpful?
Document Information
Modified date:
11 October 2025
UID
ibm17158681