Monday, December 16, 2013

Maximo 7.5.0.5 on Windows Server 2012

Goal: 
Install Maximo 7.5.0.5 on Windows Server 2012. 

Problem:
When looking at the Platform Matrix (dated 31 October 2013, check this link for the most recent version: http://www-01.ibm.com/support/docview.wss?uid=swg27014419), Windows 2012 is supported for Maximo from version 7.5.0.3 and up.

But wait! as it turns out, it states it runs on 'Support only'  So you will have to figure it out for yourself how to get it running.
And on top of that, Windows 2012 is even supported as Admin Workstation...

Here is a part of the Matrix:



So be very aware of this comment! I had me fooled... :(

But hey, if we can get the Websphere running with Maximo 7.5.0.5, we have support. :)

Notes for this document:
Servername:  MYWINDOWS2012SERVER, or masked in screenshots because it is a company server and the client his server.
Database: Oracle 11g2
User: Local Admin (Make sure you have the permissions you need!)


Solution:
I got it running in the end. I ran into a few issues and will show you how I solved them below. 

First I started of like I normally would, run the launchpad64.exe as an administrator.



Then choose "Install Product" and then click "Middleware"
Choose you Language, accept the License Agreement and set your Workspace. (I used D:\ibm\tivoli\mwi\workspace)
  
After clicking 'Next' I got the following message:



To get more details on this, open the mwi.log from D:\ibm\tivoli\mwi\workspace\MYWINDOWS2012SERVER
This is part of the log:

com.ibm.ac.si.install.InstallFailedException: 
at com.ibm.ac.si.install.SIInstaller.initialize(SIInstaller.java:2598)
at com.ibm.ac.si.install.SIInstaller.<init>(SIInstaller.java:2319)
at com.ibm.ac.si.install.SIInstaller.install(SIInstaller.java:876)
at com.ibm.ac.si.install.BootstrapApplication.performInstallOperation(BootstrapApplication.java:330)
at com.ibm.ac.si.install.BootstrapApplication.performOperation(BootstrapApplication.java:190)
at com.ibm.ismp.mwi.BootstrapDeploymentEngine.execute(BootstrapDeploymentEngine.java:134)
at com.installshield.wizard.RunnableWizardBeanContext.run(Unknown Source)
Caused by: com.ibm.ac.si.install.UnrecognizedOSException: ACUINI0045E The current OS is unrecognized by this application: Name = Windows Server 2008 ; Architecture = amd64 ; Version = 6.2 build 9200 
at com.ibm.ac.si.install.SIInstaller.validateSupportedOS(SIInstaller.java:2751)
at com.ibm.ac.si.install.SIInstaller.initialize(SIInstaller.java:2400)
... 6 more
(Thu Dec 12 14:48:28 CET 2013) DefaultVariableProxy [FINEST]: setValue[variable:deploymentEngineDeployed, newValue:false, oldValue:false, source:com.ibm.ismp.mwi.BootstrapDeploymentEngine]
(Thu Dec 12 14:48:28 CET 2013) DefaultVariableProxy [FINEST]: setValue[variable:deploymentEngineErrorMessage, newValue:CTGIN9077E: Deployment Engine is not functioning properly. Please delete the DE folder in MWI workspace and restart the MWI installer., oldValue:CTGIN9077E: Deployment Engine is not functioning properly. Please delete the DE folder in MWI workspace and restart the MWI installer., source:com.ibm.ismp.mwi.BootstrapDeploymentEngine]
(Thu Dec 12 14:48:28 CET 2013) com.ibm.ismp.mwi.Lathe [FINEST]: INSTALL_GENERAL_FAILURE
(Thu Dec 12 14:48:28 CET 2013) com.ibm.ismp.mwi.Lathe [SEVERE]: 
(Thu Dec 12 14:48:28 CET 2013) com.ibm.ismp.mwi.Lathe [SEVERE]: D:\ibm\tivoli\mwi\workspace\MYWINDOWS2012SERVER\DE\acsi\jre\copyright (The system cannot find the path specified.)
java.io.FileNotFoundException: D:\ibm\tivoli\mwi\workspace\MYWINDOWS2012SERVER\DE\acsi\jre\copyright (The system cannot find the path specified.)
at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
at java.io.FileOutputStream.<init>(FileOutputStream.java:131)
at com.ibm.ismp.mwi.BootstrapDeploymentEngine.copyFile(BootstrapDeploymentEngine.java:334)
at com.ibm.ismp.mwi.BootstrapDeploymentEngine.execute(BootstrapDeploymentEngine.java:163)
at com.installshield.wizard.RunnableWizardBeanContext.run(Unknown Source)
(Thu Dec 12 14:48:28 CET 2013) com.ibm.ismp.mwi.Lathe [SEVERE]: D:\ibm\tivoli\mwi\workspace\MYWINDOWS2012SERVER\DE\acsi\jre\notices.txt (The system cannot find the path specified.)
java.io.FileNotFoundException: D:\ibm\tivoli\mwi\workspace\MYWINDOWS2012SERVER\DE\acsi\jre\notices.txt (The system cannot find the path specified.)
at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
at java.io.FileOutputStream.<init>(FileOutputStream.java:131)
at com.ibm.ismp.mwi.BootstrapDeploymentEngine.copyFile(BootstrapDeploymentEngine.java:334)
at com.ibm.ismp.mwi.BootstrapDeploymentEngine.execute(BootstrapDeploymentEngine.java:166)

at com.installshield.wizard.RunnableWizardBeanContext.run(Unknown Source)


Seems to me that there is a problem writing/accessing files. Also there is a line that the OS is not recognized...

First I closed all the windows, and opened an explorer.
I browse to the IBM_MAM_V7.5.0_Launchpad\Install\MWI directory and right click the mwi-AMD64.exe file and choose 'Properties' 

Set the Compatibility on 'Windows 7' and check the 'Run this program as an administrator' 



Next I 'Googled' and found this page: http://www-01.ibm.com/support/docview.wss?uid=swg21650567

I used some part of it for my solution.

Open a dosbox as an Administrator.
Browse to the IBM_MAM_V7.5.0_Launchpad\Install\MWI directory and run:
mwi-AMD64.exe -V dependencyChecks=false

This is case-sensitive!

The installShield will now start. Choose your language, accept the License agreement, set you workspace, click Next and behold, it runs! :)




