Decision Management & Intelligence (ODM, DI)

Decision Management & Intelligence (ODM, DI)

Connect with experts and peers to elevate technical expertise, solve problems and share insights


#Data
#Data
#Businessautomation
#DecisionManagement
 View Only

How do I install ODM Silver topology with CP4BA 26.0.0?

By Said Moutaa posted 08/04/26 02:06 PM

  

IBM Operational Decision Manager

How do I install ODM Silver topology with CP4BA 26.0.0?

This tutorial explains how to deploy, configure, and validate an ODM Silver topology across multiple OpenShift namespaces in a single cluster.

Target audienceODM administrators, platform administrators, and solution architects
Estimated duration120 min

This article is part of an article series around Operational Decision Manager (ODM) topologies in context of Cloud Pak for Business Automation (CP4BA). For more information about ODM environments and the topologies, see CP4BA ODM topologies on OpenShift.

1. Introduction

This document aims at describing how to setup an ODM Silver topology deployment in the context of the Cloud Pak for Business Automation (CP4BA) 26.0.0.

The ODM Silver topology is a deployment of several ODM environments, each in an individual namespace, within a single cluster.

Minimum Silver topology consists of an Authoring, a Sand box, and a Production environment.

Full Silver topology consists of an Authoring, Sandboxes, a Pre-prod and a Production environment.

image

Schema of a full ODM Silver topology (fig. 1)

There is one Decision Center to govern all Decision Servers.  All environments have their own authentication process (Zen) and Identity Management through the IBM Cloud Pak foundational services (CPfs) which is called a dedicated topology. In Silver topology context, the databases are externalized.

Silver topology is best suited for applications with medium production constraints (HA, Pre-Prod, ...). For more information about ODM environments and the topologies, see CP4BA ODM topologies on OpenShift.

2. Installing ODM Silver topology

Silver topology is based on default Bronze topology with additional customization to allow several ODM environments within the same cluster. To install ODM Silver topology, it is recommended to start with ODM Bronze topology for 26.0.0 to setup the cluster and then obtain a baseline Cloud Pak for Business Automation deployment Custom Resource (CR) YAML file. Use this CR file and customize it per ODM environment. Other settings such as IM configuration and certificates management are discussed in the later part of this article.

For more information about downloading your CASE package, see Preparing a client to connect to the cluster.

2.1 Procedure

Step 1 — Create a namespace for each Silver environment

Make sure to create a namespace for your ODM Silver environment.

Command
oc new-project <silver_topology_namespace>
Step 2 — Copy and rename the generated Custom Resource

Copy the CR file generated by the Bronze installation and create one CR file per ODM environment.

Example commands
cp scripts/generated-cr/ibm_cp4a_cr_final.yaml authoring.yaml
cp scripts/generated-cr/ibm_cp4a_cr_final.yaml sandbox.yaml
cp scripts/generated-cr/ibm_cp4a_cr_final.yaml preprod.yaml
cp scripts/generated-cr/ibm_cp4a_cr_final.yaml production.yaml
Step 3 — Set the deployment name

Assign a meaningful value to the metadata.name parameter.

YAML
metadata:
  name: authoring
Step 4 — Remove unwanted parameters

Delete the following entries from the generated CR:

  • spec.shared_configuration.sc_iam.default_admin_username
  • spec.shared_configuration.sc_deployment_fncm_license
  • spec.shared_configuration.sc_deployment_baw_license
  • spec.shared_configuration.sc_drivers_url
Step 5 — Configure the CP4BA deployment profile

Set the Cloud Pak deployment profile to small. This keeps the platform layer compact and improves the readability of the CR examples.

YAML
spec:
  shared_configuration:
    sc_deployment_profile_size: small
Tip: The ODM examples later in this tutorial explicitly define medium-size resource values even when those values correspond to defaults.
Step 6 — Configure image pull secrets

Fill in spec.shared_configuration.image_pull_secrets with the shared image pull secret used in your cluster.

YAML
spec:
  shared_configuration:
    image_pull_secrets:
      - ibm-entitlement-key
Step 7 — Verify the ODM datasource configuration

Check the spec.datasource_configuration.dc_odm_datasource section generated by cert-kubernetes/scripts/cp4a-deployment.sh.

The following example uses Db2 with SSL enabled:

Db2 datasource example
datasource_configuration:
  dc_odm_datasource:
    database_servername: <db2_hostname>
    dc_common_database_instance_secret: <db2_credentials>
    dc_common_database_name: <odm_db_name>
    dc_common_database_port: '60001'
    dc_common_ssl_enabled: true
    dc_database_type: db2
    dc_ssl_secret_name: <odm-db2-ssl-cert>
  dc_ssl_enabled: true
SSL configuration
If SSL is used, set dc_common_ssl_enabled to true and provide a secret containing the Db2 server certificate through dc_ssl_secret_name.
Create the Db2 certificate secret
oc create secret generic odm-db2-ssl-secret --from-file=db2-server-certificate=<your_path>/server.crt
  • whereby server.crt is the Db2 SSL certificate public key in ASCII format. For example: 

-----BEGIN CERTIFICATE-----  

MIIHDzCCBfegAwIBAgIQCKZtYygfn9pg13D0uAX YzANBgkqhkiG9w0BAQsFADBg  ... 3R7IrdK8aS1WUGlKulqEDiV4TJ 1XpcoUq8wtmBSw1fyV7g=  

-----END CERTIFICATE----

  • For more information on how to generate the Db2 SSL certificate, see Self-signing digital certificates. 

  • [Optional] If you have different databases for your Decision Center and Decision Server instances, rather than configuring spec.datasource_configuration.dc_odm_datasource parameter, you can configure spec.datasource_configuration.dc_odm_decisioncenter_datasource and spec.datasource_configuration.dc_odm_decisionserver_datasource under the spec.datasource_configuration tag of the custom resource file. For more information, see Targeting separate external databases. 

Step 8 — Verify LDAP configuration

Check the spec.ldap_configuration section generated by the deployment script.

