IBM Support

IBM Installation Manager - Generating a response from a current installation

Technical Blog Post


Abstract

IBM Installation Manager - Generating a response from a current installation

Body

 

My IBM colleague, Paul B, kindly pointed this out to me a few weeks back. IBM Installation Manager (IIM) provides a number of excellent capabilities, some of which we have written about here before:


This time around, I wanted to mention the ability that IIM offers to generate a response file from an existing installation. As an example, I have recently installed IBM Operational Decision Manager (ODM) Advanced 8.7.0.0, specifically the Decision Server Rules capability.

This is what IIM shows as installed: -

com.ibm.cic.agent_1.8.2000.20150303_1526
com.ibm.bpm.ADV.v85_8.5.6000.20150304_1832
com.ibm.websphere.IBMJAVA.v70_7.0.8010.20150219_1802
com.ibm.websphere.MON.v85_8.5.6000.20150303_1517
com.ibm.websphere.ND.v85_8.5.5005.20150220_0158
com.ibm.ws.cognos.v1022.linuxia64_10.2.2.20150304_1653
com.ibm.websphere.IHS.v85_8.5.5005.20150220_0158
com.ibm.websphere.PLG.v85_8.5.5005.20150220_0158
com.ibm.websphere.odm.ds.rules.v87_8.7.1.20150319_2251

