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



Friday, 16 February 2018

Book Review - Disruptive Technologies by Paul Armstrong

This is another of my semi-regular book reviews for the British Computer Society: -


This book appealed to me based purely on the title; to me, the word "Disruptive" is a double-edged sword, and is often seen as a threat as much as an opportunity.

In this book, the author takes a similar view, in terms of positioning new and emerging technologies, highlighting the potential risks and benefits of each.

Personally I take issue with the author's perspective on the blockchain, in that he appears to confuse the blockchain with a well-known, and not always in good way, example of it's use, namely Bitcoin.

However, this is a common misconception, so I chose to let it pass.

Apart from the extremely useful introduction to the most recent innovative and disruptive technologies, the author then devotes the remainder of the book to focus upon the methodology of forecasting and technology selection.

He introduces an approach of his own innovation - Technology/Behaviour/Data - TBD - upon which he expands throughout the book, as a tool to support technology selection, adoption and acceptance.

Whilst this was of interest, it wasn't of immediate relevance to me, in my current role. However, I can see the attraction of a clearly defined process, especially with the large number of worked examples of the methodology in practice.

Similarly, as someone who has recently had a patent application filed, this book is immensely useful in the context of innovation and invention.

Therefore, I'd recommend this book to anyone looking to introduce new technologies into a business, whether they are listed in this book, or whether they're yet to be invented.

I'd give this book 9/10, in terms of it's overall value and benefit.

Monday, 12 February 2018

 macOS - Disks and Core Storage

I've spent some of the past fortnight tinkering with a 2014 Mac Mini, which has a 1 TB Fusion drive; this is a combination of a conventional hard disk ( aka spinning rust ) and a smaller amount of solid-state disk (SSD).

As far as I can establish, macOS supports this via a technique called CoreStorage (CS), which has some similarities with other Logical Volume Managers (LVM), in that it creates a Logical Volume Group spanning multiple physical drives.

Long story short, I was trying/struggling to install a brand-new copy of macOS, whether the original as-shipped Yosemite or the latest High Sierra.

In both cases, having booted from a USB key, the installation would get most of the way through and then fail with a myriad of unintelligible exceptions.

For various reasons, I ended up decided that the problem was the Fusion drive, so I dug into a technique to "nuke" it, and then reconfigure it post-installation.

This is what I did: -

List the existing file systems

diskutil cs list

CoreStorage logical volume groups (1 found)
|
+-- Logical Volume Group 3A8C71B6-15A5-468F-88DC-24247FA4638F
    =========================================================
    Name:         Untitled
    Status:       Online
    Size:         1120333979648 B (1.1 TB)
    Free Space:   114688 B (114.7 KB)
    |
    +-< Physical Volume FFC8B753-839E-4AA9-B4D4-B4DB7CA3C91C
    |   ----------------------------------------------------
    |   Index:    0
    |   Disk:     disk0s2
    |   Status:   Online
    |   Size:     120988852224 B (121.0 GB)
    |
    +-< Physical Volume 8FDAF8C0-C858-40EB-A4F4-B0FD929441BC
    |   ----------------------------------------------------
    |   Index:    1
    |   Disk:     disk1s2
    |   Status:   Online
    |   Size:     999345127424 B (999.3 GB)
    |
    +-> Logical Volume Family BEBC81CD-F707-4B71-9DCC-FDE50E08B0D3
        ----------------------------------------------------------
        Encryption Type:         None
        |
        +-> Logical Volume A9F2838E-4AB3-4F72-8F40-1282FF9395D7
            ---------------------------------------------------
            Disk:                  disk2
            Status:                Online
            Size (Total):          1114478608384 B (1.1 TB)
            Revertible:            No
            LV Name:               Yosemite
            Volume Name:           Yosemite
            Content Hint:          Apple_HFSX
            LVG Type:              Fusion, Sparse

Delete the CoreStorage Logical Volume Group

( I had, of course, backed up the important stuff BEFORE I did this )

diskutil cs delete 3A8C71B6-15A5-468F-88DC-24247FA4638F

Started CoreStorage operation
Unmounting Logical Volumes
Destroying Logical Volume Group
Erasing disk0s2
Initialized /dev/rdisk0s2 as a 113 GB case-insensitive HFS Plus volume with a 16384k journal
Mounting disk
Erasing disk1s2
Initialized /dev/rdisk1s2 as a 931 GB case-insensitive HFS Plus volume with a 81920k journal
Mounting disk
Finished CoreStorage operation

List the new file systems

diskutil list

/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *121.3 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Untitled                121.0 GB   disk0s2