I'll install the J2EE Server only




I use the default settings and set the installation locations to the D:-partition using default paths in all the next screens. I suppose you can choose what you like, but this is the configuration I tested.

When you reach the screen with the option to Deploy the plan, hold on for a sec. We need to change something.



Open a explorer and go to the D:\ibm\tivoli\mwi\workspace\<hostname>\deploymentPlan\MachinePlan_<hostname>\MachinePlan_<hostname>.xml 

Open this xml with a editor like Notepad++. Make sure you run Notepad++ as an administrator!

Update the value of the below two properties to "true" :

<property value="true" name="suppress.step_00001_MWI_7.1_Prereqs"/>
<property value="true" name="suppress.step_00002_DiskSpace_Check"/> 


Save the file.

Go back to the screen that is still open en click on [Next] to deploy the plan. A summary list of the plan will be displayed next, click the [Deploy] button to start.







Ok, so that was Websphere, you could now install Maximo on a supported Admin Workstation and deploy the ear file here. When you use Maximo 7.5.0.3 or higher IBM will support it.

But hey, they are not giving away Servers and Admin workstations for free, so it would be nice if we could use this Windows 2012 server as Admin Workstation.
I want to try this for the Test environment, and if it can be done without to much 'quick and dirty' solutions and Maximo can be patched and all, this would be a useful test environment.



