Friday 31 July 2015

VMware Shared Folders - Now why did I not know that ?

I'm digging into VMware Shared Folders using Fusion on one of my Macs.

Specifically, I was trying to work out how to mount a Shared Folder called Repository as /Repository within the Red Hat Enterprise Linux guest, rather than having it appear as /mnt/hgfs/Repository.

Whilst there's nothing wrong with the default, it does tend to get in the way of scripts, and appears inconsistent when compared with a non-Fusion environment.

This article: -


on VMware.com led me here: -

/sbin/mount.vmhgfs -h

Usage: mount.vmhgfs <sharename> <dir> [-o <options>]
Mount the HGFS share, specified by name, to a local directory.
Share name must be in host:dir format.

Options:
  ro                    mount read-only
  rw                    mount read-write
  nosuid                ignore suid/sgid bits
  suid                  allow suid/sgid bits (default)
  uid=<arg>             mount owner (by uid or username)
  gid=<arg>             mount group (by gid or groupname)
  fmask=<arg>           file umask (in octal)
  dmask=<arg>           directory umask (in octal)
  nodev                 prevent device node access
  dev                   allow device node access (default)
  noexec                prevent program execution
  exec                  allow program execution (default)
  sync                  file writes are synchronous
  async                 file writes are asynchronous (default)
  mand                  allow mandatory locks
  nomand                prevent mandatory locks (default)
  noatime               do not update access times
  atime                 update access times (default)
  nodiratime            do not update directory access times
  diratime              update access directory times (default)
  ttl=<arg>             time before file attributes must be
                        revalidated (in seconds). Improves
                        performance but decreases coherency.
                        Defaults to 1 if not set.
  bind                  perform bind mount
  bind                  move an existig mount point
  serverino             Use server generated inode numbers.
  noserverino           Use client generated inode numbers.
  remount               remount already mounted filesystem

This command is intended to be run from within /bin/mount by
passing the option '-t vmhgfs'. For example:
  mount -t vmhgfs .host:/ /mnt/hgfs/
  mount -t vmhgfs .host:/foo /mnt/foo
  mount -t vmhgfs .host:/foo/bar /var/lib/bar


This allowed me to do THIS: -

mkdir /Repository
mount -t vmhgfs .host:/Repository /Repository/
ls -al /Repository/

total 17
drwxr-xr-x   1 db2inst1 games  408 Jul 31 10:57 .
dr-xr-xr-x. 26 root     root  4096 Jul 31 19:19 ..
drwxr-xr-x   1 db2inst1 games  374 May 31  2014 BAM
drwxr-xr-x   1 db2inst1 games  306 May 30  2014 BPM
drwxr-xr-x   1 db2inst1 games  102 Jul 31 07:32 DB2
drwxr-xr-x   1 db2inst1 games  136 Jul 31 10:57 Fixes
drwxr-xr-x   1 db2inst1 games  102 Jul 31 07:33 IIB
drwxr-xr-x   1 db2inst1 games 1054 Jul 31 11:05 IIM
drwxr-xr-x   1 db2inst1 games  136 Jul 31 07:46 ODM
drwxr-xr-x   1 db2inst1 games  340 Jul 31 13:11 ResponseFiles
drwxr-xr-x   1 db2inst1 games  510 Jul 31 07:37 WAS
drwxr-xr-x   1 db2inst1 games 1360 Jul 31 07:48 WMQ

which is precisely what I want.

For the record, this is what I've got configured in VMware Fusion Professional 7.1.2: -


and this is what I've got on the host Mac: -

