Thursday 30 April 2015

IBM Business Process Manager security overview

Another useful link via @IBM_BPM 

<snip>
IBM® Business Process Manager is based on Java™ Platform, Enterprise Edition (Java EE) and is delivered largely through HTTP protocols. As a result, IBM Business Process Manager has the same security requirements as any other Java EE application.

IBM Business Process Manager defines a fine-grained authorization model that uses groups, roles, and teams.
</snip>




Tuesday 28 April 2015

PLGC0049E: Propagation of the plug-in configuration file has failed for the Web server

If you get exceptions such as: -

PLGC0049E: Propagation of the plug-in configuration file has failed for the Web server

when trying to propagate the WebSphere Plugin configuration file from the WAS cell ( via the Deployment Manager ) to the IHS server, check that the Node Agent is running :-)

In my case, I have an unmanaged node ( so IHS is on the same "box" as the WAS Node Agent, and I am NOT running the IHS management server - apachectl ), and I'm using Jython to generate and propagate the Plugin configuration file ( plugin-cfg.xml ) and the TLS keyring: -

cellID=AdminControl.getCell()

AdminControl.invoke('WebSphere:name=PluginCfgGenerator,process=dmgr,platform=common,node=Dmgr,version=8.5.5.5,type=PluginCfgGenerator,mbeanIdentifier=PluginCfgGenerator,cell='+cellID+',spec=1.0', 'generate', '[/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/config '+cellID+' Node1 webserver1 false]', '[java.lang.String java.lang.String java.lang.String java.lang.String java.lang.Boolean]')

AdminControl.invoke('WebSphere:name=PluginCfgGenerator,process=dmgr,platform=common,node=Dmgr,version=8.5.5.5,type=PluginCfgGenerator,mbeanIdentifier=PluginCfgGenerator,cell='+cellID+',spec=1.0', 'propagate', '[/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/config '+cellID+' Node1 webserver1]', '[java.lang.String java.lang.String java.lang.String java.lang.String]')

AdminControl.invoke('WebSphere:name=PluginCfgGenerator,process=dmgr,platform=common,node=Dmgr ,version=8.5.5.5,type=PluginCfgGenerator,mbeanIdentifier=PluginCfgGenerator,cell='+cellID+',spec=1.0', 'propagateKeyring', '[/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/config localhostCell01 ihsNode1 webserver1]', '[java.lang.String java.lang.String java.lang.String java.lang.String]')

For the record, these were the exceptions that I was seeing in the Deployment Manager's SystemOut.log: -

[28/04/15 11:43:06:194 BST] 000000cd SystemOut     O PLGC0062I: The plug-in configuration file is propagated from /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/config/cells/PCCell1/nodes/Node1/servers/webserver1/plugin-cfg.xml to /opt/IBM/WebSphere/Plugins/config/webserver1/plugin-cfg.xml on the Web server computer.
[28/04/15 11:43:06:195 BST] 000000cd SystemOut     O PLGC0048I: The propagation of the plug-in configuration file is complete for the Web server. PCCell1.Node1.webserver1.
[28/04/15 11:43:06:195 BST] 000000cd SystemOut     O PLGC0063E: The propagation of the plug-in configuration file from /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/config/cells/PCCell1/nodes/Node1/servers/webserver1/plugin-cfg.xml to /opt/IBM/WebSphere/Plugins/config/webserver1/plugin-cfg.xml on the Web server computer failed.
[28/04/15 11:43:06:195 BST] 000000cd SystemOut     O PLGC0049E: The propagation of the plug-in configuration file failed for the Web server. PCCell1.Node1.webserver1.
[28/04/15 11:43:06:196 BST] 000000cd MBeanHelper   E   Could not invoke an operation on object: WebSphere:name=PluginCfgGenerator,process=dmgr,platform=common,node=Dmgr,version=8.5.5.5,type=PluginCfgGenerator,mbeanIdentifier=PluginCfgGenerator,cell=PCCell1,spec=1.0 because of an mbean exception: com.ibm.websphere.plugincfg.exception.PluginConfigException: Applicaton centric propagation did not complete successfully: null
[28/04/15 11:50:31:123 BST] 000000cf SystemOut     O PLGC0062I: The plug-in configuration file is propagated from /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/config/cells/PCCell1/nodes/Node1/servers/webserver1/plugin-cfg.xml to /opt/IBM/WebSphere/Plugins/config/webserver1/plugin-cfg.xml on the Web server computer.
[28/04/15 11:50:31:124 BST] 000000cf SystemOut     O PLGC0048I: The propagation of the plug-in configuration file is complete for the Web server. PCCell1.Node1.webserver1.
[28/04/15 11:50:31:127 BST] 000000cf SystemOut     O PLGC0063E: The propagation of the plug-in configuration file from /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/config/cells/PCCell1/nodes/Node1/servers/webserver1/plugin-cfg.xml to /opt/IBM/WebSphere/Plugins/config/webserver1/plugin-cfg.xml on the Web server computer failed.
[28/04/15 11:50:31:127 BST] 000000cf SystemOut     O PLGC0049E: The propagation of the plug-in configuration file failed for the Web server. PCCell1.Node1.webserver1.
[28/04/15 11:50:31:129 BST] 000000cf MBeanHelper   E   Could not invoke an operation on object: WebSphere:name=PluginCfgGenerator,process=dmgr,platform=common,node=Dmgr,version=8.5.5.5,type=PluginCfgGenerator,mbeanIdentifier=PluginCfgGenerator,cell=PCCell1,spec=1.0 because of an mbean exception: com.ibm.websphere.plugincfg.exception.PluginConfigException: Applicaton centric propagation did not complete successfully: null

