Saturday, 30 July 2016

IBM Operational Decision Management 8.8.1 - My First Foray

I'm writing a post on how I built an IBM ODM Rules environment using the latest ODM Advanced 8.8.1 code.

However, I hit a minor blocker early on, with this: -

configure:
  [wsadmin] WASX7209I: Connected to process "dmgr" on node Dmgr using SOAP connector;  The type of process is: DeploymentManager
  [wsadmin] WASX7303I: The following options are passed to the scripting environment and are available as arguments that are stored in the argv variable: "[/opt/IBM/ODM881, /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin/rules, /home/wasadmin/configureDSCluster.properties, Node1]"
  [wsadmin] GBRPT0028I: Jython scripts are in /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin/rules
  [wsadmin] WebSphere 8.5 detected (8.5.5.5)
  [wsadmin] GBRPT0026I: Loading properties file name /home/wasadmin/configureDSCluster.properties
  [wsadmin] WASX7017E: Exception received while running file "/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin/rules/configureDSRulesNetworkDeployer.py"; exception information: com.ibm.bsf.BSFException: exception from Jython:
  [wsadmin] Traceback (innermost last):
  [wsadmin]   File "<string>", line 133, in ?
  [wsadmin]   File "<string>", line 44, in doIt
  [wsadmin]   File "<string>", line 119, in checkAndGetProperyValue
  [wsadmin] RuntimeError: GBRPC0029E: The key wodm.dsrules.rulesMgrServerName is not present in the specified properties file
  [wsadmin] Java Result: 105

BUILD SUCCESSFUL
Total time: 32 seconds
whilst creating a Decision Server ( Rule Execution Server ) cluster: -

export ODM_HOME=/opt/IBM/ODM881/
/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin/configureDSCluster.sh -dmgrAdminUsername wasadmin -dmgrAdminPassword passw0rd -clusterPropertiesFile ~/configureDSCluster.properties -targetNodeName Node1 -dmgrHostName `hostname` -dmgrPort 8879


As is often the case, the error was mine ….

I was ASSUMING that I could use a similar script - configureDSCluster.properties - for this new 8.8.1 installation, having used the same for the past few versions of ODM, including 8.6 and 8.7.

Alas ….

The error was fairly clear: -

<snip>
  [wsadmin] RuntimeError: GBRPC0029E: The key wodm.dsrules.rulesMgrServerName is not present in the specified properties file
</snip>

When I compared / contrasted my configureDSCluster.properties file with the sample that comes with the product: -

/opt/IBM/ODM881/shared/profiles/profileTemplates/rules/management/ds/documents/bin/rules/configureDSCluster.properties

I saw that I was missing a line: -

wodm.dsrules.rulesMgrServerName=RulesMgrSrv

Once I added it into my own response file: -

configureDSCluster.properties 
wodm.dsrules.clusterName=DecisionServerCluster
wodm.virtualhost.name=default_host
wodm.dsrules.rulesMgrServerName=RulesMgrSrv
wodm.dsrules.db.type=DB2
wodm.dsrules.db.jdbcDriverPath=/opt/IBM/WebSphere/AppServer/ODMjdbcdrivers/DB2/
wodm.dsrules.db.name=RESDB
wodm.dsrules.db.hostname=db2.uk.ibm.com
wodm.dsrules.db.port=60006
wodm.dsrules.db.user=db2user1
wodm.dsrules.db.password=passw0rd


and reran the cluster create process: -

/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin/configureDSCluster.sh -dmgrAdminUsername wasadmin -dmgrAdminPassword passw0rd -clusterPropertiesFile ~/configureDSCluster.properties -targetNodeName Node1 -dmgrHostName `hostname` -dmgrPort 8879

it just worked: -

...
  [wsadmin] GBRPC0013I: Synchronization done.
  [wsadmin] GBRPC0028I: The cluster is up and running!

BUILD SUCCESSFUL
Total time: 6 minutes 55 seconds

...

#LifeIsGood

No comments:

Note to self - use kubectl to query images in a pod or deployment

In both cases, we use JSON ... For a deployment, we can do this: - kubectl get deployment foobar --namespace snafu --output jsonpath="{...