If SSL is used, ensure that:

  • spec.ldap_configuration.lc_ldap_ssl_enabled is set to true
  • spec.ldap_configuration.lc_ldap_ssl_secret_name references the LDAP certificate secret

For an example of LDAP with SSL enabled, see Example LDAP_configuration YAML for Microsoft Active Directory 

Step 9 — Configure ODM sizing

Set spec.odm_configuration.deployment_profile_size to medium. This setting is recommended for Silver topology environments.

YAML
spec:
  odm_configuration:
    deployment_profile_size: medium
Make sure that you have a fully defined CR file for an ODM Bronze topology. You can refer to the sample provided at the end of How do I install ODM Bronze topology with CP4BA 26.0.0?
Step 10 — Customize each ODM environment
  • Modify spec.odm_configuration and spec.shared_configuration.sc_optional_components according to the purpose of each environment.
  • [Optional] You can configure multi-zone support by setting the nodeAffinity . Using this parameter, the ODM service pods can be deployed on nodes in a specific zone. This way, you can organize and optimize access to the underlying resources, like storage and database, by region. For more information, see Configuring multi-zone support. 
  • [Optional] You can configure your own networkPolicy by setting the networkPolicy parameter. Using this parameter, the ODM deployment security can be strengthen by restricting Internet access by applying some rules to individual pods or group of pods. For more information, see Configuring the network policy.  

Step 11 — Apply the Custom Resource

Apply the fully defined CR file for each environment.

Command
oc apply -f <your_odm_environment>.yaml
Expected result: After several CP4BA operator reconciliation loops, all expected ODM pods are ready.

2.2 Silver environments

Authoring

Decision Center, Decision Runner, and Decision Server Console.

Sandbox

Decision Server Runtime and Decision Server Console.

Pre-production

Several Decision Server Runtime replicas and Decision Server Console.

Production

Production-licensed Decision Server Runtime replicas and Decision Server Console.

2.2.1 Authoring environment

The Authoring environment consists of Decision Server Console, two Decision Center replicas, and two Decision Runner replicas.

Authoring CR example
metadata: 

  name: authoring 

… 

spec: 

  odm_configuration: 

    decisionCenter: 

      enabled: true 

      replicaCount: 2 

      resources: 

        limits: 

          cpu: '2' 

          memory: 8Gi 

        requests: 

          cpu: '1' 

          memory: 4Gi 

    decisionServerRuntime: 

      enabled: false 

    decisionRunner: 

      enabled: true 

      replicaCount: 2 

      resources: 

        limits: 

          cpu: '2' 

          memory: 2Gi 

        requests: 

          cpu: 500m 

          memory: 2Gi 

    decisionServerConsole: 

      resources: 

        limits: 

          cpu: '2' 

          memory: 1Gi 

        requests: 

          cpu: 500m 

          memory: 512Mi 

... 

  shared_configuration: 

    sc_optional_components: decisionCenter,decisionRunner 
    sc_deployment_license: production

2.2.2 Sandbox environment

Sandbox environment only consists of Decision Server Console and a Decision Server Runtime.   
Edit your sandbox custom CR file to only install Decision Server Console and Decision Server Runtime. For this environment, assign spec.shared_configuration_sc_deployment_license to non-production as it is not a production environment. To have a better clarity while reading the CR, all of the parameters are laid out with their default values.  

Sandbox CR example
metadata: 

  name: sandbox 

… 

spec: 

  odm_configuration: 

    decisionCenter: 

      enabled: false 

    decisionServerRuntime: 

      enabled: true 

      replicaCount: 1 

      resources: 

        limits: 

          cpu: '2' 

          memory: 2Gi 

        requests: 

          cpu: '2' 

          memory: 2Gi 

    decisionRunner: 

      enabled: false 

    decisionServerConsole: 

      resources: 

        limits: 

          cpu: '2' 

          memory: 1Gi 

        requests: 

          cpu: 500m 

          memory: 512Mi 

... 

  shared_configuration: 

  sc_optional_components: decisionServerRuntime 

  sc_deployment_license: non-production

2.2.3 Pre-production and Production environments

Production environment consists of Decision Server Console and 3 Decision Server Runtime.  Pre-prod environment is similar to Production environment with a Decision Server Console and several Decision Server Runtime.   

For Production environment, assign spec.shared_configuration_sc_deployment_license to production.  

As for Pre-prod environment, assign spec.shared_configuration_sc_deployment_license to non-production. 

To have a better clarity while reading the CR, all of the parameters are laid out with their default values. Edit your Pre-prod custom CR file to install these components.

Pre-production / Production CR example
metadata: 

  name: preprod 

… 

spec: 

  odm_configuration: 

    decisionCenter: 

      enabled: false 

    decisionServerRuntime: 

      enabled: true 

      replicaCount: 3 

      resources: 

        limits: 

          cpu: '2' 

          memory: 2Gi 

        requests: 

          cpu: '2' 

          memory: 2Gi 

    decisionRunner: 

      enabled: false 

    decisionServerConsole: 

      resources: 

        limits: 

          cpu: '2' 

          memory: 1Gi 

        requests: 

          cpu: 500m 

          memory: 512Mi 

... 

  shared_configuration: 

  sc_optional_components: decisionServerRuntime 

  sc_deployment_license: non-production 

  # in case of production environment, set sc_deployment_license to production 

  # sc_deployment_license: production

2.3 Sizing Cloud Pak Platform UI and Common Services

Set the Zen service size

Set the IBM Cloud Platform UI (Zen) service to the same size as Cloud Pak.  For more information, see System requirements. Example for setting Zen service size:

Command
oc patch ZenService iaf-zen-cpdservice --type=json \
-p '[{{ "op": "replace", "path": "/spec/scaleConfig", "value": "<size>" }}]'
Set IBM Common Services to small

IBM Common Services can be set to small because this setting has no impact on ODM capabilities.

Command
oc patch CommonService common-service -n $NAMESPACE --type=json \
-p '[{{ "op": "replace", "path": "/spec/size", "value": "small" }}]'