Saturday 18 April 2015

The WebSphere Contrarian: Are you getting the most out of virtualization?

This popped up via IBM developerWorks on Twitter - @developerWorks: -

Much has happened in the area of virtualization since the topic was first discussed in this column, so this is a good time to revisit (or re-introduce) virtualization and all its flavors to help you determine which type of virtualization could benefit your organization the most, and how to make it the most effective. This content is part of the IBM WebSphere Developer Technical Journal.

Wednesday 15 April 2015

How to manually generate a Heapdump in WebSphere on Windows

Problem(Abstract)

How to generate a heapdump without waiting for an OutOfMemoryError condition to occur.

Resolving the problem

Occasionally a heapdump needs to be generated without waiting for an OutOfMemoryError condition to occur. 

For example: an OutOfMemoryError will probably cause a system outage. On a production system this is not a desired event. If we manually create a heapdump before the OutOfMemoryError generates one, then the application server can be recycled and we will get a heapdump without an unscheduled outage. 

The manually generated heapdump will not be as useful as one which was generated by an OutOfMemoryError, but sometimes it can be of some use. The longer we can wait before generating the heapdump, the more likely the heapdump will contain the objects causing the OutOfMemory. If the heapdump is generated too soon, the largest memory user is not likely to be the same largest memory user when the heap is completely full.



IBM Business Monitor - Yet more on Cognos dependencies

This follows an earlier post: -


I saw a similar issue: -

Caused by: java.lang.UnsatisfiedLinkError: JCAM_Crypto_JNI (libCCLCore.so: cannot open shared object file: No such file or directory)

with Cognos 10.2.2 underlying IBM Business Monitor 8.5.6, during an installation on Red Hat Enterprise Linux 6.6 earlier today.

I went through the same problem determination regime as described in my earlier blog post, and found that the missing link was libstdc++.so.6.

Therefore, the solution was the same: -

yum install -y libstdc++.so.6 

which returned: -

...
Running Transaction
Installing : libstdc++-4.4.7-11.el6.i686 1/1 
Verifying : libstdc++-4.4.7-11.el6.i686 1/1 

Installed:
libstdc++.i686 0:4.4.7-11.el6 

Complete!

….

and all was then well.

IBM BPM - SCA and BPEL

This is something that I've recently added to my reading list.

It's by an IBM colleague, Mr Kim Clark Esq., and dates from 2010.

However, it's directly relevant to my current project, in the context of Long-Running and Straight Through business processing, hosted on IBM Business Process Manager Advanced 8.5.5.

I really really need to learn this stuff: -




and also this: -

Atomicity
Consistency
Isolation
Durability

Tuesday 14 April 2015

IBM Business Monitor 8.5.6 on Red Hat Enterprise Linux 6.6 - Forked

Again, THIS is why I blog.

One of my colleagues saw issues with IBM Business Monitor 8.5.6 on a Red Hat Enterprise Linux 6.6 VM, including core dumps and OutOfMemory exceptions.

Given that I'd created the base VM, and also installed all of the IBM middleware components ( this is for an enablement event that we're co-delivering next week ), I wanted to get to the bottom of it.

I took his build notes, and went through the same process.

And I saw much the same thing, specifically: -

[4/14/15 20:06:37:172 BST] 00000001 ContainerHelp E   WSVR0102E: An error occurred stopping, com.ibm.ws.xs.httpsession.component.SessionListenerComponentImpl@907b28b4
java.lang.OutOfMemoryError: Failed to create a thread: retVal -1073741830, errno 11

[14/04/15 20:30:24:939 BST] 00000001 CommandMgr    E   ADMF0008E: Command Framework failed to initialize or cannot create CommandMgr in server mode. Root cause is java.lang.OutOfMemoryError: Failed to create a thread: retVal -1073741830, errno 11

in the AppClusterMember's SystemOut.log and: -

JVMDUMP039I Processing dump event "systhrow", detail "java/lang/OutOfMemoryError" at 2015/04/14 20:29:55 - please wait.
JVMDUMP032I JVM requested System dump using '/opt/IBM/WebSphere/AppServer/profiles/BAMCell1AppSrv01/core.20150414.202955.3420.0001.dmp' in response to an event
JVMDUMP012E Error in System dump: insufficient system resources to generate dump, errno=11 "Resource temporarily unavailable"
JVMDUMP032I JVM requested Heap dump using '/opt/IBM/WebSphere/AppServer/profiles/BAMCell1AppSrv01/heapdump.20150414.202955.3420.0002.phd' in response to an event
JVMDUMP010I Heap dump written to /opt/IBM/WebSphere/AppServer/profiles/BAMCell1AppSrv01/heapdump.20150414.202955.3420.0002.phd
JVMDUMP032I JVM requested Java dump using '/opt/IBM/WebSphere/AppServer/profiles/BAMCell1AppSrv01/javacore.20150414.202955.3420.0003.txt' in response to an event
JVMDUMP010I Java dump written to /opt/IBM/WebSphere/AppServer/profiles/BAMCell1AppSrv01/javacore.20150414.202955.3420.0003.txt
JVMDUMP032I JVM requested Snap dump using '/opt/IBM/WebSphere/AppServer/profiles/BAMCell1AppSrv01/Snap.20150414.202955.3420.0004.trc' in response to an event
UTE001: Error starting trace thread for "Snap Dump Thread": -1
JVMDUMP010I Snap dump written to /opt/IBM/WebSphere/AppServer/profiles/BAMCell1AppSrv01/Snap.20150414.202955.3420.0004.trc


in the Node Agent's native_stderr.log.

Interestingly, I also saw this: -

