Synchronizing nodes using the wsadmin scripting tool

You can propagate node changes using scripting and the wsadmin tool.

Before you begin

There are two ways to complete this task. This topic uses the AdminControl object to synchronize nodes. Alternatively, you can use the node administration scripts in the AdminNodeManagement script library to synchronize a specific node, or to synchronize all active nodes.

About this task

A node synchronization is necessary in order to propagate configuration changes to the affected node or nodes. By default, this situation occurs periodically, as long as the node can communicate with the deployment manager. You can propagate changes explicitly by running commands that synchronize the configuration.

Procedure

  1. Set the variable for node synchronization.
    • Using Jacl:

      set Sync1 [$AdminControl completeObjectName type=NodeSync,process=nodeagent,node=myNodeName,*]
      
    • Using Jython:

      Sync1 = AdminControl.completeObjectName('type=NodeSync,process=nodeagent,node=myNodeName,*')
    Table 1. AdminControl completeObjectName command description . Run a command from a wsadmin command line.
    Attribute Definition
    set is a Jacl command
    Sync1 is a variable name
    $ is a Jacl operator for substituting a variable name with its value
    AdminControl is an object that enables the manipulation of MBeans running in a product process
    completeObjectName is an AdminControl command
    type=NodeSync,process=nodeagent,node=myNodeName is a fragment of the object name. The complete name is returned by this command. This fragment is used to find the matching object name which is the SyncNode object for the myNodeName node, where myNodeName is the name of the node that you use to synchronize configuration changes. For example: type=Server, name=serv1. It can be any valid combination of domain and key properties. For example, type, name, cell, node, process, and so on.
    Example output:
    WebSphere:platform=common,cell=myNetwork,version=5.0,name=node
    Sync,mbeanIdentifier=nodeSync,type=NodeSync,process=nodeagent,node=myBaseNode,
    process=nodeagent
    
  2. Synchronize the node by issuing the following command:
    • Using Jacl:

      $AdminControl invoke $Sync1 sync
    • Using Jython:

      AdminControl.invoke(Sync1, 'sync')
    Table 2. AdminControl invoke command description . Run a command from a wsadmin command line.
    Attribute Definition
    $ is a Jacl operator for substituting a variable name with its value
    AdminControl is an object that enables the manipulation of MBeans that run in a product process
    invoke is an AdminControl command
    Sync1 evaluates the ID of the server that is specified in step number 1
    sync is an attribute of modify command
    Example output:
    true
    You receive an output value of true, if the synchronization completes.

Results

When the synchronization is complete, the files that are created in the config directory for the deployment manager now exist on the myNodeName node in the app_server_root/config directory.