See Performance Check List of OCP for CP4BA 24.0.1 to perform some additional tuning to this Production or Pre-Production environment. 

3. Configuring and validating your Silver topology

Use both CP4BA-level and ODM-level validation procedures to confirm that every environment is healthy and that the Authoring, Sandbox, Pre-production, and Production environments can communicate correctly.

CP4BA validation

Run the documented production deployment validation and post-install scripts: Validating your production deployment.  

ODM validation

Additional validations can be done at ODM level using expert contributions in blog community How do I validate my ODM topology with CP4BA 26.0.0?  

You can then perform post installation tasks as described in Completing post-installation tasks for Operational Decision Manager.   

3.1 Validate the topology using the post-install script

The next sections will illustrate on a sample Silver topology, what would the post-install validation scripts look like. This script is located in the CASE package. 

Output example of the Authoring environment status from script execution 

Run ./cp4a-post-install.sh --status in each environment namespace.

Authoring status example

Output example of the Authoring environment status from script execution:
 
./cp4a-post-install.sh --status
 
#################################################################################
                              Running CP4BA Post install Service
#################################################################################
 
Start time : Mon Aug 4 10:33:00 CEST 2026
 
Checking OS before continuing on
################################################################
...
Linux is being used
 
Validate OCP Access
################################################################
✔ PASSED Access to cluster via oc command
 
Cluster name                                      : <my_ocp_cluster>
Cluster version                                   : 4.18.49
Console URL                                       : https://console-openshift-console.apps.<my_ocp_cluster>.<my_company>.com
Logged in as user                                 : <my_admin>
Using namespace                                   : silver
Deployment name                                   : dba2600bai
Deployment type                                   : Production
OLM deployment                                    : false
Deployment patterns                               : foundation,decisions,decisions_ads
Optional components                               : various (ads_designer,ads_runtime,bai,decisionCenter,decisionRunner, ...)
 
CP4BA Service Status - High level
################################################################
CP4BA Version                                     : 26.0.0
Project/Namespace                                 : silver
Zen Version                                       : 6.10.3
Message 1                                         : Running reconciliation
Message 2                                         : Prerequisites execution done.
...
 
CP4BA Service Status - Operational Decision Manager
################################################################
odmDecisionCenterDeployment                       : Ready
odmDecisionCenterService                          : Ready
odmDecisionCenterZenIntegration                   : Ready
odmDecisionRunnerDeployment                       : Ready
odmDecisionRunnerService                          : Ready
odmDecisionRunnerZenIntegration                   : Ready
odmDecisionServerConsoleDeployment                : Ready
odmDecisionServerConsoleService                   : Ready
odmDecisionServerConsoleZenIntegration            : Ready
odmDecisionServerRuntimeDeployment                : NotInstalled
odmDecisionServerRuntimeService                   : NotInstalled
odmDecisionServerRuntimeZenIntegration             : NotInstalled
 
#################################################################################
End Time: Mon Aug 4 10:33:15 CEST 2026
CP4BA Service Completed in 15 seconds
#################################################################################
 
Output example of the Sandbox environment status from script execution:
 
./cp4a-post-install.sh --status
 
#################################################################################
                              Running CP4BA Post install Service
#################################################################################
 
Start time : Mon Aug 4 11:28:00 CEST 2026
 
Checking OS before continuing on
################################################################
...
Linux is being used
 
Validate OCP Access
################################################################
✔ PASSED Access to cluster via oc command
 
Cluster name                                      : <my_ocp_cluster>
Cluster version                                   : 4.18.49
Console URL                                       : https://console-openshift-console.apps.<my_ocp_cluster>.<my_company>.com
Logged in as user                                 : <my_admin>
Using namespace                                   : silver
Deployment name                                   : dba2600bai
Deployment type                                   : Production
OLM deployment                                    : false
Deployment patterns                               : foundation,decisions,decisions_ads
Optional components                               : various (ads_designer,ads_runtime,bai,decisionCenter,decisionRunner, ...)
 
CP4BA Service Status - High level
################################################################
CP4BA Version                                     : 26.0.0
Project/Namespace                                 : silver
Zen Version                                       : 6.10.3
Message 1                                         : Running reconciliation
Message 2                                         : Prerequisites execution done.
...
 
CP4BA Service Status - Operational Decision Manager
################################################################
odmDecisionCenterDeployment                       : NotInstalled
odmDecisionCenterService                          : NotInstalled
odmDecisionCenterZenIntegration                   : NotInstalled
odmDecisionRunnerDeployment                       : NotInstalled
odmDecisionRunnerService                          : NotInstalled
odmDecisionRunnerZenIntegration                   : NotInstalled
odmDecisionServerConsoleDeployment                : Ready
odmDecisionServerConsoleService                   : Ready
odmDecisionServerConsoleZenIntegration            : Ready
odmDecisionServerRuntimeDeployment                : Ready
odmDecisionServerRuntimeService                   : Ready
odmDecisionServerRuntimeZenIntegration             : Ready
 
#################################################################################
End Time: Mon Aug 4 11:28:15 CEST 2026
CP4BA Service Completed in 15 seconds
#################################################################################
 
Output example of the Production environment status from script execution:
 
./cp4a-post-install.sh --status
 
#################################################################################
                              Running CP4BA Post install Service
#################################################################################
 
Start time : Mon Aug 4 11:33:00 CEST 2026
 
Checking OS before continuing on
################################################################
...
Linux is being used
 
Validate OCP Access
################################################################
✔ PASSED Access to cluster via oc command
 
Cluster name                                      : <my_ocp_cluster>
Cluster version                                   : 4.18.49
Console URL                                       : https://console-openshift-console.apps.<my_ocp_cluster>.<my_company>.com
Logged in as user                                 : <my_admin>
Using namespace                                   : silver
Deployment name                                   : dba2600bai
Deployment type                                   : Production
OLM deployment                                    : false
Deployment patterns                               : foundation,decisions,decisions_ads
Optional components                               : various (ads_designer,ads_runtime,bai,decisionCenter,decisionRunner, ...)
 