/dev/disk1 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk1
   1:                        EFI EFI                     209.7 MB   disk1s1
   2:                  Apple_HFS Untitled                999.3 GB   disk1s2

/dev/disk3 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk3
   1:                        EFI EFI                     209.7 MB   disk3s1
   2:                  Apple_HFS SuperDuper              499.2 GB   disk3s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk3s3

/dev/disk4 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *7.8 GB     disk4
   1:                        EFI EFI                     209.7 MB   disk4s1
   2:                  Apple_HFS Install OS X Yosemite   7.5 GB     disk4s2


Once I'd successfully installed macOS High Sierra onto the spinny disk ( /dev/disk1 ), I joined them back together again: -

Create new CoreStorage Logical Volume Group spanning both disks

diskutil cs create DaveHay disk0 disk1

Started CoreStorage operation
Unmounting disk0
Repartitioning disk0
Unmounting disk
Creating the partition map
Rediscovering disk0
Adding disk0s2 to Logical Volume Group
Unmounting disk1
Repartitioning disk1
Unmounting disk
Creating the partition map
Rediscovering disk1
Adding disk1s2 to Logical Volume Group
Creating Core Storage Logical Volume Group
Switching disk0s2 to Core Storage
Switching disk1s2 to Core Storage
Waiting for Logical Volume Group to appear
Discovered new Logical Volume Group "05899854-9FA2-4EF5-87F8-83BDAB96A1FE"
Core Storage LVG UUID: 05899854-9FA2-4EF5-87F8-83BDAB96A1FE
Finished CoreStorage operation

List the new file systems

diskutil cs list

CoreStorage logical volume groups (1 found)
|
+-- Logical Volume Group 05899854-9FA2-4EF5-87F8-83BDAB96A1FE
    =========================================================
    Name:         DaveHay
    Status:       Online
    Size:         1120849764352 B (1.1 TB)
    Free Space:   1114994507776 B (1.1 TB)
    |
    +-< Physical Volume 82119759-D8A4-449D-95A0-0B362DD72F5D
    |   ----------------------------------------------------
    |   Index:    0
    |   Disk:     disk0s2
    |   Status:   Online
    |   Size:     120988852224 B (121.0 GB)
    |
    +-< Physical Volume E4FB1715-3F1E-4B23-8E05-211129D75A96
        ----------------------------------------------------
        Index:    1
        Disk:     disk1s2
        Status:   Online
        Size:     999860912128 B (999.9 GB)

Success !

IBM Design Thinking and Agile - Some more light reading

A friend was asking me about playbacks, stakeholder involvement and the replanning of sprints.

So I directed him to this: -

Agile delivery ( GOV.UK )


Agile tools and techniques ( GOV.UK ) 


and this: -

IBM Design Thinking


Playbacks


Something to read …..

Thursday, 25 January 2018

Football Simulation Engine - written in Node.js

One of my team has put this together, using Node.js: -


Overview

This module was designed to allow the simulation of football (soccer) matches between two teams. It consists of three functions that

• Initiate a match
• complete an iteration / movement
• switch team sides / start second half


He rocks :-)

Wednesday, 24 January 2018

IBM Business Process Manager Interactive Installation and Configuration Guide

I was writing to a colleague about planning for an IBM BPM installation, and thought to recommend that he review this: -


This guide takes you through the steps for installing and configuring IBM Business Process Manager (IBM BPM).

If you are migrating business data and applications from a previous version, use the Interactive Migration Guide instead of this guide. The Interactive Migration Guide generates instructions for a complete migration, including installing and configuring the product.

The Interactive Installation and Configuration Guide works best in supported versions of Google Chrome, Microsoft Internet Explorer, and Mozilla Firefox on Windows. In most instances, the generated output is restricted to supported installation scenarios. However, it might be possible to generate an unsupported set of instructions. For information about supported installation scenarios, go to the IBM Support Portal or use the installation roadmaps.

The Interactive Installation and Configuration Guide uses installation and configuration rules and considerations that are described in other topics. Each of those topics is accessible to screen readers, but the Interactive Installation and Configuration Guide itself is not fully accessible. For fully accessible information, use the installation topics as an alternative to using the Interactive Installation and Configuration Guide.




This is a really good way to generate a nice printable ( or, better still, PDFable ) set of instructions.

Thanks IBM

Tuesday, 23 January 2018

IBM Integration Bus - Integration Toolkit on Red Hat Enterprise Linux

This is another of my various tinkering exercises ….

I'm attempting to get the IBM Integration Bus (IIB) 9 Toolkit working on my Mac, against a VM running Red hat Enterprise Linux 7.4.