( ignore the bulk of the list; this is a VM which contains ALL of the core Smarter Process elements, but we're only focused on ODM today )

I installed the ODM Rules component from two distinct IIM repositories:

  • Binaries - /mnt/hgfs/ODM87/Product
  • Fixes - /mnt/hgfs/ODM87/Fixes/

With the product already installed, let's pretend I've mislaid the response file that I used to install it or, to be more realistic, I've inherited this installation with little/no documentation. Well, don't worry - IIM comes to the rescue with the generateResponseFile command, as per the following example:

/opt/IBM/InstallationManager/eclipse/tools/imcl generateResponseFile -repositories /mnt/hgfs/ODM87/Product/DecisionServerRules/repository.config,/mnt/hgfs/ODM87/Fixes/updates/repository.config

which returns:

<agent-input>
  <variables>
    <variable name='sharedLocation' value=''/>
    <!-- Set features to "required", "default", or "all" to install the corresponding set of features. -->
    <variable name='features' value='default'/>
    <!-- Installation location for Decision Server Rules -->
    <variable name='installLocation' value=''/>
    <!-- Features for Decision Server Rules -->
    <variable name='features.com.ibm.websphere.odm.ds.rules.v87'>
      <!--
      Required features:
        com.ibm.wds.jdk.feature: com.ibm.wds.jdk.feature
        base: base
      -->
      <if name='features' equals='required' value='com.ibm.wds.jdk.feature,base'/>
      <!--
      Default features:
        com.ibm.wds.rules.studio.feature: Rule Designer
        com.ibm.wds.rules.res.feature: Rule Execution Server
        com.ibm.wds.rules.samples.feature: Samples and Tutorials
        com.ibm.wds.updatesites.feature: Update sites for installation into other Eclipse products
        com.ibm.wds.doc.feature: Local help system
      -->
      <if name='features' equals='default' value='com.ibm.wds.jdk.feature,com.ibm.wds.rules.studio.feature,com.ibm.wds.rules.res.feature,com.ibm.wds.rules.samples.feature,com.ibm.wds.updatesites.feature,com.ibm.wds.doc.feature,base'/>
      <!--
      Non-default features:
        com.ibm.wds.rules.scorecard.feature: Scorecard Modeler
        com.ibm.wds.rules.res.tomcat.feature: Rule Execution Server for Tomcat
        com.ibm.wds.rules.res.jboss.feature: Rule Execution Server for JBoss
        com.ibm.wds.rules.res.weblogic.feature: Rule Execution Server for WebLogic
        com.ibm.wds.rules.res.wlp.feature: Rule Execution Server for Liberty profile
      -->
      <if name='features' equals='all' value='com.ibm.wds.jdk.feature,com.ibm.wds.rules.studio.feature,com.ibm.wds.rules.scorecard.feature,com.ibm.wds.rules.res.feature,com.ibm.wds.rules.res.tomcat.feature,com.ibm.wds.rules.res.jboss.feature,com.ibm.wds.rules.res.weblogic.feature,com.ibm.wds.rules.res.wlp.feature,com.ibm.wds.rules.samples.feature,com.ibm.wds.updatesites.feature,com.ibm.wds.doc.feature,base'/>
    </variable>
  </variables>
  <server>
    <repository location='file:/mnt/hgfs/ODM87/Product/DecisionServerRules/'/>
  </server>
  <preference name='com.ibm.cic.common.core.preferences.eclipseCache' value='${sharedLocation}'/>
  <profile id='Operational Decision Manager V8.7' installLocation='${installLocation}'>
    <!-- Common Data: -->
    <!-- WAS Home user data -->
    <data key='user.wodm_was_home' value=''/>
    <!-- WAS Admin User Password -->
    <data key='user.wodm_admin_password' value='****'/>
    <!-- WAS Admin User Name -->
    <data key='user.wodm_admin_username' value=''/>
    <!-- Confirm User Password -->
    <data key='user.confirm_password' value='****'/>
    <!-- User data for License -->
    <data key='user.lic.dsr' value=''/>
    <!-- User data for Production -->
    <data key='user.prod.dsr' value=''/>
    <!-- User data for Production -->
    <data key='user.prod.dse' value=''/>
    <!-- User data for License -->
    <data key='user.lic.dse' value=''/>
    <!-- User data for License -->
    <data key='user.lic.dc' value=''/>
  </profile>
  <install>
    <!-- Decision Server Rules 8.7.0.0 -->
    <offering profile='Operational Decision Manager V8.7' id='com.ibm.websphere.odm.ds.rules.v87' version='8.7.0.20141114_0949' features='${features.com.ibm.websphere.odm.ds.rules.v87}'/>
  </install>
</agent-input>


Notice that the passwords are hashed out; there's no way with IIM that someone can determine the passwords that we used to build the environment, and that's a good thing.

I can also have IIM actually create a response file, rather than merely outputting to the console:

/opt/IBM/InstallationManager/eclipse/tools/imcl generateResponseFile -repositories /mnt/hgfs/ODM87/Product/DecisionServerRules/repository.config,/mnt/hgfs/ODM87/Fixes/updates/repository.config -output buildODM87.rsp

Generated response file buildODM87.rsp

However, we now have some documentation about our environment, as well as a response file that we can use to perform a new installation, perhaps on a new environment.

Finally, I can generate a response file even without the original product/fix repositories to hand:

/opt/IBM/InstallationManager/eclipse/tools/imcl generateResponseFile -installationDirectory /opt/IBM/ODM87/

<agent-input>
  <variables>
    <variable name='sharedLocation' value='/opt/IBM/IMShared'/>
    <!-- Installation location for Decision Server Rules -->
    <variable name='installLocation' value='/opt/IBM/ODM87'/>
  </variables>
  <preference name='com.ibm.cic.common.core.preferences.eclipseCache' value='${sharedLocation}'/>
  <server>
    <repository location='file:/tmp/foobar/updates/'/>
  </server>
  <profile id='Operational Decision Manager V8.7' installLocation='${installLocation}'>
    <data key='cic.selector.arch' value='x86_64'/>
    <!-- Common Data: -->
    <!-- User data for License -->
    <data key='user.lic.dsr' value='full'/>
    <!-- User data for Production -->
    <data key='user.prod.dsr' value='true'/>
    <!-- WAS Home user data -->
    <data key='user.wodm_was_home' value='/opt/IBM/WebSphere/AppServer'/>
    <!-- WAS Admin User Password -->
    <data key='user.wodm_admin_password' value='****'/>
    <!-- WAS Admin User Name -->
    <data key='user.wodm_admin_username' value='wasadmin'/>
    <!-- Confirm User Password -->
    <!-- WAS Admin User Password -->
    <!-- Confirm User Password -->
    <data key='user.confirm_password' value='****'/>
  </profile>
  <install>
    <!-- Decision Server Rules 8.7.0.1 -->
    <offering profile='Operational Decision Manager V8.7' id='com.ibm.websphere.odm.ds.rules.v87' version='8.7.1.20150319_2251' features='base,com.ibm.wds.jdk.feature,com.ibm.wds.rules.res.feature'/>
  </install>
</agent-input>


and:

/opt/IBM/InstallationManager/eclipse/tools/imcl generateResponseFile -installationDirectory /opt/IBM/WebSphere/AppServer/

<agent-input>
  <variables>
    <variable name='sharedLocation' value='/opt/IBM/IMShared'/>
    <!-- Installation location for: -->
    <!--   IBM® Business Process Manager Advanced -->
    <!--   IBM WebSphere SDK Java Technology Edition (Optional) -->
    <!--   IBM® Business Monitor -->
    <!--   IBM WebSphere Application Server Network Deployment -->
    <!--   IBM® Cognos Business Intelligence 64 bit -->
    <variable name='installLocation' value='/opt/IBM/WebSphere/AppServer'/>
  </variables>
  <preference name='com.ibm.cic.common.core.preferences.eclipseCache' value='${sharedLocation}'/>
  <server>
    <repository location='file:/mnt/hgfs/Software/Repo/BPM856/Product/repository/repos_64bit'/>
    <repository location='file:/mnt/hgfs/Software/Repo/BAM856/Product/repository'/>
    <repository location='file:/mnt/hgfs/Software/Repo/WAS/Fixes'/>
  </server>
  <profile id='IBM WebSphere Application Server V8.5' installLocation='${installLocation}'>
    <data key='cic.selector.arch' value='x86'/>
  </profile>
  <install>
    <!-- IBM® Business Process Manager Advanced 8.5.6.0 -->
    <offering profile='IBM WebSphere Application Server V8.5' id='com.ibm.bpm.ADV.v85' version='8.5.6000.20150304_1832' features='AdvancedProcessCenter'/>
    <!-- IBM WebSphere SDK Java Technology Edition (Optional) 7.0.8.10 -->
    <offering profile='IBM WebSphere Application Server V8.5' id='com.ibm.websphere.IBMJAVA.v70' version='7.0.8010.20150219_1802' features='com.ibm.sdk.7'/>
    <!-- IBM® Business Monitor 8.5.6.0 -->
    <offering profile='IBM WebSphere Application Server V8.5' id='com.ibm.websphere.MON.v85' version='8.5.6000.20150303_1517' features='Monitor.Production'/>
    <!-- IBM WebSphere Application Server Network Deployment 8.5.5.5 -->
    <offering profile='IBM WebSphere Application Server V8.5' id='com.ibm.websphere.ND.v85' version='8.5.5005.20150220_0158' features='com.ibm.sdk.6_64bit,core.feature,ejbdeploy,embeddablecontainer,samples,thinclient'/>
    <!-- IBM® Cognos Business Intelligence 64 bit 10.2.2.0 -->
    <offering profile='IBM WebSphere Application Server V8.5' id='com.ibm.ws.cognos.v1022.linuxia64' version='10.2.2.20150304_1653' features='com.ibm.cognos.feature'/>
  </install>
</agent-input>

 

For the record, I am using IIM 1.8.2, but this feature was introduced in 1.7 a while back, as per this:

 

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"","label":""},"Component":"","Platform":[{"code":"","label":""}],"Version":"","Edition":"","Line of Business":{"code":"","label":""}}]

UID

ibm11080369