total 0
drwxr-xr-x  12 hayd  staff   408 31 Jul 10:57 .
drwxr-xr-x  20 hayd  staff   680 31 Jul 07:34 ..
drwxr-xr-x@ 11 hayd  staff   374 31 May  2014 BAM
drwxr-xr-x@  9 hayd  staff   306 30 May  2014 BPM
drwxr-xr-x   3 hayd  staff   102 31 Jul 07:32 DB2
drwxr-xr-x   4 hayd  staff   136 31 Jul 10:57 Fixes
drwxr-xr-x   3 hayd  staff   102 31 Jul 07:33 IIB
drwxr-xr-x  31 hayd  staff  1054 31 Jul 11:05 IIM
drwxr-xr-x   4 hayd  staff   136 31 Jul 07:46 ODM
drwxr-xr-x  10 hayd  staff   340 31 Jul 13:11 ResponseFiles
drwxr-xr-x  15 hayd  staff   510 31 Jul 07:37 WAS
drwxr-xr-x  40 hayd  staff  1360 31 Jul 07:48 WMQ




IBM HTTP Server and CRIMA1137W

In the spirit of cross-posting my posts from elsewhere, I've just submitted a post: -


to the Global WebSphere Community (GWC) aka the WebSphere User Group.

Hope it's of use.

Monday 27 July 2015

How to handle SIB messaging engine functionality, if fail over occur at database server side (in case of data store as message store)?

Have I mentioned how good developerWorks Answers is ?

If not, it's really very good.

Here's an example: -


Question

Would like to know more details about Messaging Engine functionality if data base is failed over to other other server. Is there any way to configure the failover database server names in WebSphere Application Server if primary database server is down and secondary take over the DB functionality?

Answer

...
If you are using data store as message store and lost the connection to the database you can tune the detection of database connection loss to decide how messaging engine functionality should behave. If the connection between a running messaging engine and its data store is lost, either due to a failure or because you stop the database for maintenance, you can ensure that the messaging engine functions correctly after the connection is restored, by configuring the server to restart automatically.
...

Saturday 25 July 2015

Apple Watch - My first few days

This is NOT a review of the Apple Watch, I've not yet had it long enough, and there are FAR better reviews including this: -


and: -


However, I did struggle ( albeit briefly ) to set up Apple Pay.

I've got an iPhone 5s and have the Watch app set up and connected via BlueTooth.

When I tried to set up Apple Pay in the Watch app on the iPhone, I saw this: -


Could Not Connect to Apple Watch
Make sure your Apple Watch is nearby, powered on, and not in Airplane mode.

Having confirmed that both Watch and iPhone were both powered on AND not in Airplane Mode, I was at a bit of a loss.

The watch was showing this: -


which implied that all was well.

In true The IT Crowd tradition, I thought .... ah hah, why don't I try turning it off and on again.

Therefore, I powered off the iPhone, and turned it back on again.

And ....

guess what ?

Yep, it worked.

I'm now up and running with  Pay, ready to go and spend some money :-)

Thursday 9 July 2015

Apple Music, Apple Music, Wherefore Art Thou ?

I'm loving  Music, as people who know me no doubt know.

