Pausing an application server listener to manually update a
high availability application
Instead of stopping the application server, you can use
the MVS™ console Modify command to pause the listeners
for that application server, perform the application update, and then
resume the listeners. If you use this technique, you do not have to
stop and then start the server to perform the application update.
Before you begin
Determine which application servers are hosting the cluster
members that need updating.
About this task
If you have a high availability application whose updates
you want to manually control, but you do not want to stop the affected
servers, you can use the MVS Modify command to pause the listener
for each of these servers and then update the application.
Avoid trouble: The MODIFY server,PAUSELISTENERS
command stops the controller from listening on all ports except IIOP
(ORB_TCP_SECURE and ORB_TCP_LISTENER). For IIOP, when this modify
command is issued, the daemon stops sending requests to the IIOP transport
channels. However, if you are running client applications that do
caching, such as bean caching, it is possible for requests from these
applications to be sent directly to the open IIOP port. This situation
might occur because the IIOP listeners start early in the server startup
process, thereby possibly opening the IIOP port before this modify command
is issued.
To pause the listeners and manually control application
rollout in a high availability environment:
Note:
Procedure
Disable all forms of automatic synchronization, across
all nodes in the cell and save the changes.
Perform one
of the following processes to complete this step:
Deselect the Automatic Synchronization and Startup Synchronization options.
Select the Synchronize changes with nodes option.
Click Save.
Use wsadmin scripting to specify the following commands and then restart all affected node
agents:
set node NODE
set na_id [$AdminConfig getid /Node:$node/Server:nodeagent/]
set syncServ [$AdminConfig list ConfigSynchronizationService $na_id]
$AdminConfig modify $syncServ {{autoSynchEnabled false}}
$AdminConfig modify $syncServ {{synchOnServerStartup false}}
$AdminConfig save
set nodeSync [$AdminControl completeObjectName type=NodeSync,node=$node,*]
$AdminControl invoke $nodeSync sync
Note: For
a production environment, it is reasonable to always run the node agent with automatic
synchronization disabled. However, it is advisable for startup synchronization to be enabled for the
node agent so that it can acquire configuration updates that occur when the node agent is down.
Startup Synchronization can remain enabled provided you can ensure that you will not restart the
node agent manually, through automation, or through automatic restart manager during the application
update process.
Update the application in the master configuration repository
on the deployment manager server.
Perform one of the following
processes to complete this step:
In the administrative console:
Click Applications > Enterprise Applications.
Select the application you want to update.
Complete the application update process.
Save your changes to the master configuration. DO NOT select
the Synchronize changes with nodes option .
Use wsadmin scripting to issue the following command:
set app_loc /path/to/app
set app_options {application options ie: -appname app}
set options [list -update] lappend options $app_options
$AdminApp install $app_loc $options
$AdminConfig save
At this point, you have the updated the
version of your application (App v2 in the following figure) in your
Master Configuration. However, the original version of your application
(App v1 in the following figure) is still running in the cluster that
has Cluster members on LPAR1 and LPAR2.
Pause the listener of the application server on LPAR1 and
manually synchronize the node to the updated version of the application.
After you pause the listener, wait for all work items currently
assigned to the server to complete, and then issue the following command
from the MVS Console:
MODIFY short_server_name,PAUSELISTENERS
For
example, if the short name for the server you are pausing is BBOS001,
issue the following command:
MODIFY BBOS001,PAUSELISTENERS
Synchronize the node.
Perform one of the following
processes to complete this step:
In the administrative console:
Click System Administration > Node
agents.
Select the node you want to synchronize, and then click Full
Resynchronize.
Use wsadmin scripting to issue the following commands:
set node NODE
set nodeSync [$AdminControl completeObjectName type=NodeSync,node=$node,*]
$AdminControl invoke $nodeSync sync
As illustrated in the following figure, the updated version
of the application (App v2) now resides in the node on LPAR1.
Resume the listener of the application server on LPAR1.
Issue the following command from the MVS Console:
MODIFY short_server_name,RESUMELISTENERS
For
example, if the short name for the server you are pausing is BBOS001,
issue the following command:
MODIFY BBOS001,RESUMELISTENERS
With the new version of the application running on LPAR1,
repeat the preceding three steps on the other LPARs in the cluster
to update them with the new version of the application.
The
following figure illustrates what your configuration will look like
in a two LPAR cluster.
Results
The application update process is complete when the new
version of the application is running on all of the LPARs in the cluster.