Friday, 28 November 2014

IBM SoftLayer, IBM Installation Manager, Red Hat Linux and fun

One of my colleagues asked for some help with WAS 8.5.0 on a Red Hat Enterprise Linux 6.6 VM .... running on IBM SoftLayer.

This is my first time on the SoftLayer cloud, so it's been a blast.

One thing that caught me out was the requirement for the SoftLayer VPN client. Whilst my colleague kindly linked me to an ArrayNetworks VPN client ( ArrayNetworksL3VPN_MAC ), this didn't seem to want to work ( connect ) from my Mac ( OS X 10.10.1 Yosemite ).

Thankfully, the SoftLayer website came to my aid: -


This quickly talked me through the process to set up a VPN connection using the Mac's native PPTP client.

Once I set this up, I was in like Flynn, with a SSH tunnel going to the RHEL VM.

This is what was installed, Linux-wise: -

uname -a

Linux <<hostname>> 2.6.32-504.1.3.el6.x86_64 #1 SMP Fri Oct 31 11:37:10 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux

cat /etc/redhat-release

Red Hat Enterprise Linux Server release 6.6 (Santiago)

My colleague was trying to use a 32-bit version of IBM Installation Manager 1.5.

This was a bad move :-(

As soon as we tried to launch IIM: -

./tools/imcl -version

Imcl:
An error has occurred.  See the log file
/root/configuration/1417196820270.log


with this in the log: -

!SESSION Fri Nov 28 11:47:00 CST 2014 ------------------------------------------
!ENTRY org.eclipse.equinox.launcher 4 0 2014-11-28 11:47:00.281
!MESSAGE Exception launching the Eclipse Platform:
!STACK
java.lang.ClassNotFoundException: org.eclipse.core.runtime.adaptor.EclipseStarter
        at java.net.URLClassLoader.findClass(URLClassLoader.java:434)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:653)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:619)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:617)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1408)
        at org.eclipse.equinox.launcher.Main.main(Main.java:1384)

I'm guessing that this was caused by (a) the version of IIM being used - 1.5 - or (b) the fact that it was 32-bit on a 64-bit OS or (c) the version of RHEL.

I downloaded IIM 1.8 ( 64-bit ), which worked OK :-)

./imcl -version

Installation Manager (install kit)
Version: 1.8.0
Internal Version: 1.8.0.20140902_1503
Architecture: 64-bit


Installation Manager (installed)
Version: 1.6.0
Internal Version: 1.6.0.20120831_1216
Architecture: 64-bit


Additionally, this also highlighted that IIM 1.6 was already installed.

Once I knew this, I was on a roll.

I then wanted to see what version of WAS my colleague had downloaded: -

/opt/IBM/InstallationManager/eclipse/tools/imcl listAvailablePackages -repositories /root/WAS-installs/ -features

com.ibm.websphere.BASE.v85_8.5.0.20120501_1108 : core.feature,ejbdeploy,thinclient,embeddablecontainer,samples,liberty,com.ibm.sdk.6_32bit,com.ibm.sdk.6_64bit

/opt/IBM/InstallationManager/eclipse/tools/imcl listAvailablePackages -repositories /root/WAS-installs/ -features -long

/root/WAS-installs/ : com.ibm.websphere.BASE.v85_8.5.0.20120501_1108 : IBM WebSphere Application Server : 8.5.0.0 : core.feature,ejbdeploy,thinclient,embeddablecontainer,samples,liberty,com.ibm.sdk.6_32bit,com.ibm.sdk.6_64bit

I knocked up a IIM response file: -

installWAS8502.rsp
 