Having got things nice and smooth on my Mac and on my iPhone, I was somewhat disappointed to find that my chosen music ( that which I'd "liked" and added to my music library: -

did not appear in ... my music library on another iOS device: -


Thankfully the Music app came to my rescue when I attempted to add a song to My Music on the iOS device, I was kindly presented with this: -


That's what I was missing :-)

Off to the Settings app, and select: -


and we're all good to go :-)

Wednesday 8 July 2015

IBM Integration Bus - Where's my WSDL ?

I'm playing with HTTP Input and SOAP Input Nodes in IBM Integration Bus 9 right now, which is nice.

I'm following someone else's tutorial: -




In part 2, he says: -

which confused me because I did NOT have the Generate option: -


Then I checked the IBM Integration Bus Knowledge Centre: -


which says, in part: -

Tip: If you need to generate a WSDL document, you must first enable message set development in the IBM® Integration Toolkit. For more information, see Enabling message set development.

I did as instructed, and saw: -


Once I checked the Enable menus for Message Set development box and clicked OK, I was back in the game: -


To be fair, this does make sense, given what the IIB preferences page says: -


The tutorial was written in 2011 for WebSphere Message Broker.

I'll experiment further ....

Tuesday 7 July 2015

IBM Application Performance Management - Why no start ?

We saw an interesting issue with a pair of IBM APM agents today, each on a different AIX LPAR.

Each time we tried to start the agent: -

/opt/IBM/ITM/bin/itmcmd agent start yn

( where yn is a particular agent - ITCAM Agent for WebSphere Applications )

we saw: -

Processing. Please wait...
Starting ITCAM Agent for WebSphere Applications ...
KCIIN0198E Unable to start agent. Please, check log file.


When I dug further, I found this: -

java.lang.UnsatisfiedLinkError: net (A file or directory in the path name does not exist.)

in one of the logs in /opt/IBM/ITM/logs.

This most closely resembled this IBM Technote: -


which suggested that the Java Runtime Environment (JRE) might be corrupted.

Acting on this suggestion, I took a backup of a working JRE from another box running the same version of the yn agent: -

cd /opt/IBM/ITM/JRE/
/opt/freeware/bin/tar cvzf /tmp/itm_java.tar.gz aix523/
scp /tmp/itm_java.tar.gz wasadmin@bpmlpar:/tmp

and restored it in place of the allegedly borked JRE: -

cd /opt/IBM/ITM/JRE/
mv aix523 foobar
/opt/freeware/bin/tar xvzf /tmp/itm_java.tar.gz

and, guess what ..... it worked :-)

/opt/IBM/ITM/bin/itmcmd agent start yn

Processing. Please wait...
Starting ITCAM Agent for WebSphere Applications ...
ITCAM Agent for WebSphere Applications started


/opt/IBM/ITM/bin/cinfo -r

*********** Tue Jul  7 11:53:04 BST 2015 ******************
User: wasadmin Groups: wasadmin staff
Host name : bpm101  Installer Lvl:06.23.03.00
CandleHome: /opt/IBM/ITM
***********************************************************

Host         Prod  PID       Owner     Start     ID    ..Status
bpm101
       d4    10027226  wasadmin  11:48:54  None  ...running
bpm101       th    9896038   wasadmin  11:49:12  None  ...running
bpm101       yn    14286896  wasadmin  11:49:22  None  ...running

It goes without saying that (a) your mileage may well vary and (b) if in doubt, please raise a PMR with IBM Support before trying this

IBM Application Performance Management - What have we got ?

This came up on my current project, and I wanted to write it down for future edification :-)

What is running ?

/opt/IBM/ITM/bin/cinfo –r

*********** Tue Jul  7 15:04:49 BST 2015 ******************
User: wasadmin Groups: wasadmin staff
Host name : esb101  Installer Lvl:06.23.03.00
CandleHome: /opt/IBM/ITM
***********************************************************
Host         Prod  PID      Owner     Start     ID    ..Status
esb101  th    8126534  wasadmin  14:56:15  None  ...running

What is installed ?

/opt/IBM/ITM/bin/cinfo

*********** Tue Jul  7 15:05:22 BST 2015 ******************
User: wasadmin Groups: wasadmin staff
Host name : esb101  Installer Lvl:06.23.03.00
CandleHome: /opt/IBM/ITM
***********************************************************

    -- CINFO Menu --
1) Show products installed in this CandleHome
2) Show which products are currently running
3) Show configuration settings
4) Exit CINFO

1

*********** Tue Jul  7 15:06:17 BST 2015 ******************
User: wasadmin Groups: wasadmin staff
Host name : esb101  Installer Lvl:06.23.03.00
CandleHome: /opt/IBM/ITM
***********************************************************
...Product inventory

ax      IBM Tivoli Monitoring Shared Libraries
         aix533  Version: 06.23.03.00

gs      IBM GSKit Security Interface
         aix523  Version: 07.40.43.00
         aix526  Version: 07.40.43.00

jr      Tivoli Enterprise-supplied JRE
         aix523  Version: 06.12.00.00
         aix526  Version: 06.12.00.00

