[z/OS]

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

  1. 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:
    • In the administrative console:
      1. Click System Administration > Node agents > node_agent_name > File Synchronization Service.
      2. Deselect the Automatic Synchronization and Startup Synchronization options.
      3. Select the Synchronize changes with nodes option.
      4. 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.
  2. 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:
      1. Click Applications > Enterprise Applications.
      2. Select the application you want to update.
      3. Complete the application update process.
      4. 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.

      Figure 1. Install application update . This figure illustrates the first stage of an application update in a high availability environment.
      Install Application Update
  3. 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
  4. Synchronize the node.
    Perform one of the following processes to complete this step:
    • In the administrative console:
      1. Click System Administration > Node agents.
      2. 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.

    Figure 2. Update the node on LPAR1 . This figure illustrates the first stage of an application update in a high availability environment with two LPARs.
    Update node on LPAR1
  5. 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
  6. 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.
    Figure 3. Update the node on LPAR2 . This figure illustrates the second stage of an application update in a high availability environment.
    Update node on LPAR2

Results

The application update process is complete when the new version of the application is running on all of the LPARs in the cluster.