I'm actually tunnelling X11 via SSH ( via ssh -y wasadmin@hostname )

When I attempt to start the Toolkit: -

/opt/ibm/IntegrationToolkit90/launcher 

I see this: -

MQSI 9.0.0.2
/opt/ibm/mqsi/9.0.0.2

 progressRectString:  2,489,646,12
 messageRectString: 12,443,444,15
Unhandled exception
Type=Segmentation error vmState=0x00040000
J9Generic_Signal_Number=00000004 Signal_Number=0000000b Error_Value=00000000 Signal_Code=00000080
Handler1=F6B5EACA Handler2=F6B0F017 InaccessibleAddress=00000000
EDI=F750FCA4 ESI=F750FB64 EAX=F7510BF0 EBX=ADA45000
ECX=BFD95F61 EDX=F750FA98
EIP=AD958FAE ES=002B DS=002B ESP=F750FA28
EFlags=00010286 CS=0023 SS=002B EBP=F751000C
Module=/lib/libcairo.so.2
Module_base_address=AD905000
Target=2_60_20120809_118929 (Linux 3.10.0-693.11.6.el7.x86_64)
CPU=x86 (1 logical CPUs) (0x1e7da8000 RAM)
----------- Stack Backtrace -----------
(0xF6B005B0 [libj9prt26.so+0xf5b0])
(0xF6B0FFC2 [libj9prt26.so+0x1efc2])
(0xF6B002A1 [libj9prt26.so+0xf2a1])
(0xF6B00395 [libj9prt26.so+0xf395])
(0xF6AFFEA4 [libj9prt26.so+0xeea4])
(0xF6B0FFC2 [libj9prt26.so+0x1efc2])
(0xF6AFFE13 [libj9prt26.so+0xee13])
(0xF6B5DEF5 [libj9vm26.so+0x14ef5])
(0xF6B0FFC2 [libj9prt26.so+0x1efc2])
(0xF6B5E1FE [libj9vm26.so+0x151fe])
(0xF6B5EB18 [libj9vm26.so+0x15b18])
(0xF6B0F1E5 [libj9prt26.so+0x1e1e5])
__kernel_rt_sigreturn+0x0 (0xF7784410)
(0x00023280 [<unknown>+0x0])
---------------------------------------
JVMDUMP039I Processing dump event "gpf", detail "" at 2018/01/23 15:49:57 - please wait.
JVMDUMP032I JVM requested System dump using '/opt/ibm/IntegrationToolkit90/core.20180123.154957.90680.0001.dmp' in response to an event
JVMPORT030W /proc/sys/kernel/core_pattern setting "|/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e %P %I %h" specifies that the core dump is to be piped to an external program.  Attempting to rename either core or core.90725.

JVMDUMP010I System dump written to /opt/ibm/IntegrationToolkit90/core.20180123.154957.90680.0001.dmp
JVMDUMP032I JVM requested Java dump using '/opt/ibm/IntegrationToolkit90/javacore.20180123.154957.90680.0002.txt' in response to an event
JVMDUMP010I Java dump written to /opt/ibm/IntegrationToolkit90/javacore.20180123.154957.90680.0002.txt
JVMDUMP032I JVM requested Snap dump using '/opt/ibm/IntegrationToolkit90/Snap.20180123.154957.90680.0003.trc' in response to an event
JVMDUMP010I Snap dump written to /opt/ibm/IntegrationToolkit90/Snap.20180123.154957.90680.0003.trc
JVMDUMP013I Processed dump event "gpf", detail "".

Appreciating that this is almost certainly an unsupported configuration, I was able to solve the problem, using this as inspiration: -


which said, in part: -

…
Cause

"adwaita-gtk2-theme" (32 and 64 bit) and "adwaita-gtk3-theme" 64 bit libraries were missing.

Resolving the problem

Install the missing libraries "adwaita-gtk2-theme" (32 and 64 bit) and "adwaita-gtk3-theme" 64 bit. Please contact RedHat to obtain the missing libraries.
…

I installed the missing RPM: -

/usr/bin/yum --noplugins install -y adwaita-gtk2-theme

…
  adwaita-gtk2-theme.x86_64 0:3.22.2-1.el7                                                                                                                                                               

Complete!

Removed temporary configuration

…

and now we're good to go.

For the record, I'd previously installed these two RPMs: -

libpng12.so.0
libXtst.so.6


as required by IBM Installation Manager, installing the Toolkit.

Note to self - Firefox and local connections

 Whilst trying to hit my NAS from Firefox on my Mac, I kept seeing errors such as:- Unable to connect Firefox can’t establish a connection t...