Maximo 7.5.0.0 installation
Again I started of like I normally would, run the launchpad64.exe as an administrator. Click on the "Install Product"  option on the left, and choose "Maximo Asset Management"  

The Install Anywhere dialog shows and shows the " Preparing to install". When done the following error appears:



I close all the windows, and open an explorer.
Browse to the IBM_MAM_V7.5.0_Launchpad\Install\MAM directory and right click the install_win64.exe file and choose 'Properties' 

Set the Compatibility on 'Windows 7' and check the 'Run this program as an administrator' 


Open a dosbox as Administrator and browse to IBM_MAM_V7.5.0_Launchpad\Install\MAM directory and run: install_win64.exe

The Install Anywhere dialog shows up again and now the error is not displayed.I choose a language and click [Next]

I click through the screens like I normally would when installing Maximo.



At the "Run Configuration Step" check all three boxes.



After a few minutes the installer is done.



Now to finish the installation we open a dosbox as and Administrator.
Navigate to D:\ibm\SMP\scripts\  and run taskRunner.bat CONTINUE STOPONERROR



Eventually the taskRunner will stop with a message we can also find in the D:\ibm\SMP\logs\CTGInstallTrace00.log

CTGIN0219I: Deploying process solution installation package D:\IBM\SMP\pmp\process_automation_engine_7.5.0.0.zip.

StandardError: CTGIN0143E: An action error ocurred during the processing of a deployment operation. Action identifier: "null". Action display name: "Create Package Log Directory".


Dec 16, 2013 11:12:37 AM com.ibm.tivoli.ccmdb.install.foundation.config.pmp.ACfgProcessManagerPackageConfig Result from install PSI
FINE: NOTE ^CTGIN0005E: The deployment of D:\IBM\SMP\pmp\MAM.zip failed. The error text is CTGIN0143E: An action error ocurred during the processing of a deployment operation. Action identifier: "null". Action display name: "Create Package Log Directory"..^n^

Dec 16, 2013 11:12:37 AM com.ibm.tivoli.ccmdb.install.foundation.config.pmp.ACfgProcessManagerPackageConfig runConfigurationStep

Seems like issues with file rights again...

Next I check the D:\ibm\SMP\CTG_DE\acsi\logs\<USER_NAME>\de_trace.log

There i get:

at com.ibm.ac.si.cm.TouchPointTask.workQueueError(TouchPointTask.java:1688)
at com.ibm.ac.si.cm.TouchPointTask.run(TouchPointTask.java:949)
at java.lang.Thread.run(Thread.java:736)
Caused by: com.ibm.ac.common.hosts.CreationFailedException: 
at com.ibm.ac.tp.basehost.AbstractHosts.createHostedResource(AbstractHosts.java:234)
at com.ibm.ac.si.cm.CreateCommand.execute(CreateCommand.java:122)
at com.ibm.ac.si.cm.TouchPointController.callTouchPoint(TouchPointController.java:287)
at com.ibm.ac.si.cm.TouchPointTask.run(TouchPointTask.java:815)
... 1 more
Caused by: com.ibm.ac.tp.basehost.ActionErrorException: action_processor_failure, action=addDirectory, actionId=null
at com.ibm.ac.tp.basehost.ActionHandler.createException(ActionHandler.java:779)
at com.ibm.ac.tp.basehost.ActionHandler.handleGeneralException(ActionHandler.java:1084)
at com.ibm.ac.tp.basehost.ActionHandler.handlePhase(ActionHandler.java:308)
at com.ibm.ac.tp.basehost.ActionProcessor.handleAction(ActionProcessor.java:258)
at com.ibm.ac.tp.basehost.ActionProcessor.run(ActionProcessor.java:122)
at com.ibm.ac.tp.basehost.AbstractHosts.createHostedResource(AbstractHosts.java:218)
... 4 more
Caused by: com.ibm.ac.si.ap.service.variable.VariableNotDeclaredException: ACUASI0132E Variable has not been declared or has no default value assigned: PkgLogDirectory
at com.ibm.ac.si.ap.service.variable.impl.VariableContextImpl.getValue(VariableContextImpl.java:258)
at com.ibm.ac.si.ap.service.variable.impl.VariableContextImpl.getReplacementValue(VariableContextImpl.java:371)
at com.ibm.ac.si.ap.service.variable.impl.VariableContextImpl.evaluateRecursive(VariableContextImpl.java:335)
at com.ibm.ac.si.ap.service.variable.impl.VariableContextImpl.evaluate(VariableContextImpl.java:303)
at com.ibm.ac.si.ap.action.VariableServiceHelper.resolveVariable(VariableServiceHelper.java:64)
at com.ibm.ac.si.ap.action.file.PathElements.getResolvedName(PathElements.java:152)
at com.ibm.ac.si.ap.action.file.PathElements.getResolvedFile(PathElements.java:176)
at com.ibm.ac.si.ap.action.AddDirectoryAction.installEmptyDirectory(AddDirectoryAction.java:489)
at com.ibm.ac.si.ap.action.AddDirectoryAction.install(AddDirectoryAction.java:81)
at com.ibm.ac.tp.basehost.InstallActionHandler.handlePhaseAction(InstallActionHandler.java:103)
at com.ibm.ac.tp.basehost.ActionHandler.handlePhase(ActionHandler.java:244)