th      ITCAM for MQ Tracking
         aix533  Version: 07.40.00.00

    -- CINFO Menu --

1) Show products installed in this CandleHome
2) Show which products are currently running
3) Show configuration settings

4) Exit CINFO

What is running ?

2

*********** Tue Jul  7 15:06:46 BST 2015 ******************
User: wasadmin Groups: wasadmin staff
Host name : esb101  Installer Lvl:06.23.03.00
CandleHome: /opt/IBM/ITM
***********************************************************

Host         Prod  PID      Owner     Start     ID    ..Status
esb101  th    8126534  wasadmin  14:56:15  None  ...running

    -- CINFO Menu --
1) Show products installed in this CandleHome
2) Show which products are currently running
3) Show configuration settings
4) Exit CINFO

What is the configuration ?

3

*********** Tue Jul  7 15:07:16 BST 2015 ******************
User: wasadmin Groups: wasadmin staff
Host name : esb101  Installer Lvl:06.23.03.00
CandleHome: /opt/IBM/ITM
***********************************************************

Configuration    Setting
th  default      "Network Protocol 3" = none
th  default      "Secondary TEMS IP.PIPE Port Number" = 1918
th  default      "Secondary TEMS IP.SPIPE Port Number" = 3660
th  default      "Secondary TEMS Log Mode" = LOGMODE
th  default      "Secondary TEMS LU Name" = LUNAME
th  default      "Secondary TEMS Net Name" = CANDLE
th  default      "Secondary TEMS IP Port Number" = 1918
th  default      "IP.PIPE Port Number" = 1918
th  default      "IP.SPIPE Port Number" = 3660
th  default      "Log Mode" = LOGMODE
th  default      "LU Name" = LUNAME
th  default      "Net Name" = CANDLE
th  default      "IP Port Number" = 1918
th  aix533       "Network Protocol 3" = none
th  aix533       "Will this agent connect to a TEMS? [1=YES, 2=NO]" = 1
th  aix533       "Configure connection for a secondary TEMS? [1=YES, 2=NO]" = 2
th  aix533       "TEMS Host Name" = dvemsapmw01
th  aix533       "Secondary TEMS IP.PIPE Port Number" = 1918
th  aix533       "Secondary TEMS IP.SPIPE Port Number" = 3660
th  aix533       "Secondary TEMS Log Mode" = LOGMODE
th  aix533       "Secondary TEMS LU Name" = LUNAME
th  aix533       "Secondary TEMS Net Name" = CANDLE
th  aix533       "Secondary TEMS IP Port Number" = 1918
th  aix533       "IP.PIPE Port Number" = 1918
th  aix533       "IP.SPIPE Port Number" = 3660
th  aix533       "Log Mode" = LOGMODE
th  aix533       "LU Name" = LUNAME
th  aix533       "Net Name" = CANDLE
th  aix533       "IP Port Number" = 1918
th  aix533       "Enter Optional Primary Network Name or 0 for "none"" = none

    -- CINFO Menu --
1) Show products installed in this CandleHome
2) Show which products are currently running
3) Show configuration settings
4) Exit CINFO

Wednesday 1 July 2015

IBM BPM - Failing to uninstall

I had an interesting, and only half-resolved, issue with an Service Component Archive (SCA) module that I'd created using IBM Integration Designer 8.5.6 and deployed to the in-built IBM BPM Advanced 8.5.6 runtime ( known as the Unit Test Environment or Integrated Test Environment ).

I got into a position where I was unable to publish, start or uninstall an application ( merely a basic SCA module containing an Interface, a MQ Binding and a BPEL flow ).

This is what I saw in the WAS SystemOut.log file: -

