In a flexible management environment, you can use the job
manager to install, update, and uninstall IBM WebSphere® Application Server using the command
line with a response file.
Before you begin
Before you install WebSphere Application Server using the job
manager, ensure that you have WebSphere Application Server Version 9.0 installed
on your primary machine.
The user profile
must have *JOBCTL authorization in order to use centralized installation
manager (CIM) on IBM i targets.
Note: CIM jobs to
install, uninstall, and update Installation Manager are not supported
on z/OS targets. You must first install Installation Manager on z/OS
targets before using CIM manage offerings jobs.
About this task
To install WebSphere Application Server,
use wsadmin to run the manageOfferings command.
The manageOfferings command uses a response file
and a security keyring. In the response file, you can set parameters
for the directory in which to install the product on the target machine,
specify where to store product data on the target machine, and specify
the URL of the repository to download the product from. Depending
on your security setup, you can also specify keyring credentials to
log in to the product repository.
After the centralized installation
manager successfully completes the installation process on a remote
node, it then deletes the installation image files that are located
in the temporary location that you specify during the installation
process. If the installation is unsuccessful, the files remain in
the temporary location for you to use to determine what caused the
installation error. However, you can safely delete the files.
Supported configurations: IBM Installation Manager 1.8.5 or later is
required.sptcfg
Procedure
- Start the job manager. For detailed instructions,
see starting the job manager.
- Register a host with the job manager. Before
you can install the product on a target machine, you must register
it with the job manager. Use the wsadmin tool to run the registerHost command.
- You can register the host with a private key; for example:
- Using Jacl:
$AdminTask registerHost {-host hostname -hostProps
{{privateKeyFile filename} {username root }{saveSecurity true}}}
- Using Jython:
AdminTask.registerHost('[-host hostname -hostProps
[[username user][privateKeyFile filename][saveSecurity true]]]')
- You can register the host with a user name and password; for example:
- Using Jacl:
$AdminTask registerHost {-host hostname -hostProps { {password xxxxx}
{ username root } {saveSecurity true}}}
- Using Jython:
AdminTask.registerHost('[-host hostname -hostProps [[password xxxxx][username user]
[saveSecurity true]]]')
- Optional: Test the connection to the targets
on which you want to install the product. Before you install
the product on a target machine, you can test the connection.
- If you test the connection without specifying credentials, the
test will use default to existing credentials; for example:
- You can submit the Test connection job with a username and password;
for example:
- Using Jacl:
$AdminTask submitJob {-jobType testConnection -targetList
{hostname} -username username -password password}
- Using Jython:
AdminTask.submitJob('-jobType testConnection -targetList
[hostname] -username username -password password')
- You can submit the Test connection job with a user name and private
key file; for example:
- Using Jacl:
$AdminTask submitJob {-jobType testConnection -targetList
{hostname} -username username -privateKeyFile private_key_filename}
- Using Jython:
AdminTask.submitJob('-jobType testConnection -targetList
[hostname] -username username -privateKeyFile C:\temp\private_key_filename')
- Optionally run an Inventory job to see what is installed
on your target machine.
- Submit an Inventory job with a user name and password.
- Using Jacl:
$AdminTask submitJob {-jobType inventory -targetList {hostname}
-username username -password password}
- Using Jython:
AdminTask.submitJob('-jobType inventory -targetList [hostname]
-username username -password password')
- Submit an Inventory job without a user name and password.
- Optional: Install or update Installation Manager
on your target machine.
If you already have the correct
version of Installation Manager on your target machine, you can proceed
to the next step. For more information, see managing Installation
Manager using the job manager.
- If you use SSH security, install your public key file.
You can install the public key file using the same credentials
as the job manager. This step does not apply to IBM i targets.
- Run the installSSHPublicKey admin task; for example:
- Using Jacl:
$AdminTask submitJob {-jobType installSSHPublicKey -targetList {target}
-jobParams { {publicKeyFile keyfilepath} } -description "test installSSHPublicKey"}
- Using Jython:
AdminTask.submitJob ('-jobType installSSHPublicKey -targetList [target]
-jobParams [[publicKeyFile keyfilepath]] -description "test installSSHPublicKey"')
- Set up a response file for the manageOfferings command.
- Create a response file. You can create a
response file using the Installation Manager. For more information,
see creating a response file with Installation Manager.
- You can edit the response file to include information
about your target machine.
- You can use the response file to install any offering
that is compatible with Installation Manager. For more information,
see the Installation Manager information center.
![[Windows]](../images/windows.gif)
Create a response file that specifies
the offering profile parameter as
WebSphere Application Server, Network Deployment on Windows;
for example:
<?xml version="1.0" encoding="UTF-8"?>
<agent-input acceptLicense='true' clean='true' temporary='true'>
<server>
<repository location='<MY REPOSITORY LOCATION>'/>
</server>
<profile installLocation='<LOCATION TO INSTALL PRODUCT ON TARGET MACHINE>' id='IBM WebSphere Application Server - ND'>
<data key='cic.selector.nl' value='en'/>
<data key='eclipseLocation' value='<LOCATION TO INSTALL PRODUCT DATA ON TARGET MACHINE>'/>
<data key='user.select.64bit.image,com.ibm.websphere.ND.v90' value='false'/>
</profile>
<install modify='false'>
<offering profile='IBM WebSphere Application Server - ND' features='core.feature' id='com.ibm.websphere.ND.v90' />
</install>
<preference value='false' name='PassportAdvantageIsEnabled'/>
<preference value='30' name='com.ibm.cic.common.core.preferences.connectTimeout'/>
<preference value='0' name='com.ibm.cic.common.core.preferences.downloadAutoRetryCount'/>
<preference value='C:\Program Files\IBM\WebSphere\AppServer-Shared' name='com.ibm.cic.common.core.preferences.eclipseCache'/>
<preference value='false' name='com.ibm.cic.common.core.preferences.http.disablePreemptiveAuthentication'/>
<preference value='false' name='com.ibm.cic.common.core.preferences.keepFetchedFiles'/>
<preference value='true' name='com.ibm.cic.common.core.preferences.preserveDownloadedArtifacts'/>
<preference value='30' name='com.ibm.cic.common.core.preferences.readTimeout'/>
<preference value='false' name='com.ibm.cic.common.core.preferences.searchForUpdates'/>
<preference value='false' name='com.ibm.cic.common.core.preferences.ssl.nonsecureMode'/>
<preference value='true' name='http.ntlm.auth.enableIntegrated.win32'/>
<preference value='NTLM' name='http.ntlm.auth.kind'/>
<preference value='true' name='offering.service.repositories.areUsed'/>
</agent-input>
- Save the response file as filename.txt.
- Run the manageOfferings command. For the job to run successfully, you must specify acceptLicense
TRUE.
- Open wsadmin from the job manager profile bin directory.
- Enter the manageOfferings command
in wsadmin. For example:
- Using Jacl:
$AdminTask submitJob {-jobType manageOfferings -targetList hostname -username user -password *******
-jobParams
{{responseFile <RESPONSE FILE LOCATION>} {acceptLicense TRUE} {IMPath <IM install location>}
{keyringFile <key ring file location>} {keyringPassword pwd} }}
- Using Jython:
AdminTask.submitJob ('-jobType manageOfferings -targetList hostname -username user -password *******
-jobParams
[[responseFile <RESPONSE FILE LOCATION>] [acceptLicense TRUE][IMPath <IM install location>]
[keyringFile <key ring file location>] [keyringPassword pwd]]')
The manageOfferings command
pulls the response file that you created in this task and begins the
product installation.
The following parameter for this job is required:
- responseFile: (Response file path name) This parameter contains
the full path name to the offering response file on the job manager
machine.
The following parameters for this job are optional:
- IMPath: (IBM Installation Manager Path) This parameter contains
the full path of the IBM installation manager on the remote machine.
Use this parameter if you have more than one instance of Installation
Manager on your remote machine. If you have only one instance of Installation
Manager installed, you can leave this parameter empty because the
job can find it. Specify whether the target machine has more than
one instance of Installation Manager installed.
- keyringFile: (IBM Installation Manager key ring file): If the
package repository requires a key ring file for authentication, specify
the full path name of the key ring file on the job manager machine.
- keyringPassword: (Key ring password) If the key ring file is password
protected, specify the key ring password.
- secureStorageFile: (Secure storage file)
If you are using a secure file to store user credentials, specify
the full path name of the secure storage file.
- masterPasswordFile: (Master password file)
If you are using a master password file that contains a master passphrase,
such as "This text is the passphrase for a master password file, specify
the full path name of the master password file.
- Optional: Run the collectFile and distributeFile administrative
tasks.
Optionally transfer files to or from the target
machine and delete files on the target machine. For example, if the
installation fails, you might want to transfer the log files from
the target machine to understand why the job failed. When using these
administrative tasks, you can specify wildcards in the filename.
Avoid trouble: The destination must be a directory, it cannot
be a file.
gotcha
- To collect a file from remote hosts:
- Using Jacl:
$AdminTask submitJob {-jobType collectFile -targetList hostname -jobParams
{{source D:\\WAS85\\logs\\manageprofiles\\response.log} {destination log}}}
- Using Jython:
AdminTask.submitJob('-jobType collectFile -targetList hostname -jobParams
[[source D:\\WAS85\\logs\\manageprofiles\\response.log] [destination log]')
- To distribute a file to remote hosts:
- Using Jacl:
$AdminTask submitJob{-jobType distributeFile -targetList hostname
-jobParams {{source test.txt}{destination D:\\temp\\test.txt} }}
- Using Jython:
AdminTask.submitJob('-jobType distributeFile -targetList hostname
-jobParams [[source test.txt][destination D:\\temp\\test.txt] ]')
- To delete a file on remote hosts:
- Using Jacl:
$AdminTask submitJob{-jobType removeFile -targetList hostname
-jobParams {{location D:\\temp\\test.txt}}}
- Using Jython:
AdminTask.submitJob('-jobType removeFile -targetList hostname
-jobParams [[location D:\\temp\\test.txt] ]')
- Create a profile for the newly installed product on the
target machine.
Restriction: This
step does not apply to z/OS targets.
Specify the following
parameters:
- targetList: The machine where you want to create a new profile
- wasHome: The directory where you installed the product on the
machine that is running job manager
- responsefile: Enter the directory where you saved your response
file. This text file provides the parameters and information of the
profile to create.
For example:
- Using Jacl:
$AdminTask submitJob {-jobType manageprofiles -targetList hostname
-jobParams {{wasHome D:\\WAS70GA} {responseFile D:\\temp\\mp1.txt}}}
- Using Jython:
$AdminTask submitJob {-jobType manageprofiles -targetList hostname
-jobParams {{wasHome D:\\WAS70GA} {responseFile D:\\temp\\mp1.txt}}}
Results
You have installed the product on a target machine and
created a profile using the job manager.
What to do next
Using the job manager, you can run any command or script
on your target computer.
- Using Jacl:
$AdminTask runCommand {-host hostname -jobParams
{{command command_to_run}{workingDir working_directory_on_remote_host}}}
- Using Jython:
$AdminTask.runCommand ('-host hostname -jobParams
[[command command_to_run][workingDir working_directory_on_remote_host]]')