... 7 more

A variable named PkgLogDirectory has no default value...

This must be somewhere in the MAM.zip package. This package can be found in D:\ibm\SMP\pmp

First create a backup of the MAM.zip file, then open the MAM.zip and go to the META-INF directory. There we find a file named "packageIU.xml"

Important is to not extract the zip and zip it again after you edited the file. But keep the zip in tact and just handle it like it was a folder.

Copy that file to the Desktop

Open a Notepad++ as administrator 

This is important, all files edited for Maximo, also files that we edit later on for rebuilding, need to be edited as administrator, not as the logged-in user, even if that user is local administrator.

We change two variables here. Because when we only change the PkgLogDirectory the taskRunner wants a default for the ModuleInstallDir.
Below are lines of code i used. I commented out the the original lines.

        <!-- This variable stores the location of any module/package specific -->
        <!-- files or code. This may or may not be used depending on the      -->
        <!-- specific package.                                                -->
<variable name="ModuleInstallDir">
           <parameter defaultValue="d:\IBM\smp\solutions\installedApps\MAM75_Package"/>
  <!--
           <derivedVariable>
                <expression condition="$(windows_TypeCheck)">$(CCMDBInstallLocation)\solutions\installedApps\$(PkgShortName)</expression>
           </derivedVariable> -->
        </variable>

        
        <!-- The path to the directory the contains the logs for this specific -->
        <!-- package. This is used if the package install writes to its own    -->
        <!-- specific install logs.                                            -->
        <variable name="PkgLogDirectory">
            <parameter defaultValue="d:\IBM\smp\solutions\logs\MAM75_Package"/>
            <!--<derivedVariable>
                <expression condition="$(windows_TypeCheck)">$(CCMDBInstallLocation)\solutions\logs\$(PkgShortName)</expression>
            </derivedVariable> -->

        </variable>


Essentially we comment out the existing line and add out own line. Instead of a Derived variable we use a defaultValue variable here.
Here again the line in a screenshot.



Next copy the MAM.zip to the desktop and open it, go to the META-INF directory and copy the 'packageIU.xml" here and replace the existing file. 
We cannot use the MAM.zip in the original directory because then the file is not placed in the zip with the right permissions.

Now copy the MAM.zip from the desktop back to the D:\ibm\SMP\pmp overwriting the existing MAM.zip

Again open a dosbox as and Administrator.
Navigate to D:\ibm\SMP\scripts\ and run "taskRunner.bat CONTINUE STOPONERROR"