CP4BA Service Status - High level
################################################################
CP4BA Version                                     : 26.0.0
Project/Namespace                                 : silver
Zen Version                                       : 6.10.3
Message 1                                         : Running reconciliation
Message 2                                         : Prerequisites execution done.
...
 
CP4BA Service Status - Operational Decision Manager
################################################################
odmDecisionCenterDeployment                       : NotInstalled
odmDecisionCenterService                          : NotInstalled
odmDecisionCenterZenIntegration                   : NotInstalled
odmDecisionRunnerDeployment                       : NotInstalled
odmDecisionRunnerService                          : NotInstalled
odmDecisionRunnerZenIntegration                   : NotInstalled
odmDecisionServerConsoleDeployment                : Ready
odmDecisionServerConsoleService                   : Ready
odmDecisionServerConsoleZenIntegration            : Ready
odmDecisionServerRuntimeDeployment                : Ready
odmDecisionServerRuntimeService                   : Ready
odmDecisionServerRuntimeZenIntegration             : Ready
 
#################################################################################
End Time: Mon Aug 4 11:33:15 CEST 2026
CP4BA Service Completed in 15 seconds
#################################################################################
 
 
Using the Cloud Pak documentation entry, Identifying the services.
 
Authoring service details
 
###################################################################################
                              Running CP4BA Post install Service
####################################################################################
 
Start time : Tue Aug 4 10:20:10 CEST 2026
 
Checking OS before continuing on
################################################################
Linux is being used
 
Validate OCP Access
################################################################
✔ PASSED Access to cluster via oc command
 
Cluster name                                      : <my_ocp_cluster>
Cluster version                                   : 4.18.49
Console URL                                       : https://console-openshift-console.apps.<my_ocp_cluster>.<my_company>.com
Logged in as user                                 : <my_admin>
Using namespace                                   : dba2600topoauth
Deployment name                                   : authoring
Deployment type                                   : Production
OLM deployment                                    : false
Deployment patterns                               : foundation,decisions,decisions_ads
Optional components                               : decisionCenter,decisionRunner
 
Service Console - Common
################################################################
Cloud Pak Common Dashboard                        : https://cpd-dba2600topoauth.apps.<my_ocp_cluster>.<my_company>.com
cpd-dba2600topoauth.apps.<my_ocp_cluster>.<my_company>.com
Admin Username                                    : <my_admin>
Admin Password                                    : *****
 
Service Console
################################################################
Cloud Pak for Business Automation Dashboard       : https://cpd-dba2600topoauth.apps.<my_ocp_cluster>.<my_company>.com
Admin Username                                    : cpadmin
Admin Password                                    : *****
Decisions Admin Username                          : Located in your LDAP Sever
Decisions Admin Password                          : Located in your LDAP Sever
Decisions Admin Zen API Key                       : *****
 
ODM - Operational Decision Manager Console
################################################################
Username                                          : cpadmin
Password                                          : *****
Decisions Admin Username                          : Located in your LDAP Sever
Decisions Admin Password                          : Located in your LDAP Sever
Decision Center                                   : https://cpd-dba2600topoauth.apps.<my_ocp_cluster>.<my_company>.com/odm/decisioncenter
Decisions Trust Store URL                         : https://cpd-dba2600topoauth.apps.<my_ocp_cluster>.<my_company>.com/odm/decisioncenter/assets/truststore.jks
Decision Runner                                   : https://cpd-dba2600topoauth.apps.<my_ocp_cluster>.<my_company>.com/odm/DecisionRunner
Decision Server Console                           : https://cpd-dba2600topoauth.apps.<my_ocp_cluster>.<my_company>.com/odm/res
 
####################################################################################
End Time: Tue Aug 4 10:20:25 CEST 2026
CP4BA Service Completed in 15 seconds
##############################################################################################
 
Sandbox service details
 
####################################################################################
                              Running CP4BA Post install Service
####################################################################################
 
Start time : Tue Aug 4 11:28:11 CEST 2026
 
Checking OS before continuing on
################################################################
Linux is being used
 
Validate OCP Access
################################################################
✔ PASSED Access to cluster via oc command
 
Cluster name                                      : <my_ocp_cluster>
Cluster version                                   : 4.18.49
Console URL                                       : https://console-openshift-console.apps.<my_ocp_cluster>.<my_company>.com
Logged in as user                                 : <my_admin>
Using namespace                                   : dba2600toposand
Deployment name                                   : sandbox
Deployment type                                   : Production
OLM deployment                                    : false
Deployment patterns                               : foundation,decisions,decisions_ads
Optional components                               : decisionServerRuntime
 
Service Console - Common
################################################################
Cloud Pak Common Dashboard                        : https://cpd-dba2600toposand.apps.<my_ocp_cluster>.<my_company>.com
cpd-dba2600toposand.apps.<my_ocp_cluster>.<my_company>.com
Admin Username                                    : cpadmin
Admin Password                                    : *****
 
Service Console
################################################################
Cloud Pak for Business Automation Dashboard       : https://cpd-dba2600toposand.apps.<my_ocp_cluster>.<my_company>.com
Admin Username                                    : cpadmin
Admin Password                                    : *****
Decisions Admin Username                          : Located in your LDAP Sever
Decisions Admin Password                          : Located in your LDAP Sever
Decisions Admin Zen API Key                       :
 
ODM - Operational Decision Manager Console
################################################################
Username                                          : cpadmin
Password                                          : *****
Decisions Admin Username                          : Located in your LDAP Sever
Decisions Admin Password                          : Located in your LDAP Sever
Decisions Trust Store URL                         : /assets/truststore.jks
Decision Server Console                           : https://cpd-dba2600toposand.apps.<my_ocp_cluster>.<my_company>.com/odm/res
Decision Server Runtime                           : https://cpd-dba2600toposand.apps.<my_ocp_cluster>.<my_company>.com/odm/DecisionService
 
####################################################################################
End Time: Tue Aug 4 11:28:28 CEST 2026
CP4BA Service Completed in 17 seconds
####################################################################################
 