tail -f SystemOut.log

-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
bash: fork: retry: Resource temporarily unavailable
-bash: fork: Resource temporarily unavailable

which immediately reminded me of not one BUT two blog posts from last year: -



at which point I thought …. ah, yes, about those ulimits :-)

I referred back to an older set of notes, and found this: -

Need to ensure ulimits  are set: -

Increase: -

open files                      (-n) 10240
max user processes              (-u) 1024


to: -

open files                      (-n) 65536
max user processes              (-u) 16384


as follows: -

Add: -

# - nofile - max number of open files
wasadmin   soft    nofile  65536
wasadmin   hard    nofile  65536

# - nproc - max number of processes
wasadmin   soft    nproc   16384
wasadmin   hard    nproc   16384

to: -

/etc/security/limits.d/90-nproc.conf

Once I did this, and rebooted, everything came up ( not smelling of roses, but working A-OK ), which is nice.

Guess what I've added to my VM template ready for next week ??

Sunday 12 April 2015

Learn the workings of Git, not just the commands

This: -

Learn the workings of Git, not just the commands

When you come from using a classical source code repository like Concurrent Versions System (CVS) or Subversion (SVN), it can be difficult to understand the flexibility and the possibilities of Git. This article tries to explain the workings of Git and how it all fits together, so you don't have to try to remember the commands, but instead just know what to do because you understand it well.

via IBM developerWorks on Twitter.

Thursday 9 April 2015

IBM AIX commands you should not leave home without

Saw this via Twitter: -

Do you ever wish you could answer some of your own questions when you work with IBM AIX® and your IBM Power Systems™ server? Do you ever feel you could save time by not having to call on the support professionals all the time? Well, wish no more. Shiv Dutta discusses some of the AIX commands that answer those questions and tells you how to enlarge the list of such answers.

MQOPEN ended with reason code 2085 - WebSphere MQ and Clustered Queues

I hit this problem earlier today: -

/opt/ibm/mqm/usr/mqm/samp/bin/amqsput ESB.TO.BPM.CLQ ESB1.DEV1

Sample AMQSPUT0 start
target queue is ESB.TO.BPM.CLQ
MQOPEN ended with reason code 2085
unable to open queue for output
Sample AMQSPUT0 end


I could see the queue on the Queue Manager local to where I was running the command ( my ESB box, running IIB 9 and MQ 8 ).

However, when I looked more deeply: -

display queue(ESB*)

     1 : display queue(ESB*)

AMQ8409: Display Queue details.

   QUEUE(ESB.TO.BPM.CLQ)               TYPE(QLOCAL)

display queue(ESB.TO.BPM.CLQ)

     2 : display queue(ESB.TO.BPM.CLQ)

AMQ8409: Display Queue details.

   QUEUE(ESB.TO.BPM.CLQ)                   TYPE(QLOCAL)
   ACCTQ(QMGR)                             ALTDATE(2015-04-07)
   ALTTIME(13.28.28)                       BOQNAME( )
   BOTHRESH(0)                             CLUSNL( )
   CLUSTER(UAT1)                           CLCHNAME( )
   CLWLPRTY(0)                             CLWLRANK(0)
   CLWLUSEQ(ANY)                           CRDATE(2015-04-07)
   CRTIME(13.28.28)                        CURDEPTH(0)
   CUSTOM( )                               DEFBIND(NOTFIXED)
   DEFPRTY(0)                              DEFPSIST(YES)
   DEFPRESP(SYNC)                          DEFREADA(NO)
….
 
I could immediately see the problem ….

The cluster to which I was expecting the Queue to belong was called DEV1 and yet the CLUSTER() value above was set to UAT1.

I verified this: -

display CLUSQMGR(*)

     5 : display CLUSQMGR(*)

AMQ8441: Display Cluster Queue Manager details.

   CLUSQMGR(LRPO1.DEV1)                  CHANNEL(DEV1.LRPO1.DEV1)
   CLUSTER(DEV1)

AMQ8441: Display Cluster Queue Manager details.

   CLUSQMGR(REP1.DEV1)                   CHANNEL(DEV1.REP1.DEV1)
   CLUSTER(DEV1)

AMQ8441: Display Cluster Queue Manager details.

   CLUSQMGR(REP2.DEV1)                   CHANNEL(DEV1.REP2.DEV1)
   CLUSTER(DEV1)

which confirmed that the cluster name should indeed be DEV1.

I changed the Queue definition: -
 
alter qlocal(ESB.TO.BPM.CLQ) cluster(DEV1)

and re-tested: -

/opt/ibm/mqm/usr/mqm/samp/bin/amqsput ESB.TO.BPM.CLQ ESB1.DEV1

it responded as I'd expected: -

Sample AMQSPUT0 start
target queue is ESB.TO.BPM.CLQ

Hello BPM from ESB
Sample AMQSPUT0 end

which is nice.

Thanks to this: -


for making me think about the Cluster name within the Queue definition: -

Slide 44 says: -

In order to make a queue visible to the other members of the cluster, it is necessary to ALTER the queue and specify the cluster name:

ALTER QLOCAL(CQ1) CLUSTER('CLUSTER1')

You do a remote PUT into a clustered queue. However, you cannot do a remote GET from a clustered queue.

The GET can ONLY be done from the local queue.


Monday 6 April 2015

hostName: hostName is not a properly formed host name.

I saw this exception earlier: -

hostName: hostName is not a properly formed host name.

when creating a WAS profile: -

/opt/IBM/WebSphere/AppServer/bin/manageprofiles.sh -create -templatePath /opt/IBM/WebSphere/AppServer/profileTemplates/management -profileName Dmgr01 -nodeName Dmgr -isDefault -enableAdminSecurity true -adminUserName wasadmin -adminPassword passw0rd