and, whohoooo, all efforts are not in vain, the taskRunner continues.



After a while the taskRunner is finished.

Go to D:\ibm\SMP\bin and run "solutionInstaller.bat -action showinstalled -type all" to check the installation;




As a test if all configuration is correct I will install patch 7.5.0.5. If this installs without any problems the configuration must be good.


Install 7.5.0.5

Open the 7.5.0.5-TIV-MAM-FP0005 directory and change the properties of the install_win64.exe so it runs in Windows 7 compatibility mode




Next I open a dosbox as an Administrator and navigate to the 7.5.0.5 patch directory and run the "install_win64.exe"

Now click through the screens like you normally would when installing a patch





At the end I get :

CTGIN2225E: Deployment of application MAXIMO failed.

WASX7023E: Error creating "SOAP" connection to host "MYWINDOWS2012SERVER"; exception information: com.ibm.websphere.management.exception.ConnectorNotAvailableException: com.ibm.websphere.management.exception.ConnectorNotAvailableException: ADMC0016E: The system cannot create a SOAP connector to connect to host  at port 8879.
WASX7213I: This scripting client is not connected to a server process; please refer to the log file D:\IBM\SMP\wasclient\logs\wsadmin.traceout for additional information.
WASX8011W: AdminTask object is not available.
WASX7303I: The following options are passed to the scripting environment and are available as arguments that are stored in the argv variable: "[install, MAXIMO, ctgNode01, MXServer, D:/IBM/SMP/maximo/deployment/default/maximo.ear, maximo_host, webserver1]"
Admin objects not loaded. Connection to Websphere is bad
Sleeping and retrying
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.

WASX7023E: Error creating "SOAP" connection to host "MYWINDOWS2012SERVER"; exception information: com.ibm.websphere.management.exception.ConnectorNotAvailableException: com.ibm.websphere.management.exception.ConnectorNotAvailableException: ADMC0016E: The system cannot create a SOAP connector to connect to host MYWINDOWS2012SERVER at port 8879.
WASX7213I: This scripting client is not connected to a server process; please refer to the log file D:\IBM\SMP\wasclient\logs\wsadmin.traceout for additional information.
WASX8011W: AdminTask object is not available.
WASX7303I: The following options are passed to the scripting environment and are available as arguments that are stored in the argv variable: "[install, MAXIMO, ctgNode01, MXServer, D:/IBM/SMP/maximo/deployment/default/maximo.ear, maximo_host, webserver1]"
Admin objects not loaded. Connection to Websphere is bad
Sleeping and retrying
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.

WASX7023E: Error creating "SOAP" connection to host "MYWINDOWS2012SERVER"; exception information: com.ibm.websphere.management.exception.ConnectorNotAvailableException: com.ibm.websphere.management.exception.ConnectorNotAvailableException: ADMC0016E: The system cannot create a SOAP connector to connect to host MYWINDOWS2012SERVER at port 8879.
WASX7213I: This scripting client is not connected to a server process; please refer to the log file D:\IBM\SMP\wasclient\logs\wsadmin.traceout for additional information.
WASX8011W: AdminTask object is not available.
WASX7303I: The following options are passed to the scripting environment and are available as arguments that are stored in the argv variable: "[install, MAXIMO, ctgNode01, MXServer, D:/IBM/SMP/maximo/deployment/default/maximo.ear, maximo_host, webserver1]"

Admin objects not loaded. Connection to Websphere is bad

Could be that Maximo cannot be installed in Websphere through the installer. When I run the "solutioninstaller -action showinstalled -type all" it shows that the Maximo patch is installed.



When trying to go to the Websphere Integrated Solutions Console the page cannot be displayed. I decide to reboot the server first.

Next I did a rebuild and I installed the Maximo application. Maximo is running now :)


So there you have it, Websphere and Maximo on Windows Server 2012.


GNZ