Monday, 19 February 2018

IBM Information Server - Computer Says "No"

So this week I'm becoming an expert in IBM InfoSphere Information Server (IIS), having been only briefly aware of it in the past.

I knew of IBM's acquisition of Ascential back in 2005, and was faintly aware of products such as DataStage and QualityStage.

However, I now have a need to know more, in part because I'm working with a client using IBM BPM and DataStage and QualityStage together.

For the record, IBM Information Server is a "blanket" term to describe a number of capabilities, and the entitlement includes a raft of IBM software, including BPM.

Anyway, I'm installing a new IIS 11.5.0.2 environment, onto a VM running Red Hat Enterprise Linux 7.3, with its own instance of DB2 10.5.0.2 and WebSphere Application Server (WAS) ND 8.5.5.5 and Java 7.0.

The installation is actually rather neat, in that you run a single executable: -

/tmp/is-suite/setup 

and then complete the installation via  a web GUI: -

The GUI walks you through a huge raft of options and choices, and you end up with an installed environment …..

Or….. that's what SHOULD happen.

Alas, my installation kept failing partway through, with this exception: -

com.ibm.is.install.exception.ActionException: CDIIN5021E: Copy source file does not exist: /mnt/payloads/Shared/ODBCDrivers/payload/help/odbc/:RJDIC00.: {AbstractAddFileAction: id=copy.odbcdrivers.files toPath=SubstitutableValue: Token="${refresh.odbc.install.location}", Value="/opt/IBM/InformationServer/Server/branded_odbc" ifExists=CHECK_EXISTS_BEHAVIOR fileOverwrite=BY_VERSION_THEN_DATE Permissions: {Unix: owner= null group= null userPermissions= rwx groupPermissions= rx worldPermissions= rx}, null}

The path/file name seemed a little strange: -

/mnt/payloads/Shared/ODBCDrivers/payload/help/odbc/:RJDIC00

as one doesn't normally expect to find a colon symbol within a file-name.

When I checked for the erring file: -

ls -al /mnt/payloads/Shared/ODBCDrivers/payload/help/odbc/ > /tmp/foo

I got this: -

ls: cannot access /mnt/payloads/Shared/ODBCDrivers/payload/help/odbc/:RJDIC00: No such file or directory

When I checked the output file ( /tmp/foo ) from the previous command, I found this: -

...
-rwxr-xr-x 1 501 root   8626 May 10  2017 retrieving-long-data.html
-????????? ? ?   ?         ?            ? :RJDIC00
-rwxr-xr-x 1 501 root  30678 May 10  2017 rollbase-30-white.jpg
-rwxr-xr-x 1 501 root   3298 May 10  2017 rollbase-30-white.png

...

Now the original image ( IS_V11.5.0.2_LINUX_X86_64_MULTI.tar.gz ) had actually been extracted on my Mac, and then shared via Shared Folders ( from VMware Fusion 10.1.1 ) and mounted to RHEL via this command: -

vmhgfs-fuse -o allow_other .host:/is-suite /mnt

When I checked the source file-system: -

ls -al /tmp/is-suite/payloads/Shared/ODBCDrivers/payload/help/odbc | |grep -i RJD

the offending file appeared without problems

-rwxr-xr-x     1 davidhay  wheel    9569 10 May  2017 :RJDIC00

Therefore, I can only assume that the combination of VMware Shared folders, the native RHEL vmhgfs-fuse and the strangely-named file led to the issue.

I resolved the problem by uploading the original .TAR.GZ file to the VM, unpacking it into the VM's native /tmp folder, and then installing from there.

Interesting ……..



2 comments:

Lars Berntrop-Bos said...

Do you know that on mac the directory separator is a colon (:)?

So the root directory on Volume RJDIC00 would be RJDIC00:

Just a hunch.

Dave Hay said...

True, but it IS a valid file: -

-rwxr-xr-x 1 root root 9569 May 10 2017 /tmp/is-suite/payloads/Shared/ODBCDrivers/payload/help/odbc/:RJDIC00

which is nice :-)

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="{...