Initially I was stumped, as the command doesn't specify a hostname.

Then I thought about it …..

…. and looked at the hostname of my server: -

hostname

mta2015_1.uk.ibm.com

and remembered that, whilst instantiating a VM in the cloud earlier, I was told off for using a hostname containing an underscore character.

I changed the hostname to be more in keeping with my target - IBM ODM 8.7 i.e. to: -


and, quelle surprise, all is now well :-)

SQL10003C There are not enough system resources to process the request. The request cannot be processed.

If you see this: -

SQL10003C  There are not enough system resources to process the request.  The request cannot be processed.

when trying to run commands against DB2 e.g. db2level, db2start, db2licm etc. then make one simple check :-)

hostname

mta2015_1.uk.ibm.com

ping `hostname`

PING mta2015_1.uk.ibm.com (192.168.33.129) 56(84) bytes of data.
64 bytes from mta2015_1.uk.ibm.com (192.168.33.129): icmp_seq=1 ttl=64 time=0.020 ms
64 bytes from mta2015_1.uk.ibm.com (192.168.33.129): icmp_seq=2 ttl=64 time=0.099 ms
^C
--- mta2015_1.uk.ibm.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1493ms
rtt min/avg/max/mdev = 0.020/0.059/0.099/0.040 ms

cat /home/db2inst1/sqllib/db2nodes.cfg 

0 mta2015_1.uk.ibm.com 0

It's important that db2nodes.cfg matches the hostname of the server, and that the hostname is resolvable.

I hit this issue having changed my OS hostname AFTER I created my DB2 instance :-)

IBM Operational Decision Manager V8.7.0.1 Fix Pack - More

I blogged about this a few days back: -


and have now had more time to play with the fix pack downloads etc.

Initially, I downloaded the fix packs for Decision Centre ( aka RTS ) and Decision Server ( aka RES ): -


I'm not using the Decision Server for Events component ( formerly WebSphere Business Events ) or the new Decision Server Insights capability.

This resulted in two rather sizeable files: -

-rw-r--r--. 1 db2user1 games 4.1G Apr  6 02:37 8.7.0-WS-ODM_DC-LIN_X86-FP001.zip
-rw-r--r--. 1 db2user1 games 3.4G Apr  6 01:53 8.7.0-WS-ODM_DSR-LIN_X86-FP001.zip

Having unpacked these two files: -

for i in /mnt/hgfs/Software/ODM87/Fixes/8.7.0-WS-ODM_DC-LIN_X86-FP001.zip; do unzip $i -d /mnt/hgfs/Software/Repo/ODM87/Fixes/DC/; done

for i in /mnt/hgfs/Software/ODM87/Fixes/8.7.0-WS-ODM_DSR-LIN_X86-FP001.zip; do unzip $i -d /mnt/hgfs/Software/Repo/ODM87/Fixes/DS/; done

I ended up with this: -

/opt/IBM/InstallationManager/eclipse/tools/imcl listAvailablePackages -repositories /mnt/hgfs/Software/Repo/ODM87/Product/ProfileTemplateDC,/mnt/hgfs/Software/Repo/ODM87/Product/ProfileTemplateRules/,/mnt/hgfs/Software/Repo/ODM87/Fixes/DC/updates,/mnt/hgfs/Software/Repo/ODM87/Fixes/DS//updates

com.ibm.websphere.odm.pt.dc.v87_8.7.0.20141114_1036
com.ibm.websphere.odm.pt.rules.v87_8.7.0.20141114_1039
com.ibm.websphere.odm.dc.v87_8.7.0.20141114_0935
com.ibm.websphere.odm.dc.v87_8.7.1.20150319_2207
com.ibm.websphere.odm.ds.rules.v87_8.7.0.20141114_0949
com.ibm.websphere.odm.ds.rules.v87_8.7.1.20150319_2251


/opt/IBM/InstallationManager/eclipse/tools/imcl listAvailablePackages -repositories /mnt/hgfs/Software/Repo/ODM87/Product/ProfileTemplateDC,/mnt/hgfs/Software/Repo/ODM87/Product/ProfileTemplateRules/,/mnt/hgfs/Software/Repo/ODM87/Fixes/DC/updates,/mnt/hgfs/Software/Repo/ODM87/Fixes/DS//updates -features

com.ibm.websphere.odm.pt.dc.v87_8.7.0.20141114_1036 : main.feature
com.ibm.websphere.odm.pt.rules.v87_8.7.0.20141114_1039 : main.feature
com.ibm.websphere.odm.dc.v87_8.7.0.20141114_0935 : Decision Center,com.ibm.wbdm.dts.tomcat.feature,com.ibm.wbdm.dts.jboss.feature,com.ibm.wbdm.dts.weblogic.feature,com.ibm.wbdm.dts.wlp.feature,Rule Solutions for Office,com.ibm.wdc.rules.samples.feature,Documentation,jdk,base
com.ibm.websphere.odm.dc.v87_8.7.1.20150319_2207 : Decision Center,com.ibm.wbdm.dts.tomcat.feature,com.ibm.wbdm.dts.jboss.feature,com.ibm.wbdm.dts.weblogic.feature,com.ibm.wbdm.dts.wlp.feature,Rule Solutions for Office,com.ibm.wdc.rules.samples.feature,Documentation,jdk,base
com.ibm.websphere.odm.ds.rules.v87_8.7.0.20141114_0949 : com.ibm.wds.jdk.feature,com.ibm.wds.rules.studio.feature,com.ibm.wds.rules.scorecard.feature,com.ibm.wds.rules.res.feature,com.ibm.wds.rules.res.tomcat.feature,com.ibm.wds.rules.res.jboss.feature,com.ibm.wds.rules.res.weblogic.feature,com.ibm.wds.rules.res.wlp.feature,com.ibm.wds.rules.samples.feature,com.ibm.wds.updatesites.feature,com.ibm.wds.doc.feature,base
com.ibm.websphere.odm.ds.rules.v87_8.7.1.20150319_2251 : com.ibm.wds.jdk.feature,com.ibm.wds.rules.studio.feature,com.ibm.wds.rules.scorecard.feature,com.ibm.wds.rules.res.feature,com.ibm.wds.rules.res.tomcat.feature,com.ibm.wds.rules.res.jboss.feature,com.ibm.wds.rules.res.weblogic.feature,com.ibm.wds.rules.res.wlp.feature,com.ibm.wds.rules.samples.feature,com.ibm.wds.updatesites.feature,com.ibm.wds.doc.feature,base