Production service details
 
####################################################################################
                              Running CP4BA Post install Service
####################################################################################
 
Start time : Tue Aug 4 11:33:21 CEST 2026
 
Checking OS before continuing on
################################################################
Linux is being used
 
Validate OCP Access
################################################################
✔ PASSED Access to cluster via oc command
 
Cluster name                                      : <my_ocp_cluster>
Cluster version                                   : 4.18.49
Console URL                                       : https://console-openshift-console.apps.<my_ocp_cluster>.<my_company>.com
Logged in as user                                 : <my_admin>
Using namespace                                   : dba2600topoprod
Deployment name                                   : production
Deployment type                                   : Production
OLM deployment                                    : false
Deployment patterns                               : foundation,decisions,decisions_ads
Optional components                               : decisionServerRuntime
 
Service Console - Common
################################################################
Cloud Pak Common Dashboard                        : https://cpd-dba2600topoprod.apps.<my_ocp_cluster>.<my_company>.com
cpd-dba2600topoprod.apps.<my_ocp_cluster>.<my_company>.com
Admin Username                                    : cpadmin
Admin Password                                    : *****
 
Service Console
################################################################
Cloud Pak for Business Automation Dashboard       : https://cpd-dba2600topoprod.apps.<my_ocp_cluster>.<my_company>.com
Admin Username                                    : cpadmin
Admin Password                                    : *****
Decisions Admin Username                          : Located in your LDAP Sever
Decisions Admin Password                          : Located in your LDAP Sever
Decisions Admin Zen API Key                       : *****
 
ODM - Operational Decision Manager Console
################################################################
Username                                          : cpadmin
Password                                          : *****
Decisions Admin Username                          : Located in your LDAP Sever
Decisions Admin Password                          : Located in your LDAP Sever
Decisions Trust Store URL                         : /assets/truststore.jks
Decision Server Console                           : https://cpd-dba2600topoprod.apps.<my_ocp_cluster>.<my_company>.com/odm/res
Decision Server Runtime                           : https://cpd-dba2600topoprod.apps.<my_ocp_cluster>.<my_company>.com/odm/DecisionService
 
####################################################################################
End Time: Tue Aug 4 11:33:35 CEST 2026
CP4BA Service Completed in 14 seconds
##############################################################################################

Sandbox status example

./cp4a-post-install.sh --status

Output example of the Sandbox environment status from script execution:
 
./cp4a-post-install.sh --status
 
#################################################################################
                              Running CP4BA Post install Service
#################################################################################
 
Start time : Mon Aug 4 11:28:00 CEST 2026
 
Checking OS before continuing on
################################################################
...
Linux is being used
 
Validate OCP Access
################################################################
✔ PASSED Access to cluster via oc command
 
Cluster name                                      : <my_ocp_cluster>
Cluster version                                   : 4.18.49
Console URL                                       : https://console-openshift-console.apps.<my_ocp_cluster>.<my_company>.com
Logged in as user                                 : <my_admin>
Using namespace                                   : silver
Deployment name                                   : dba2600bai
Deployment type                                   : Production
OLM deployment                                    : false
Deployment patterns                               : foundation,decisions,decisions_ads
Optional components                               : various (ads_designer,ads_runtime,bai,decisionCenter,decisionRunner, ...)
 
CP4BA Service Status - High level
################################################################
CP4BA Version                                     : 26.0.0
Project/Namespace                                 : silver
Zen Version                                       : 6.10.3
Message 1                                         : Running reconciliation
Message 2                                         : Prerequisites execution done.
...
 
CP4BA Service Status - Operational Decision Manager
################################################################
odmDecisionCenterDeployment                       : NotInstalled
odmDecisionCenterService                          : NotInstalled
odmDecisionCenterZenIntegration                   : NotInstalled
odmDecisionRunnerDeployment                       : NotInstalled
odmDecisionRunnerService                          : NotInstalled
odmDecisionRunnerZenIntegration                   : NotInstalled
odmDecisionServerConsoleDeployment                : Ready
odmDecisionServerConsoleService                   : Ready
odmDecisionServerConsoleZenIntegration            : Ready
odmDecisionServerRuntimeDeployment                : Ready
odmDecisionServerRuntimeService                   : Ready
odmDecisionServerRuntimeZenIntegration            : Ready
 
#################################################################################
End Time: Mon Aug 4 11:28:15 CEST 2026
CP4BA Service Completed in 15 seconds
#################################################################################

Production status example

./cp4a-post-install.sh --status

Output example of the Production environment status from script execution:
 
./cp4a-post-install.sh --status
 
#################################################################################
                              Running CP4BA Post install Service
#################################################################################
 
Start time : Mon Aug 4 11:33:00 CEST 2026
 
Checking OS before continuing on
################################################################
...
Linux is being used
 
Validate OCP Access
################################################################
✔ PASSED Access to cluster via oc command
 
Cluster name                                      : <my_ocp_cluster>
Cluster version                                   : 4.18.49
Console URL                                       : https://console-openshift-console.apps.<my_ocp_cluster>.<my_company>.com
Logged in as user                                 : <my_admin>
Using namespace                                   : silver
Deployment name                                   : dba2600bai
Deployment type                                   : Production
OLM deployment                                    : false
Deployment patterns                               : foundation,decisions,decisions_ads
Optional components                               : various (ads_designer,ads_runtime,bai,decisionCenter,decisionRunner, ...)
 
CP4BA Service Status - High level
################################################################
CP4BA Version                                     : 26.0.0
Project/Namespace                                 : silver
Zen Version                                       : 6.10.3
Message 1                                         : Running reconciliation
Message 2                                         : Prerequisites execution done.
...
 
CP4BA Service Status - Operational Decision Manager
################################################################
odmDecisionCenterDeployment                       : NotInstalled
odmDecisionCenterService                          : NotInstalled
odmDecisionCenterZenIntegration                   : NotInstalled
odmDecisionRunnerDeployment                       : NotInstalled
odmDecisionRunnerService                          : NotInstalled
odmDecisionRunnerZenIntegration                   : NotInstalled
odmDecisionServerConsoleDeployment                : Ready
odmDecisionServerConsoleService                   : Ready
odmDecisionServerConsoleZenIntegration            : Ready
odmDecisionServerRuntimeDeployment                : Ready
odmDecisionServerRuntimeService                   : Ready
odmDecisionServerRuntimeZenIntegration            : Ready
 
