Friday, 6 April 2018

IBM AppConnect Enterprise - My first tinkering foray

Following on from this: -

IBM App Connect Enterprise V11.0 delivers an integration platform to support the needs of enterprises that need to embrace digital opportunities by using cloud technologies to build hybrid applications and data architectures


Frequently Asked Questions about IBM App Connect Enterprise


I decided to tinker with IBM AppConnect Enterprise, in the context of the "new" IBM Integration Bus (IIB)

This is what I did: -

Download

IBM App Connect Enterprise V11.0 Linux X86-64 Inc Toolkit Multilingual ( CNS2TML )

See what we've got

ls -altrc /Volumes/DaveHaySSD/Software/ACE/

total 2329576
drwxr-xr-x@ 31 davidhay  staff        1054  6 Apr 12:34 ..
drwxr-xr-x   3 davidhay  staff         102  6 Apr 12:34 .
-rw-r--r--   1 davidhay  staff  1192741234  6 Apr 12:34 ACE_V11_Lin_X86-64_Toolkit.tar.gz

Push the Bundle to the ACE server

scp /Volumes/DaveHaySSD/Software/ACE/ACE_V11_Lin_X86-64_Toolkit.tar.gz aceadmin@ace:~

aceadmin@ace's password: 
ACE_V11_Lin_X86-64_Toolkit.tar.gz                                                                                                                                       100% 1137MB  87.3MB/s   00:13    


Connect to the ACE server

ssh aceadmin@ace

Extract the Bundle

tar xvzf ~/ACE_V11_Lin_X86-64_Toolkit.tar.gz -C /tmp

tar  xvzf /tmp/EAsmbl_image/ace-11.0.0.0.tar.gz -C /opt/ibm/

Accept the License

 /opt/ibm/ace-11.0.0.0/ace accept license

International Program License Agreement

Part 1 - General Terms

BY DOWNLOADING, INSTALLING, COPYING, ACCESSING, CLICKING ON 
AN "ACCEPT" BUTTON, OR OTHERWISE USING THE PROGRAM, 
LICENSEE AGREES TO THE TERMS OF THIS AGREEMENT. IF YOU ARE 
ACCEPTING THESE TERMS ON BEHALF OF LICENSEE, YOU REPRESENT 
AND WARRANT THAT YOU HAVE FULL AUTHORITY TO BIND LICENSEE 
TO THESE TERMS. IF YOU DO NOT AGREE TO THESE TERMS,

* DO NOT DOWNLOAD, INSTALL, COPY, ACCESS, CLICK ON AN 
"ACCEPT" BUTTON, OR USE THE PROGRAM; AND

* PROMPTLY RETURN THE UNUSED MEDIA, DOCUMENTATION, AND 
PROOF OF ENTITLEMENT TO THE PARTY FROM WHOM IT WAS OBTAINED 

Press Enter to continue viewing the license agreement, or 
enter "1" to accept the agreement, "2" to decline it, "3" 
to print it, or "99" to go back to the previous screen.
1
License accepted and local registry created in '/home/wasadmin/aceconfig', to begin type: ace toolkit
 
Enter an App Connect Enterprise command. 
Details:  
 To get help type:         ace help  
  
 To see the ACE Knowledge Center use this URL:  
 https://www.ibm.com/support/knowledgecenter/SSTTDS_11.0.0  
  
 ---------------------------------------------------------------------  
  
 To see the component levels use: ace version  
  
 ---------------------------------------------------------------------  
  
 To convert the installation to use a global registry, e.g. /var/mqsi  
 As root run :                            ace make registry global  
 OR  
 if license has not previously been accepted,  
 to use a global registry and accept the license  
 As root run :                            ace make registry global accept license  
          or :                            ace make registry global accept license silently
  
 Note: an existing registry will not be overwritten but your ACE  
 installation will be directed to use it rather than a local registry  
  
  ——————————————————————————————————

Check the ACE Version

/opt/ibm/ace-11.0.0.0/ace version

Version:      '11.0.0.0'
Product:      'IBM App Connect Enterprise'
Build Number: '2072'
IE02 level:   'ie02-L20140415-1143'
IB Level:     'ib000-L180322.2072_P'
Server level: 'S000-L180321.12763'
Toolkit level:'20180321-1201'