However, this wasn't precisely for what I was looking, as I merely waned the Profile Templates for WebSphere Application Server, whereas the two downloaded fix packs covered the ENTIRE ODM product, suitable for ALL runtimes, not just WAS.

I needed to redo my Fix Central query: -



This gave me 36 files, including: -


which gave me this: -

-rw-r--r--@ 1 davehay  staff   4.0G  6 Apr 02:37 8.7.0-WS-ODM_DC-LIN_X86-FP001.zip
-rw-r--r--@ 1 davehay  staff   3.3G  6 Apr 01:53 8.7.0-WS-ODM_DSR-LIN_X86-FP001.zip
-rw-r--r--@ 1 davehay  staff   445M  6 Apr 07:20 8.7.0-WS-ODM_PTDC-Multi-FP001.zip
-rw-r--r--@ 1 davehay  staff   266M  6 Apr 07:07 8.7.0-WS-ODM_PTR-Multi-FP001.zip

Now I have the correct repositories: -

 /opt/IBM/InstallationManager/eclipse/tools/imcl listAvailablePackages -repositories /mnt/hgfs/Software/Repo/ODM87/Product/ProfileTemplateDC,/mnt/hgfs/Software/Repo/ODM87/Product/ProfileTemplateRules/,/mnt/hgfs/Software/Repo/ODM87/Fixes/DC/updates,/mnt/hgfs/Software/Repo/ODM87/Fixes/DS//updates

com.ibm.websphere.odm.pt.dc.v87_8.7.0.20141114_1036
com.ibm.websphere.odm.pt.rules.v87_8.7.0.20141114_1039
com.ibm.websphere.odm.pt.dc.v87_8.7.0.20141114_1036
com.ibm.websphere.odm.pt.dc.v87_8.7.1.20150320_0033
com.ibm.websphere.odm.pt.rules.v87_8.7.0.20141114_1039
com.ibm.websphere.odm.pt.rules.v87_8.7.1.20150320_0039

/opt/IBM/InstallationManager/eclipse/tools/imcl listAvailablePackages -repositories /mnt/hgfs/Software/Repo/ODM87/Product/ProfileTemplateDC,/mnt/hgfs/Software/Repo/ODM87/Product/ProfileTemplateRules/,/mnt/hgfs/Software/Repo/ODM87/Fixes/DC/updates,/mnt/hgfs/Software/Repo/ODM87/Fixes/DS//updates -features

com.ibm.websphere.odm.pt.dc.v87_8.7.0.20141114_1036 : main.feature
com.ibm.websphere.odm.pt.rules.v87_8.7.0.20141114_1039 : main.feature
com.ibm.websphere.odm.pt.dc.v87_8.7.0.20141114_1036 : main.feature
com.ibm.websphere.odm.pt.dc.v87_8.7.1.20150320_0033 : main.feature
com.ibm.websphere.odm.pt.rules.v87_8.7.0.20141114_1039 : main.feature
com.ibm.websphere.odm.pt.rules.v87_8.7.1.20150320_0039 : main.feature


/opt/IBM/InstallationManager/eclipse/tools/imcl listAvailablePackages -repositories /mnt/hgfs/Software/Repo/ODM87/Product/ProfileTemplateDC,/mnt/hgfs/Software/Repo/ODM87/Product/ProfileTemplateRules/,/mnt/hgfs/Software/Repo/ODM87/Fixes/DC/updates,/mnt/hgfs/Software/Repo/ODM87/Fixes/DS//updates -features -long

/mnt/hgfs/Software/Repo/ODM87/Product/ProfileTemplateDC : com.ibm.websphere.odm.pt.dc.v87_8.7.0.20141114_1036 : Decision Center profile templates for WebSphere Application Server : 8.7.0.0 : main.feature
/mnt/hgfs/Software/Repo/ODM87/Product/ProfileTemplateRules/ : com.ibm.websphere.odm.pt.rules.v87_8.7.0.20141114_1039 : Decision Server Rules profile templates for WebSphere Application Server : 8.7.0.0 : main.feature
/mnt/hgfs/Software/Repo/ODM87/Fixes/DC/updates : com.ibm.websphere.odm.pt.dc.v87_8.7.0.20141114_1036 : Decision Center profile templates for WebSphere Application Server : 8.7.0.0 : main.feature
/mnt/hgfs/Software/Repo/ODM87/Fixes/DC/updates : com.ibm.websphere.odm.pt.dc.v87_8.7.1.20150320_0033 : Decision Center profile templates for WebSphere Application Server : 8.7.0.1 : main.feature
/mnt/hgfs/Software/Repo/ODM87/Fixes/DS//updates : com.ibm.websphere.odm.pt.rules.v87_8.7.0.20141114_1039 : Decision Server Rules profile templates for WebSphere Application Server : 8.7.0.0 : main.feature
/mnt/hgfs/Software/Repo/ODM87/Fixes/DS//updates : com.ibm.websphere.odm.pt.rules.v87_8.7.1.20150320_0039 : Decision Server Rules profile templates for WebSphere Application Server : 8.7.0.1 : main.feature