...
[28/06/15 05:30:59:528 BST] 00000111 AdminHelper   A   ADMN1010I: An attempt is made to stop the BPMDemoApp application. (User ID = defaultWIMFileBasedRealm/wasadmin)
[28/06/15 05:30:59:532 BST] 00000111 CompositionUn A   WSVR0192I: Stopping composition unit WebSphere:cuname=BPMDemoApp in BLA WebSphere:blaname=BPMDemoApp.
[28/06/15 05:30:59:534 BST] 00000111 ApplicationMg A   WSVR0217I: Stopping application: BPMDemoApp
[28/06/15 05:30:59:986 BST] 00000111 Core          I   CWSCA3011I: The SCA module "BPMDemoApp" is stopping.
[28/06/15 05:30:59:990 BST] 00000111 ActivationSpe I   J2CA0524I: The Message Endpoint for ActivationSpec sca/BPMDemo/ActivationSpec (com.ibm.ws.sib.ra.inbound.impl.SibRaActivationSpecImpl) and MDB Application BPMDemoApp#BPMDemo#BPMDemo is deactivated.
[28/06/15 05:30:59:992 BST] 00000111 Core          I   CWSCA3012I: The SCA module has been stopped.
[28/06/15 05:31:00:007 BST] 00000111 ApplicationMg A   WSVR0220I: Application stopped: BPMDemoApp
[28/06/15 05:31:06:432 BST] 00000111 CompositionUn A   WSVR0193I: Composition unit WebSphere:cuname=BPMDemoApp in BLA WebSphere:blaname=BPMDemoApp stopped.
[28/06/15 05:31:06:838 BST] 00000113 ServletWrappe I com.ibm.ws.webcontainer.servlet.ServletWrapper init SRVE0242I: [isclite] [/ibm/console] [/secure/javascriptToSession.jsp]: Initialization successful.
[28/06/15 05:31:12:417 BST] 00000113 ServletWrappe I com.ibm.ws.webcontainer.servlet.ServletWrapper init SRVE0242I: [isclite] [/ibm/console] [/com.ibm.ws.console.appmanagement/RemoveSplat.jsp]: Initialization successful.
[28/06/15 05:31:15:971 BST] 00000125 FfdcProvider  W com.ibm.ws.ffdc.impl.FfdcProvider logIncident FFDC1003I: FFDC Incident emitted on /opt/IBM/WebSphere/AppServer/profiles/bpmprofile/logs/ffdc/server1_267904e7_15.06.28_05.31.15.9676531005148371738678.txt com.ibm.ws.management.application.ExtensionHelper.processServerUninstallExtensions 290
[28/06/15 05:31:15:983 BST] 00000125 FfdcProvider  W com.ibm.ws.ffdc.impl.FfdcProvider logIncident FFDC1003I: FFDC Incident emitted on /opt/IBM/WebSphere/AppServer/profiles/bpmprofile/logs/ffdc/server1_267904e7_15.06.28_05.31.15.971705321591203166738.txt com.ibm.ws.management.application.SchedulerImpl.run 328
[28/06/15 05:31:15:985 BST] 00000125 UninstallSche I   ADMA5107E: The application BPMDemoApp cannot be uninstalled.

...

with this in the FFDC logs: -

...
[28/06/15 05:31:15:968 BST]     FFDC Exception:java.lang.ClassCastException SourceId:com.ibm.ws.management.application.ExtensionHelper.processServerUninstallExtensions ProbeId:290 Reporter:java.lang.Class@2bc12930
java.lang.ClassCastException: com.ibm.ws.management.application.UninstallSchedulerImpl incompatible with com.ibm.websphere.management.application.InstallScheduler
at com.ibm.task.admin.HumanTaskTaskProvider.provideServerUninstallExtensions(HumanTaskTaskProvider.java:187)
at com.ibm.ws.management.application.ExtensionHelper.processServerUninstallExtensions(ExtensionHelper.java:286)
at com.ibm.ws.management.application.UninstallSchedulerImpl.setupTasks(UninstallSchedulerImpl.java:156)
at com.ibm.ws.management.application.SchedulerImpl.run(SchedulerImpl.java:303)
at java.lang.Thread.run(Thread.java:801)