#################################################################################
End Time: Mon Aug 4 11:33:15 CEST 2026
CP4BA Service Completed in 15 seconds
#################################################################################

3.2 Validate and configure the Silver topology using ODM checks

The next sections will illustrate on a sample Silver topology, what would the post-install validation scripts look like. This script is located in the Decision Community blog. 
3.2.1 — Check pods

Verify that all expected ODM pods are in the Running state in each namespace.

Expected result: Authoring contains Decision Center, Decision Runner, and Decision Server Console pods. Sandbox and Production contain Decision Server Runtime and Decision Server Console pods.

Authoring decision pods

Pod Ready Status
authoring-odm-decisioncenter-79bf4db679-442hp 1/1 ● Running
authoring-odm-decisioncenter-79bf4db679-h94gv 1/1 ● Running
authoring-odm-decisionrunner-5f654b7b5-58lch 1/1 ● Running
authoring-odm-decisionrunner-5f654b7b5-l7jd7 1/1 ● Running
authoring-odm-decisionserverconsole-6fc48ccd94-l2kd2 1/1 ● Running

Sandbox decision pods

Pod Ready Status
sandbox-odm-decisionserverconsole-5846d7d978-kn6sq 1/1 ● Running
sandbox-odm-decisionserverruntime-78bddd5b59-qb7rg 1/1 ● Running

Production decision pods

Pod Ready Status
production-odm-decisionserverconsole-bb46966b7-948gk 1/1 ● Running
production-odm-decisionserverruntime-5f6d66d6bd-4dgsm 1/1 ● Running
production-odm-decisionserverruntime-5f6d66d6bd-96mww 1/1 ● Running
production-odm-decisionserverruntime-5f6d66d6bd-c9542 1/1 ● Running
3.2.2 — Check LDAP and Zen access
Default administrator

The default user with Administrator role is cpadmin. One can find its password in a dedicated secret:
ibm-iam-bindinfo-platform-auth-idp-credentials

With those credentials, try and log in CPD route. The cpadmin user should land in the Zen homepage.

image

The cpadmin user successfully logged in to the Zen homepage.

Access configuration required

At this stage, cpadmin does not have any access to ODM endpoints. The ODM permissions are managed via the Zen UI, one need to configure the proper permissions for this user.

Assign the ODM roles to cpadmin

  1. Log to Zen homepage with cpadmin.
  2. Browse the Navigation menu > Administration > Access control.
  3. In Users tab, select cpadmin, and assign roles:
    • ODM Administrator
    • ODM Runtime administrator
  4. Reconnect to the Zen homepage to benefit from the new permissions.
Related documentation
Expected result

Now, the cpadmin user has access to ODM endpoints.
image
ODM endpoints available to the cpadmin user after role assignment.
Repeat for all Silver environments
  • Repeat this operation on each Silver deployment: Authoring, Sandbox and Production.
  • Repeat this operation for each LDAP user or group in ZEN order to set the proper permissions.
3.2.3 — Check Basic Authentication users

By default, a basic registry with the following users is provided in the form of a webSecurity.xml file: 

  • resExecutor to execute rules on the Decision Server Runtime 

  • odmAdmin to execute REST API calls on Decision Center and Decision Server Console 

For more information, refer to Optional user access configurations. 

On each of the Silver deployment, one can check that the basic authentication is functional with the following steps. 

Validate the predefined Basic Authentication users such as  and .

REST API checks
# Authoring
url=$(oc get routes cpd -o jsonpath={{.spec.host}} -n <authoring_namespace>)
curl -Ik -u odmAdmin:odmAdmin https://${{url}}/odm/decisioncenter-api/v1/repository/metrics
curl -Ik -u odmAdmin:odmAdmin https://${{url}}/odm/res/api/v1/utilities/consoleinfo

# Sandbox
urlsand=$(oc get routes cpd -o jsonpath={{.spec.host}} -n <sandbox_namespace>)
curl -Ik -u odmAdmin:odmAdmin https://${{urlsand}}/odm/res/api/v1/utilities/consoleinfo

# Production
urlprod=$(oc get routes cpd -o jsonpath={{.spec.host}} -n <production_namespace>)
curl -Ik -u odmAdmin:odmAdmin https://${{urlprod}}/odm/res/api/v1/utilities/consoleinfo
Expected response: HTTP/1.1 200 OK.
3.2.4 — Run Decision Center diagnostics

This step is only applying to the Authoring environment. It can be performed by log in to the Decision Center deployed in the Authoring environment with cpadmin. 

3.2.5 — Run Decision Server Console diagnostics

This step applies to each environment. It can be performed by log in to the Decision Server Console deployed in each environment with cpadmin. 

3.2.6 — Test the Authoring connection to Decision Runner

This step consists in testing the Decision Runner deployed in the Authoring environment.  

First, we test the “Test and Simulation Execution” server: 

  1. Log on to the Decision Center Console using a user cpadmin 

  1. Click the Administration > Servers tab. 

  1. Test Server Test and Simulation Execution” by clicking on the button: 

Then, we execute a test suite by running the section “Ruleset Test & Simulation ” of our dedicated blog post: community How do I validate my ODM topology with CP4BA 26.0.0?  

Expected result: The test report reaches 100% success.
3.2.7 — Configure the Authoring connection to Sandbox

For the Silver topologies, you must configure and validate your Authoring environment to be able to establish connections to publish Decision Services to the Sandbox 

By default, a secured connection between Decision Center in Authoring environment to Decision Server Console in another environment, leads to an error like the following one: 

Common error: javax.net.ssl.SSLHandshakeException: Path does not chain with any of the trust anchors.