Setup the Profile

echo "source /opt/ibm/ace-11.0.0.0/server/bin/mqsiprofile" >> ~/.bashrc

Switch user - required to bring in updated profile

su - aceadmin

MQSI 11.0.0.0
/opt/ibm/ace-11.0.0.0/server

 /opt/ibm/ace-11.0.0.0/ace version

BIP9107S: Registry not found. 
The program tried to find the path to its registry. To find the registry the environment variable MQSI_REGISTRY is evaluated. This variable does not exist, is empty, or is too long. The program stops. 
Use the customized started task procedure to start the component. If you are using the generated started task procedure, check your customization for valid definitions. 
BIP9107S: Registry not found. 
The program tried to find the path to its registry. To find the registry the environment variable MQSI_REGISTRY is evaluated. This variable does not exist, is empty, or is too long. The program stops. 
Use the customized started task procedure to start the component. If you are using the generated started task procedure, check your customization for valid definitions. 
BIP9107S: Registry not found. 
The program tried to find the path to its registry. To find the registry the environment variable MQSI_REGISTRY is evaluated. This variable does not exist, is empty, or is too long. The program stops. 
Use the customized started task procedure to start the component. If you are using the generated started task procedure, check your customization for valid definitions. 
BIP9107S: Registry not found. 
The program tried to find the path to its registry. To find the registry the environment variable MQSI_REGISTRY is evaluated. This variable does not exist, is empty, or is too long. The program stops. 
Use the customized started task procedure to start the component. If you are using the generated started task procedure, check your customization for valid definitions. 
BIP9107S: Registry not found. 
The program tried to find the path to its registry. To find the registry the environment variable MQSI_REGISTRY is evaluated. This variable does not exist, is empty, or is too long. The program stops. 
Use the customized started task procedure to start the component. If you are using the generated started task procedure, check your customization for valid definitions. 
BIP9107S: Registry not found. 
The program tried to find the path to its registry. To find the registry the environment variable MQSI_REGISTRY is evaluated. This variable does not exist, is empty, or is too long. The program stops. 
Use the customized started task procedure to start the component. If you are using the generated started task procedure, check your customization for valid definitions. 
BIP9107S: Registry not found. 
The program tried to find the path to its registry. To find the registry the environment variable MQSI_REGISTRY is evaluated. This variable does not exist, is empty, or is too long. The program stops. 
Use the customized started task procedure to start the component. If you are using the generated started task procedure, check your customization for valid definitions. 

Hmmm, that's not too good :-(

Let's check the registry ….

echo $MQSI_REGISTRY

/home/aceadmin/iibconfig

Ah, hah

Let's check mqsiprofile : -

cat /opt/ibm/ace-11.0.0.0/server/bin/mqsiprofile|grep -i iib

      # default to $HOME/iibconfig
      MQSI_WORKPATH="${HOME}/iibconfig"


Hmmmmmm….

locate iibconfig

<NOTHING FOUND>

locate aceconfig

/home/aceadmin/aceconfig

Hmmmmm ….

Perhaps a sneaky hack ….

sed -i'' 's/iibconfig/aceconfig/g' /opt/ibm/ace-11.0.0.0/server/bin/mqsiprofile

su - aceadmin

aceadmin@ihs's password: 
Last login: Fri Apr  6 17:23:12 2018 from 192.168.153.1

MQSI 11.0.0.0
/opt/ibm/ace-11.0.0.0/server


echo $MQSI_REGISTRY

/home/aceadmin/aceconfig

/opt/ibm/ace-11.0.0.0/ace version

Version:      '11.0.0.0'
Product:      'IBM App Connect Enterprise'
Build Number: '2072'
IE02 level:   'ie02-L20140415-1143'
IB Level:     'ib000-L180322.2072_P'
Server level: 'S000-L180321.12763'
Toolkit level:'20180321-1201'


So, apart from that one glitch, where mqsiprofile still references iibconfig rather than aceconfig that was all rather spiffing.


2 comments:

Aiden Gallagher said...

The same could be said for "MQSIPROFILE" as for "iibconfig"...

wait.. how long ago was mqsi? ;)

Dave Hay said...

All true 😎

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