<?xml version="1.0" encoding="UTF-8"?>
<!--The "acceptLicense" attribute has been deprecated. Use "-acceptLicense" command line option to accept license agreements.-->
<agent-input acceptLicense='true'>
<server>
<repository location='/root/WAS-installs/'/>
</server>
<profile id='IBM WebSphere Application Server V8.5' installLocation='/opt/IBM/WebSphere/AppServer'>
<data key='eclipseLocation' value='/opt/IBM/WebSphere/AppServer'/>
<data key='user.import.profile' value='false'/>
<data key='cic.selector.os' value='linux'/>
<data key='cic.selector.arch' value='x86'/>
<data key='cic.selector.ws' value='gtk'/>
<data key='cic.selector.nl' value='en'/>
</profile>
<install modify='false'>
<offering id='com.ibm.websphere.BASE.v85' version='8.5.0.20120501_1108' profile='IBM WebSphere Application Server V8.5' features='core.feature,ejbdeploy,thinclient,embeddablecontainer,samples,liberty,com.ibm.sdk.6_64bit' installFixes='none'/>
</install>
<preference name='com.ibm.cic.common.core.preferences.eclipseCache' value='/opt/IBM/IMShared'/>
<preference name='com.ibm.cic.common.core.preferences.connectTimeout' value='30'/>
<preference name='com.ibm.cic.common.core.preferences.readTimeout' value='45'/>
<preference name='com.ibm.cic.common.core.preferences.downloadAutoRetryCount' value='0'/>
<preference name='offering.service.repositories.areUsed' value='true'/>
<preference name='com.ibm.cic.common.core.preferences.ssl.nonsecureMode' value='false'/>
<preference name='com.ibm.cic.common.core.preferences.http.disablePreemptiveAuthentication' value='false'/>
<preference name='http.ntlm.auth.kind' value='NTLM'/>
<preference name='http.ntlm.auth.enableIntegrated.win32' value='true'/>
<preference name='com.ibm.cic.common.core.preferences.preserveDownloadedArtifacts' value='true'/>
<preference name='com.ibm.cic.common.core.preferences.keepFetchedFiles' value='false'/>
<preference name='PassportAdvantageIsEnabled' value='false'/>
<preference name='com.ibm.cic.common.core.preferences.searchForUpdates' value='false'/>
<preference name='com.ibm.cic.agent.ui.displayInternalVersion' value='false'/>
<preference name='com.ibm.cic.common.sharedUI.showErrorLog' value='true'/>
<preference name='com.ibm.cic.common.sharedUI.showWarningLog' value='true'/>
<preference name='com.ibm.cic.common.sharedUI.showNoteLog' value='true'/>
</agent-input>

and installed WAS: -

/opt/IBM/InstallationManager/eclipse/tools/imcl -input /root/installWAS8502.rsp -acceptLicense

Installed com.ibm.websphere.BASE.v85_8.5.0.20120501_1108 to the /opt/IBM/WebSphere/AppServer directory.

and then reported upon what's installed: -

/opt/IBM/InstallationManager/eclipse/tools/imcl listInstalledPackages

com.ibm.cic.agent_1.6.0.20120831_1216
com.ibm.websphere.BASE.v85_8.5.0.20120501_1108


/opt/IBM/InstallationManager/eclipse/tools/imcl listInstalledFeatures com.ibm.websphere.BASE.v85_8.5.0.20120501_1108

com.ibm.sdk.6_64bit
ejbdeploy
embeddablecontainer
liberty
samples
thinclient


/opt/IBM/WebSphere/AppServer/bin/versionInfo.sh
 
WVER0010I: Copyright (c) IBM Corporation 2002, 2012; All rights reserved.
WVER0012I: VersionInfo reporter version 1.15.1.48, dated 2/8/12

28-Nov-2014 10:49:18 java.util.prefs.FileSystemPreferences$2 run
INFO: Created user preferences directory.
--------------------------------------------------------------------------------
IBM WebSphere Product Installation Status Report
--------------------------------------------------------------------------------

Report at date and time 28 November 2014 10:49:18 CST

Installation
--------------------------------------------------------------------------------
Product Directory        /opt/IBM/WebSphere/AppServer
Version Directory        /opt/IBM/WebSphere/AppServer/properties/version
DTD Directory            /opt/IBM/WebSphere/AppServer/properties/version/dtd
Log Directory            /var/ibm/InstallationManager/logs

Product List
--------------------------------------------------------------------------------
BASE                     installed

Installed Product
--------------------------------------------------------------------------------
Name                  IBM WebSphere Application Server
Version               8.5.0.0
ID                    BASE
Build Level           gm1218.01
Build Date            5/1/12
Package               com.ibm.websphere.BASE.v85_8.5.0.20120501_1108
Architecture          x86-64 (64 bit)
Installed Features    IBM 64-bit WebSphere SDK for Java
                      WebSphere Application Server Full Profile
                      EJBDeploy tool for pre-EJB 3.0 modules
                      Embeddable EJB container
                      WebSphere Application Server Liberty Profile
                      Sample applications
                      Stand-alone thin clients and resource adapters

--------------------------------------------------------------------------------
End Installation Status Report
-----------------------------------------------------

and then created a base WAS profile: -

/opt/IBM/WebSphere/AppServer/bin/manageprofiles.sh -response wasProfile.rsp 

INSTCONFSUCCESS: Success: Profile AppSrv01 now exists. Please consult /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/AboutThisProfile.txt for more information about this profile.

and then started the server: -

/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/startServer.sh wasServer 

ADMU0116I: Tool information is being logged in file
           /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/wasServer/startServer.log
ADMU0128I: Starting tool with the AppSrv01 profile
ADMU3100I: Reading configuration for server: wasServer
ADMU3200I: Server launched. Waiting for initialization status.
ADMU3000I: Server wasServer open for e-business; process id is 27139

and finished by logging into the admin. console: -


Now it's weekend time :-)

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