which is nice.

I installed the combined binaries / fixes using a response file: -

/mnt/hgfs/Software/Repo/IIM/tools/imcl -input ~/installODM87.rsp -acceptLicense

Installed com.ibm.websphere.odm.pt.dc.v87_8.7.1.20150320_0033 to the /opt/IBM/ODM87 directory.
Installed com.ibm.websphere.odm.pt.rules.v87_8.7.1.20150320_0039 to the /opt/IBM/ODM87 directory.


<?xml version='1.0' encoding='UTF-8'?>
<agent-input>
  <variables>
    <variable name="repoPath" value="/mnt/hgfs/Software/Repo"/>
    </variables>
  <server>
    <repository location='${repoPath}/ODM87/Product/ProfileTemplateDC/'/>
    <repository location='${repoPath}/ODM87/Product/ProfileTemplateRules/'/>
    <repository location='${repoPath}/ODM87/Fixes/DC/updates/'/>
    <repository location='${repoPath}/ODM87/Fixes/DS/updates/'/>
  </server>
  <profile id='Operational Decision Manager V8.7' installLocation='/opt/IBM/ODM87'>
    <data key='eclipseLocation' value='/opt/IBM/ODM87'/>
    <data key='user.import.profile' value='false'/>
    <data key='cic.selector.os' value='linux'/>
    <data key='cic.selector.arch' value='x86_64'/>
    <data key='cic.selector.ws' value='gtk'/>
    <data key='cic.selector.nl' value='en'/>
    <data key='user.lic.dsr' value='full'/>
    <data key='user.prod.dsr' value='false'/>
    <data key='user.wodm_was_home' value='/opt/IBM/WebSphere/AppServer'/>
    <data key='user.lic.dsr' value='full'/>
    <data key='user.prod.dsr' value=''/>
    <data key='user.lic.dc' value='full'/>
    <data key='user.wodm_admin_username' value='wasadmin'/>
    <data key='user.wodm_admin_password' value='passw0rd'/>
    <data key='user.confirm_password' value='passw0rd'/>
  </profile>
  <install modify='false'>
    <offering profile='Operational Decision Manager V8.7' id='com.ibm.websphere.odm.pt.dc.v87' version='8.7.1.20150320_0033' features='main.feature' installFixes='none'/>
    <offering profile='Operational Decision Manager V8.7' id='com.ibm.websphere.odm.pt.rules.v87' version='8.7.1.20150320_0039' features='main.feature' installFixes='none'/>
  </install>
  <preference name='com.ibm.cic.common.core.preferences.eclipseCache' value='/opt/IBM/IMShared'/>
  <preference name='com.ibm.cic.common.core.preferences.connectTimeout' value='30'/>
  <preference name='com.ibm.cic.common.core.preferences.readTimeout' value='45'/>
  <preference name='com.ibm.cic.common.core.preferences.downloadAutoRetryCount' value='0'/>
  <preference name='offering.service.repositories.areUsed' value='true'/>
  <preference name='com.ibm.cic.common.core.preferences.ssl.nonsecureMode' value='false'/>
  <preference name='com.ibm.cic.common.core.preferences.http.disablePreemptiveAuthentication' value='false'/>
  <preference name='http.ntlm.auth.kind' value='NTLM'/>
  <preference name='http.ntlm.auth.enableIntegrated.win32' value='true'/>
  <preference name='com.ibm.cic.common.core.preferences.preserveDownloadedArtifacts' value='true'/>
  <preference name='com.ibm.cic.common.core.preferences.keepFetchedFiles' value='false'/>
  <preference name='PassportAdvantageIsEnabled' value='false'/>
  <preference name='com.ibm.cic.common.core.preferences.searchForUpdates' value='false'/>
  <preference name='com.ibm.cic.agent.ui.displayInternalVersion' value='false'/>
  <preference name='com.ibm.cic.common.sharedUI.showErrorLog' value='true'/>
  <preference name='com.ibm.cic.common.sharedUI.showWarningLog' value='true'/>
  <preference name='com.ibm.cic.common.sharedUI.showNoteLog' value='true'/>
</agent-input>


 /opt/IBM/InstallationManager/eclipse/tools/imcl listInstalledPackages

com.ibm.cic.agent_1.8.2000.20150303_1526
com.ibm.bpm.ADV.v85_8.5.6000.20150304_1832
com.ibm.websphere.IBMJAVA.v70_7.0.8010.20150219_1802
com.ibm.websphere.MON.v85_8.5.6000.20150303_1517
com.ibm.websphere.ND.v85_8.5.5005.20150220_0158
com.ibm.ws.cognos.v1022.linuxia64_10.2.2.20150304_1653
com.ibm.websphere.IHS.v85_8.5.5005.20150220_0158
com.ibm.websphere.PLG.v85_8.5.5005.20150220_0158
com.ibm.websphere.odm.pt.dc.v87_8.7.1.20150320_0033
com.ibm.websphere.odm.pt.rules.v87_8.7.1.20150320_0039


which gives me what I need to build out an ODM 8.7 environment.

Friday 3 April 2015

IBM Business Monitor 8.5.6 - Cognos and Linux

I've blogged about this once or twice before, including: -