...
[28/06/15 05:31:15:971 BST]     FFDC Exception:com.ibm.websphere.management.application.client.AppDeploymentException SourceId:com.ibm.ws.management.application.SchedulerImpl.run ProbeId:328 Reporter:java.lang.Class@2bc12930
com.ibm.websphere.management.application.client.AppDeploymentException: java.lang.ClassCastException: com.ibm.ws.management.application.UninstallSchedulerImpl incompatible with com.ibm.websphere.management.application.InstallScheduler [Root exception is java.lang.ClassCastException: com.ibm.ws.management.application.UninstallSchedulerImpl incompatible with com.ibm.websphere.management.application.InstallScheduler]
        at com.ibm.ws.management.application.ExtensionHelper.processServerUninstallExtensions(ExtensionHelper.java:294)
        at com.ibm.ws.management.application.UninstallSchedulerImpl.setupTasks(UninstallSchedulerImpl.java:156)
        at com.ibm.ws.management.application.SchedulerImpl.run(SchedulerImpl.java:303)
        at java.lang.Thread.run(Thread.java:801)
Caused by: java.lang.ClassCastException: com.ibm.ws.management.application.UninstallSchedulerImpl incompatible with com.ibm.websphere.management.application.InstallScheduler
        at com.ibm.task.admin.HumanTaskTaskProvider.provideServerUninstallExtensions(HumanTaskTaskProvider.java:187)
        at com.ibm.ws.management.application.ExtensionHelper.processServerUninstallExtensions(ExtensionHelper.java:286)
        ... 3 more
...


I then tried to uninstall the application using an old-but-good Jacl script: -

/opt/IBM/WebSphere/AppServer/profiles/bpmprofile/bin/wsadmin.sh -lang jacl -user wasadmin -password passw0rd -f /opt/IBM/WebSphere/AppServer/ProcessChoreographer/admin/bpcTemplates.jacl -uninstall BPMDemoApp -force

WASX7209I: Connected to process "server1" on node Node1 using SOAP connector;  The type of process is: UnManagedProcess
WASX7303I: The following options are passed to the scripting environment and are available as arguments that are stored in the argv variable: "[-uninstall, BPMDemoApp, -force]"

Script 'bpcTemplates.jacl' has been deprecated in BPM 8.5.5 and replaced by /opt/IBM/WebSphere/AppServer/ProcessChoreographer/admin/listTemplates.py and manageTemplates.py


Application 'BPMDemoApp' is deployed on server 'server1' of node 'Node1'.
   Process templates:
     No process templates found in 'BPMDemoApp'.
   Task templates:
     No task templates found in 'BPMDemoApp'.
ADMA5011I: The cleanup of the temp directory for application BPMDemoApp is complete.
ADMA5107E: The application BPMDemoApp cannot be uninstalled.
Error stopping and force uninstalling BPMDemoApp: com.ibm.ws.scripting.ScriptingException: WASX7133E: Application uninstall of BPMDemoApp failed: see previous messages for details..


which struck out :-(

<CAVEAT> Don't try this at home, kids</CAVEAT>

Finally, I took the "nuclear" option of physically removing the EAR file: -

cd /opt/IBM/WebSphere/AppServer/profiles/bpmprofile/config/cells/PSCell1/applications
rm -Rf BPMDemoApp.ear/


cd /opt/IBM/WebSphere/AppServer/profiles/bpmprofile/installedApps/PSCell1
rm -Rf BPMDemoApp.ear/


and validated that, at least from a file-system perspective, it had gone: -

find /opt/IBM/WebSphere/AppServer/ -name BPMDemo

which returned NOWT.

<CAVEAT> Don't try this at home, kids</CAVEAT>

The application is still "there" as far as WAS is concerned, as it appears in the Applications perspective in the ISC, but it's not stopping my server from starting, so I can ignore it - for now.

And this is only my personal test VM.

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...