Tuesday, 22 May 2018

IBM AppConnect Enterprise 11 on Linux - reminding myself

I was having a chat with a colleague about the merits of running the IBM AppConnect Enterprise (ACE) or IBM Integration Bus (IIB) Toolkit on a Linux VM.

So, to remind myself, I spun up an existing RHEL 7.4 VM, and installed the required GUI-related RPMs: -

yum install -y  xterm
yum install -y  gtk2
yum install -y  libgtk-x11-2.0.so.0
yum install -y  libXtst
yum install -y  xeyes
yum install -y  xauth
yum install -y  xorg-x11-fonts-Type1
yum install -y  psmisc


and then switched to the ACE user: -

su - aceadmin

and started the Toolkit: -

/opt/ibm/ace-11.0.0.0/tools/eclipse 

Alas this failed: -

Eclipse:
An error has occurred. See the log file
/home/aceadmin/IBM/ACET11-config/11.0.0.0/configuration/1526978110847.log.

so I checked the log: -

cat /home/aceadmin/IBM/ACET11-config/11.0.0.0/configuration/1526978110847.log 

!SESSION 2018-05-22 09:35:10.249 -----------------------------------------------
eclipse.buildId=4.2.2.M20140918-1444
java.fullversion=8.0.5.10 - pxa6480sr5fp10-20180214_01(SR5 FP10)
JRE 1.8.0 IBM J9 2.9 Linux amd64-64 Compressed References 20180208_378436 (JIT enabled, AOT enabled)
OpenJ9   - 39bb844
OMR      - c04ccb2
IBM      - 2321a81
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_GB
Framework arguments:  -showlocation -product com.ibm.etools.msgbroker.tooling.ide
Command-line arguments:  -os linux -ws gtk -arch x86_64 -showlocation -product com.ibm.etools.msgbroker.tooling.ide

!ENTRY org.eclipse.osgi 4 0 2018-05-22 09:35:13.418
!MESSAGE Application error
!STACK 1
org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]
at org.eclipse.swt.SWT.error(SWT.java:4394)
at org.eclipse.swt.widgets.Display.createDisplay(Display.java:914)
at org.eclipse.swt.widgets.Display.create(Display.java:900)
at org.eclipse.swt.graphics.Device.<init>(Device.java:156)
at org.eclipse.swt.widgets.Display.<init>(Display.java:498)
at org.eclipse.swt.widgets.Display.<init>(Display.java:489)
at org.eclipse.ui.internal.Workbench.createDisplay(Workbench.java:673)
at org.eclipse.ui.PlatformUI.createDisplay(PlatformUI.java:161)
at org.eclipse.ui.internal.ide.application.IDEApplication.createDisplay(IDEApplication.java:154)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:96)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
at java.lang.reflect.Method.invoke(Method.java:508)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
at org.eclipse.equinox.launcher.Main.main(Main.java:1414)

Before panicking, I checked my flow - I'd logged into the VM as root: -

ssh -Y root@integration

and then switched to the aceadmin user.

Therefore, the X11 session was "owned" by root rather than aceadmin.,

I logged out, and reconnected: -

ssh -Y aceadmin@integration

and retried: -

/opt/ibm/ace-11.0.0.0/tools/eclipse 


Nice :-)

No comments:

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