but here's my most recent experience with Cognos BI 10 on Linux, in the context of IBM Business Monitor 8.5.6 ( aka BAM ).

I again hit my favourite exception: -

Installation of IBM Cognos Business Intelligence has failed.

but used a bit more methodology to find the solution.

From past experience, I knew that the problem was a missing Linux pre-requisite, but wanted to know precisely WHAT was missing.

This is what I did: -

Check the IBM Installation Manager logs after the failure

view ~/var/ibm/InstallationManager/logs/20150403_0838.xml 


<entry num='328' time='1428046860463' elapsed='02:39.02' level='ERROR' thread='Thread-594'>
 <logger>global</logger>
 <class>com.ibm.cognos.exec.Install</class>
 <method>exec</method>
 <message>com.ibm.cognos.exec.Install
Command: [Ljava.lang.String;@9896e5a0
Return code : -1
StdOut :
StdErr : Cannot run program "/opt/IBM/WebSphere/AppServer/CognosImage/linuxi38664h/issetupnx": error=2, No such file or directory</message>
</entry>
<entry num='329' time='1428046860465' elapsed='02:39.03' level='INFO' thread='Worker-0'>
 <logger>com.ibm.cic.agent.core.commonNativeInstallAdapter.AbstractExecInstallOperation</logger>
 <class>com.ibm.cic.agent.core.commonNativeInstallAdapter.InvokeInstallOperation</class>
 <method>doPerform</method>
 <message>
  <key>Custom operation {0} in unit {1} completed</key>
  <arg>Installing IBM Cognos Business Intelligence</arg>
  <arg>cognos.linuxia64.exec</arg>
 </message>
</entry>
<entry num='330' time='1428046860465' elapsed='02:39.03' level='INFO' thread='Worker-0'>
 <logger>com.ibm.cic.agent.core.Engine</logger>
 <class>com.ibm.cic.agent.core.Engine.Phase.IUPhase.IUPhaseSubOperation</class>
 <method>perform</method>
 <message>
  <key>Error occurred in phase: {0}
  SU: {1} {2}
  IU: {3}
  Message: {4}</key>
  <arg>install</arg>
  <arg>com.ibm.cognos.installer.linuxia64</arg>
  <arg>10.2.2.20150304_1653</arg>
  <arg>cognos.linuxia64.exec null-&gt;10.2.2000</arg>
  <arg>Installation of IBM Cognos Business Intelligence has failed.
Return code : -1</arg>
 </message>


Locate the failing program in the BAM installation repository

fgrep -R issetup /mnt/hgfs/Software/Repo/BAM856/Product/repository/COGNOS_64

Binary file /mnt/hgfs/Software/Repo/BAM856/Product/repository/COGNOS_64/native/cognos-linuxia64_10.2.2.zip matches

Extract the archive to a temporary directory

mkdir /tmp/foobar
unzip /mnt/hgfs/Software/Repo/BAM856/Product/repository/COGNOS_64/native/cognos-linuxia64_10.2.2.zip -d /tmp/foobar

Set the executable bit for the failing program

chmod +x /tmp/foobar/linuxi38664h/issetupnx

Test the program - #1

/tmp/foobar/linuxi38664h/issetupnx

-bash: ./issetupnx: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

Install the missing library - #1

yum install -y ld-linux.so.2

Running Transaction
  Installing : glibc-2.12-1.149.el6.i686                                                                                                                                       1/2 
  Installing : nss-softokn-freebl-3.14.3-17.el6.i686                                                                                                                           2/2 
  Verifying  : nss-softokn-freebl-3.14.3-17.el6.i686                                                                                                                           1/2 
  Verifying  : glibc-2.12-1.149.el6.i686                                                                                                                                       2/2 

Installed:
  glibc.i686 0:2.12-1.149.el6                                                                                                                                                      

Dependency Installed:
  nss-softokn-freebl.i686 0:3.14.3-17.el6                                                                                                                                         

Complete!


Test the program - #2

/tmp/foobar/linuxi38664h/issetupnx

./issetupnx: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory

Install the missing library - #2

yum install -y libgcc_s.so.1

Running Transaction
  Installing : libgcc-4.4.7-11.el6.i686                                                                                                                                        1/1 
  Verifying  : libgcc-4.4.7-11.el6.i686                                                                                                                                        1/1 

Installed:
  libgcc.i686 0:4.4.7-11.el6                                                                                                                                                      


Test the program - #3

/tmp/foobar/linuxi38664h/issetupnx

Licensed Materials - Property of IBM, BI and PM: is,
(C) Copyright IBM Corp. 2004, 2014. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
UNIX IBM Cognos InstallStream Version 10.2.2


The executable "issetupnx" may only be run in unattended mode, Please use the "-s" option and try again. 


So that's sorted it then …

However, whilst I was there, I also tested the accompanying program - issetup - which responded thusly: -

/tmp/foobar/linuxi38664h/issetup

/tmp/foobar/linuxi38664h/issetup: error while loading shared libraries: libXm.so.4: cannot open shared object file: No such file or directory

so I installed the missing pre-requisite: -

yum install -y libXm.so.4

...
Running Transaction
  Installing : libICE-1.0.6-1.el6.i686                                                                                                                                        1/19 
  Installing : libXau-1.0.6-4.el6.i686                                                                                                                                        2/19 
  Installing : freetype-2.3.11-14.el6_3.1.i686                                                                                                                                3/19 
  Installing : libxcb-1.9.1-2.el6.i686                                                                                                                                        4/19 
  Installing : libX11-1.6.0-2.2.el6.i686                                                                                                                                      5/19 
  Installing : libXext-1.3.2-2.1.el6.i686                                                                                                                                     6/19 
  Installing : libXp-1.0.2-2.1.el6.i686                                                                                                                                       7/19 
  Installing : libXrender-0.9.8-2.1.el6.i686                                                                                                                                  8/19 
  Installing : zlib-1.2.3-29.el6.i686                                                                                                                                         9/19 
  Installing : 2:libpng-1.2.49-1.el6_2.i686                                                                                                                                  10/19 
  Installing : libuuid-2.17.2-12.18.el6.i686                                                                                                                                 11/19 
  Installing : libSM-1.2.1-2.el6.i686                                                                                                                                        12/19 
  Installing : libXt-1.1.4-6.1.el6.i686                                                                                                                                      13/19 
  Installing : libXmu-1.1.1-2.el6.i686                                                                                                                                       14/19 
  Installing : expat-2.0.1-11.el6_2.i686                                                                                                                                     15/19 
  Installing : fontconfig-2.8.0-5.el6.i686                                                                                                                                   16/19 
  Installing : libXft-2.3.1-2.el6.i686                                                                                                                                       17/19 
  Installing : libjpeg-turbo-1.2.1-3.el6_5.i686                                                                                                                              18/19 
  Installing : openmotif-2.3.3-8.el6.i686                                                                                                                                    19/19 
  Verifying  : libjpeg-turbo-1.2.1-3.el6_5.i686                                                                                                                               1/19 
  Verifying  : libICE-1.0.6-1.el6.i686                                                                                                                                        2/19 
  Verifying  : freetype-2.3.11-14.el6_3.1.i686                                                                                                                                3/19 
  Verifying  : libXext-1.3.2-2.1.el6.i686                                                                                                                                     4/19 
  Verifying  : libXp-1.0.2-2.1.el6.i686                                                                                                                                       5/19 
  Verifying  : libXrender-0.9.8-2.1.el6.i686                                                                                                                                  6/19 
  Verifying  : libXft-2.3.1-2.el6.i686                                                                                                                                        7/19 
  Verifying  : expat-2.0.1-11.el6_2.i686                                                                                                                                      8/19 
  Verifying  : libX11-1.6.0-2.2.el6.i686                                                                                                                                      9/19 
  Verifying  : libuuid-2.17.2-12.18.el6.i686                                                                                                                                 10/19 
  Verifying  : libXt-1.1.4-6.1.el6.i686                                                                                                                                      11/19 
  Verifying  : libSM-1.2.1-2.el6.i686                                                                                                                                        12/19 
  Verifying  : libXau-1.0.6-4.el6.i686                                                                                                                                       13/19 
  Verifying  : 2:libpng-1.2.49-1.el6_2.i686                                                                                                                                  14/19 
  Verifying  : openmotif-2.3.3-8.el6.i686                                                                                                                                    15/19 
  Verifying  : zlib-1.2.3-29.el6.i686                                                                                                                                        16/19 
  Verifying  : fontconfig-2.8.0-5.el6.i686                                                                                                                                   17/19 
  Verifying  : libXmu-1.1.1-2.el6.i686                                                                                                                                       18/19 
  Verifying  : libxcb-1.9.1-2.el6.i686                                                                                                                                       19/19 

Installed:
  openmotif.i686 0:2.3.3-8.el6                                                                                                                                                     

Dependency Installed:
  expat.i686 0:2.0.1-11.el6_2        fontconfig.i686 0:2.8.0-5.el6      freetype.i686 0:2.3.11-14.el6_3.1    libICE.i686 0:1.0.6-1.el6             libSM.i686 0:1.2.1-2.el6       
  libX11.i686 0:1.6.0-2.2.el6        libXau.i686 0:1.0.6-4.el6          libXext.i686 0:1.3.2-2.1.el6         libXft.i686 0:2.3.1-2.el6             libXmu.i686 0:1.1.1-2.el6      
  libXp.i686 0:1.0.2-2.1.el6         libXrender.i686 0:0.9.8-2.1.el6    libXt.i686 0:1.1.4-6.1.el6           libjpeg-turbo.i686 0:1.2.1-3.el6_5    libpng.i686 2:1.2.49-1.el6_2   
  libuuid.i686 0:2.17.2-12.18.el6    libxcb.i686 0:1.9.1-2.el6          zlib.i686 0:1.2.3-29.el6            

Complete!


and re-tested: -

/tmp/foobar/linuxi38664h/issetup

Licensed Materials - Property of IBM, BI and PM: is,
(C) Copyright IBM Corp. 2004, 2014. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
UNIX IBM Cognos InstallStream Version 10.2.2

Reading archive information - /tmp/foobar/linuxi38664h/setup.csp. Please wait...
Error: Can't open display: localhost:10.0


So, I believe, that IS it.

In conclusion, I needed to install three missing libraries, along with their pre- and co-requisites: -

yum install -y ld-linux.so.2
yum install -y libgcc_s.so.1
yum install -y libXm.so.4


which ties up with my expectations and experiences, given that Cognos BI makes use of X11, even when running in the context of WebSphere Application Server.

I will re-test the entire thing later, and report back IF needed.

Wednesday 1 April 2015

For the Record - IBM Business Monitor 8.5.6 with Oracle 12c pluggable database

This popped up in Twitter yesterday, and references a rather excellent developerWorks Answers article: -


I performed this installation on a RHEL 6.6 system with a remote Oracle 12c database and run into several issues. In this article, I wanted to share my installation experience and provide the solutions to the different problems

Visual Studio Code - Wow 🙀

Why did I not know that I can merely hit [cmd] [p]  to bring up a search box allowing me to search my project e.g. a repo cloned from GitHub...