To overcome this issue, you need to import the certificate of Sandbox environment to Authoring environment. Here are the steps: 

  1. Extract the Decision Server console certificate by downloading it from the Sandbox Decision Server console using a browser. 

  1. Create a new secret in Authoring namespace (key=tls.crt with cert content):  

oc create secret generic sandbox-env-secret \
--from-file=tls.crt=<your_path>/cpd.pem \
-n <authoring_namespace>
  1. In the ICP4ACluster deployment YAML configuration of your Authoring environment, specify this secret as a trusted certificate in the spec.shared_configuration.trusted_certificate_list parameter. Save the changes. 

shared_configuration:
  trusted_certificate_list:
    - sandbox-env-secret
  1. Wait for a couple of reconcile loops of the CP4BA operator and that the ODM pods are restarted.  

  • Tips: You can scale down CP4BA operator and scale it back up to fasten the reconciliation. 

  1. Check in the log of new DC pods that the production environment certificate is added to the keystore: 

Importing trusted certificates  
 
[Storing /config/security/truststore.jks] 
Importing trusted certificates ./my-prod-env-secret/tls.crt 
Certificate was added to keystore

3.2.8 — Test deployment from Authoring to Sandbox

This step consists in testing the deployment from the Authoring environment (Decision Center) to Sandbox Decision Server Console. 

First, we need to add a Deployment server to establish this connection. We start with creating a server “RES Sandbox” for the user cpadmin by following the section “Configure and test your environment connections” of our dedicated blog post: community How do I validate my ODM topology with CP4BA 26.0.0?  

Then, we make a deployment to “Res Sandbox” of the decision imported in section 3.2.6 of the current article. And, last but not least, we make a local execution by following the Step 4 of ODM tutorial: https://github.com/DecisionsDev/odm-for-container-getting-started/blob/master/doc/topics/tut_icp_gs_test_ruleset_lsn.md#task-4-exploring-and-testing-the-ruleset  

3.2.9 — Test the Production environment

For the Silver topologies, it is likely to have a CI/CD in place so that the ruleset promotion follow a specific flow. In such a topology, a ruleset would be edited, built and tested in Decision Center ( Authoring environment), then deployed and tested in the Sandbox, and finally, pushed to Production. 

For more information about setting up a CI/CD, check this blog entry: https://www.linkedin.com/pulse/building-automated-cicd-pipelines-ibm-odm-peter-warde/ 

Important: until you have a CI/CD in place, to publish directly from the Authoring environment (Decision Center) to the Production environment (Decision Server Console), you must import the certificate of the Production environment to the Authoring environment. To do so, follow the same steps as in section “3.2.7 Configure your Authoring environment connection to Sandbox Decision Server Console”. 

In this section, we need to make sure that the deployed and tested ruleapp in section 3.2.8, can be executed in Production 

  1. Log on to the Sandbox Decision Server Console using a user cpadmin with credentials retrieved in section 3.2.2 

  1. Click Server Info tab to open the “Server Info” view 

  1. Click “Backup RuleApps” to export the local data 

  1. Log on to the Production Decision Server Console using a user cpadmin with credentials retrieved in section 3.2.2 

  1. Click the Explorer tab to open the “RuleApps view 

  1. Click “Deploy RuleApp Archive”, and browse the zip generated in previous step 

  1. Click Deploy with the default options 

The RuleApp is now in the Production Decision Server Console, and can be tested. For a local execution, follow the Step 4 of ODM tutorial: https://github.com/DecisionsDev/odm-for-container-getting-started/blob/master/doc/topics/tut_icp_gs_test_ruleset_lsn.md#task-4-exploring-and-testing-the-ruleset  

NB: This validation procedure is only to be done once, it ensure that your Production environment is fully functional before starting to use it. 

3.3 Completing post-installation tasks for Operational Decision Manager

3.3.1 Identifying the services

Each Operational Decision Manager component that you deploy is exposed by a service to let external clients reach the component. 

There are two ways to get the details to access the services. 

Using the post-install script, ./cp4a-post-install.sh --Console (located in the CASE package). 

Output example of the Authoring environment service details from script execution:  

Authoring service details

###################################################################################
                              Running CP4BA Post install Service
####################################################################################
 
Start time : Tue Aug 4 10:20:10 CEST 2026
 
Checking OS before continuing on
################################################################
Linux is being used
 
Validate OCP Access
################################################################
✔ PASSED Access to cluster via oc command
 
Cluster name                                      : <my_ocp_cluster>
Cluster version                                   : 4.18.49
Console URL                                       : https://console-openshift-console.apps.<my_ocp_cluster>.<my_company>.com
Logged in as user                                 : <my_admin>
Using namespace                                   : dba2600topoauth
Deployment name                                   : authoring
Deployment type                                   : Production
OLM deployment                                    : false
Deployment patterns                               : foundation,decisions,decisions_ads
Optional components                               : decisionCenter,decisionRunner
 
Service Console - Common
################################################################
Cloud Pak Common Dashboard                        : https://cpd-dba2600topoauth.apps.<my_ocp_cluster>.<my_company>.com
cpd-dba2600topoauth.apps.<my_ocp_cluster>.<my_company>.com
Admin Username                                    : <my_admin>
Admin Password                                    : *****
 
Service Console
################################################################
Cloud Pak for Business Automation Dashboard       : https://cpd-dba2600topoauth.apps.<my_ocp_cluster>.<my_company>.com
Admin Username                                    : cpadmin
Admin Password                                    : *****
Decisions Admin Username                          : Located in your LDAP Sever
Decisions Admin Password                          : Located in your LDAP Sever
Decisions Admin Zen API Key                       : *****
 
ODM - Operational Decision Manager Console
################################################################
Username                                          : cpadmin
Password                                          : *****
Decisions Admin Username                          : Located in your LDAP Sever
Decisions Admin Password                          : Located in your LDAP Sever
Decision Center                                   : https://cpd-dba2600topoauth.apps.<my_ocp_cluster>.<my_company>.com/odm/decisioncenter
Decisions Trust Store URL                         : https://cpd-dba2600topoauth.apps.<my_ocp_cluster>.<my_company>.com/odm/decisioncenter/assets/truststore.jks
Decision Runner                                   : https://cpd-dba2600topoauth.apps.<my_ocp_cluster>.<my_company>.com/odm/DecisionRunner
Decision Server Console                           : https://cpd-dba2600topoauth.apps.<my_ocp_cluster>.<my_company>.com/odm/res
 
####################################################################################
End Time: Tue Aug 4 10:20:25 CEST 2026
CP4BA Service Completed in 15 seconds
##############################################################################################

Sandbox service details

####################################################################################
                              Running CP4BA Post install Service
####################################################################################
 
Start time : Tue Aug 4 11:28:11 CEST 2026
 
Checking OS before continuing on
################################################################
Linux is being used
 
Validate OCP Access
################################################################
✔ PASSED Access to cluster via oc command
 
Cluster name                                      : <my_ocp_cluster>
Cluster version                                   : 4.18.49
Console URL                                       : https://console-openshift-console.apps.<my_ocp_cluster>.<my_company>.com
Logged in as user                                 : <my_admin>
Using namespace                                   : dba2600toposand
Deployment name                                   : sandbox
Deployment type                                   : Production
OLM deployment                                    : false
Deployment patterns                               : foundation,decisions,decisions_ads
Optional components                               : decisionServerRuntime
 
Service Console - Common
################################################################
Cloud Pak Common Dashboard                        : https://cpd-dba2600toposand.apps.<my_ocp_cluster>.<my_company>.com
cpd-dba2600toposand.apps.<my_ocp_cluster>.<my_company>.com
Admin Username                                    : cpadmin
Admin Password                                    : *****
 
Service Console
################################################################
Cloud Pak for Business Automation Dashboard       : https://cpd-dba2600toposand.apps.<my_ocp_cluster>.<my_company>.com
Admin Username                                    : cpadmin
Admin Password                                    : *****
Decisions Admin Username                          : Located in your LDAP Sever
Decisions Admin Password                          : Located in your LDAP Sever
Decisions Admin Zen API Key                       :
 
ODM - Operational Decision Manager Console
################################################################
Username                                          : cpadmin
Password                                          : *****
Decisions Admin Username                          : Located in your LDAP Sever
Decisions Admin Password                          : Located in your LDAP Sever
Decisions Trust Store URL                         : /assets/truststore.jks
Decision Server Console                           : https://cpd-dba2600toposand.apps.<my_ocp_cluster>.<my_company>.com/odm/res
Decision Server Runtime                           : https://cpd-dba2600toposand.apps.<my_ocp_cluster>.<my_company>.com/odm/DecisionService
 
####################################################################################
End Time: Tue Aug 4 11:28:28 CEST 2026
CP4BA Service Completed in 17 seconds
####################################################################################

Production service details

####################################################################################
                              Running CP4BA Post install Service
####################################################################################
 
Start time : Tue Aug 4 11:33:21 CEST 2026
 
Checking OS before continuing on
################################################################
Linux is being used
 
Validate OCP Access
################################################################
✔ PASSED Access to cluster via oc command
 
Cluster name                                      : <my_ocp_cluster>
Cluster version                                   : 4.18.49
Console URL                                       : https://console-openshift-console.apps.<my_ocp_cluster>.<my_company>.com
Logged in as user                                 : <my_admin>
Using namespace                                   : dba2600topoprod
Deployment name                                   : production
Deployment type                                   : Production
OLM deployment                                    : false
Deployment patterns                               : foundation,decisions,decisions_ads
Optional components                               : decisionServerRuntime
 
Service Console - Common
################################################################
Cloud Pak Common Dashboard                        : https://cpd-dba2600topoprod.apps.<my_ocp_cluster>.<my_company>.com
cpd-dba2600topoprod.apps.<my_ocp_cluster>.<my_company>.com
Admin Username                                    : cpadmin
Admin Password                                    : *****
 
Service Console
################################################################
Cloud Pak for Business Automation Dashboard       : https://cpd-dba2600topoprod.apps.<my_ocp_cluster>.<my_company>.com
Admin Username                                    : cpadmin
Admin Password                                    : *****
Decisions Admin Username                          : Located in your LDAP Sever
Decisions Admin Password                          : Located in your LDAP Sever
Decisions Admin Zen API Key                       : *****
 
ODM - Operational Decision Manager Console
################################################################
Username                                          : cpadmin
Password                                          : *****
Decisions Admin Username                          : Located in your LDAP Sever
Decisions Admin Password                          : Located in your LDAP Sever
Decisions Trust Store URL                         : /assets/truststore.jks
Decision Server Console                           : https://cpd-dba2600topoprod.apps.<my_ocp_cluster>.<my_company>.com/odm/res
Decision Server Runtime                           : https://cpd-dba2600topoprod.apps.<my_ocp_cluster>.<my_company>.com/odm/DecisionService
 
####################################################################################
End Time: Tue Aug 4 11:33:35 CEST 2026
CP4BA Service Completed in 14 seconds
##############################################################################################

Using the Cloud Pak documentation entry, Identifying the services. 

3.3.2 Configuring Rule Designer

As a rule developer, you work in Rule Designer to create a decision service. You define a XOM and set up a vocabulary to author and orchestrate the rules that implement your business logic. You must install Rule Designer into an existing Eclipse. 

To be able to securely connect your Rule Designer to the Decision Server and Decision Center components that are running in an OCP cluster, you need to establish a Transport Layer Security (TLS) connection through a security certificate. For more information, see Importing a security certificate in Rule Designer. 

[Optional] You need to configure proxy servers in Rule Designer if you use an HTTP proxy to connect to Decision Server or Decision Center. For more information, see Configuring proxy servers in Rule Designer. 

ODM Silver topology deployment completed

After all environments are deployed, connected, and validated, the topology is ready for decision authoring, testing, ruleset promotion, and production execution.

#OperationalDecisionManager #topology #businessrules #CloudPakforBusinessAutomation

0 comments
15 views

Permalink