Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: 'Introduction' extended

Table of Contents

...

Introduction

This article describes the use of is one of a series describing how to configure the JobScheduler Universal Agent Batch Installer for installing additional JobScheduler Universal Agents in an environment in which a number of the Agents have already been installed. The environment can be summarized as having the following characteristics:

  • A JobScheduler Master is up and running.
  • JobScheduler Agents have already been installed on different Agent servers.
  • Another Agent is to be installed.
  • The new Agent will be operated with same user and installation path as for the rest of the Agents installed on this Agent server.
  • The listening port for the new Agent will be obviously a different one than the installed Agents on this server.

Prerequisites

In case you an extra Agent installation has to be done, that would mean that other Agents have been installed (either using the Batch Installer or through other methods). In any case, to understand properly how this application works in case you had not use the Batch Installer for Agents before, you can find the relevant information for your corresponding environment in the articles described below - have a look at the chapters "Batch Installer Application" and "Download":

...

so that a number of Universal Agents can be readily installed on a number of servers.

Article Scope

This article describes how to use the Universal Agent Batch Installer to install Agents in an environment where Agents have already been installed. Other use cases in this series of articles are listed in the introductory JobScheduler Universal Agent - Batch Installation and Update of Agents article.

A general introduction to installation of the JobScheduler Universal Agent can be found in the JobScheduler Universal Agent - Installation & Operation article.

The JobScheduler Universal Agent - Batch Installation and Update of Agents article provides an overview of how the Batch Installer works. New users are strongly recommended to read this article before proceeding with the instructions presented here.

The Batch Installation - Reference Documentation article provides a detailed guide to configuration of the batch installer with, for example, full lists of parameters.

Installation Environment

This article describes the use of the JobScheduler Agent Batch Installer for installing JobScheduler Agents in an environment in which a number of the Agents have already been installed and where the new Agents are to be installed on a server which already has at least one Agent. The environment can be summarized as having the following characteristics

...

:

  • A JobScheduler Master is up and running.
  • The Agent installations are to be performed on any A number of JobScheduler Agents have already been installed on different Agent servers.
    • At least one additional servers that have the same operating system. One Agent is to be installed per serveron a server which already has an Agent installed on it.
    • The Agents additional Agent installation will overwrite the previous Agent installation.
  • The new Agent(s) will be operated with the same user , listening port and installation path .Batch Installer Use Case: Heterogeneous environments: This article describes the use of the JobScheduler Universal Agent Batch Installer in a heterogeneous environment. We define a heterogeneous environment as one in which a number of JobScheduler the Agents will be installed according to different prerequisites:A JobScheduler Master is up and runningalready installed on an Agent server.
  • The Agent installations are to be performed on any number of servers that do not have to have the same operating system. One Agent is to be installed per server.
  • The Agents will be operated with different users, listening ports and installation paths.
  • Batch Installer Use Case: Multiple Instances: This article describes the use of the JobScheduler Universal Agent Batch Installer for installing multiple Agent instances in a heterogeneous environment. A multiple number of JobScheduler Agents will be installed on every Agent server and every installation will be based on different prerequisites:
    • A JobScheduler Master is up and running.
    • The Agent installations are to be performed on any number of servers that do not have to have the same operating system. More than one Agent is to be installed per server.
    • In every Agent server, the Agents will be operated with different users and different listening ports.
      • The Agents will be operated with different users (within the same Agent server) to make the example more multifaceted, although the same user can operate more than one Agent if the Agents run on different ports.
    • The installation path will be the same for all Agent installations.

Configuration

XML files

  • new Agent will be identified by its listening port which will be unique for the server which the Agent is being installed on.

The use case described in this article builds on the case presented in the Batch Installation - Use Cases - Multiple Instances article in which a total of four agents were installed on two servers. Note, however, that only one Agent server with a single Agent installed on it is required before the current example can be implemented.

Prerequisites

The following articles describe the installation of Agents using the Agent Batch Installer. These articles all cover fresh installation - i.e. the installation of a first Agent on a server - or update for a number of different environments. In case an extra Agent installation should be carried out, the user came previously across one of these environments (either using the Batch Installer or through other methods). In particular, we recommend to have a look the "Batch Installer Application" and "Download" sections in each article to understand how the solution works:

Excerpt Include
Batch Installer for the JobScheduler Universal Agent (deprecated)
Batch Installer for the JobScheduler Universal Agent (deprecated)
nopaneltrue

Configuration

XML Files

Configuring complex Configuring XML files with a text editor is often a tedious and error-prone and procedure. To get around this, we recommend that you download the you use our XML Editor and use it to manage the configuration files required for the Batch Installer. The XML Editor automatically validates configuration files and therefore reduces the possibility of configuration errors. See the Using the XML Editor chapter below section below for more detailed information about using the XML Editor.

  • After downloading the XML Editor, extract the contents of the zip file to a convenient folder (an installation routine is not required) and start the sos.xml.editor.exe program.
  • Open your yade_agent_batch_installer_settings.xml YADE configuration file, which is located in the config/batch_installer folder and assign the XSD schema http://www.sos-berlin.com/schema/yade/YADE_configuration_v1.0.xsd. See the YADE profiles for the file transfer chapter section below for instructions on how to configure the YADE configuration file.
  • Open your batch_installer_config_file.xml configuration file in the XML Editor and assign the scheduler_universal_agent_installations.xsd schema: both files are located in the config/batch_installer folder. See the Batch Installer Configuration File chapter section below for instructions on how to configure the Batch Installer configuration file.

Info
titleHints
  • The  XML Editor is available for Windows.
  • YADE is an Open Source file transfer solution for FTP, SFTP, FTPS, WebDAV and other protocols. Concretely, it will be It is used here for transferring the following files from the JobScheduler Master to the Agent servers:
    • JobScheduler Universal Agent installation files: jobscheduler_unix_universal_agent.1<version>.11.0-SNAPSHOT.tar.tar.gz
    • Start script for an Agent instance: jobscheduler_agent_<port>.sh
    • Installation script: jobscheduler_universal_agent_install.sh
  • For more information about YADE, see the YADE product site.

JobScheduler Jobs

Carry out the following once the job and job chain have been extracted to the live folder of your JobScheduler Master: 

  • AgentBatchInstaller job: adjust the parameter values for the AgentBatchInstaller job in your JobScheduler Master.
    • Set the installation_definition_file job parameter to the path to the Batch Installer configuration file.

    • Set the update job parameter to false. This value set to false is the one that will determine that the rest of the installations defined in the configuration for Batch Installer Configuration File are not going to be performed.

Installation of the Agents

The Agents can be installed after the XML configuration files and JobScheduler jobs have been configured. Start a task for the AgentBatchInstaller job as follows:

  1. Open a JobScheduler Operating Center (JOC) browser window for the JobScheduler master.
  2. Go on the "Jobs" Window and open the "batch_installer_universal_agent" folder.
  3. Right click on the job to open the context menu.
  4. Select the Start task immediately operation.

Example: Installation of one extra JobScheduler Universal Agent

Background information

The JobScheduler Agents will be installed by the JobScheduler Master which:

  • connects to the servers that the Agents are to be installed on and
  • executes the required Agent installations.

The Batch Installer has two main components:

  • a JobScheduler AgentBatchInstaller job  and
  • a JobScheduler universal_agent_installer job chain.

In addition, two XML files batch_installer_config_file.xml and yade_agent_batch_installer_settings.xml are needed for the application. 

The AgentBatchInstaller job is responsible for creating the JobScheduler orders for the job chain. Each of these orders uses a name according to the pattern <host>:<port> to convey the host and port of the server where each Agent is to be installed.

Configuration

Carry out the following once the job and job chain have been extracted to the live folder of the JobScheduler Master: 

  • AgentBatchInstaller job: adjust the parameter values for the AgentBatchInstaller job in your JobScheduler Master.
    • Set the installation_definition_file job parameter to the path to the Batch Installer configuration file.

    • Set the update job parameter to false. This will ensure that in the example described below the Batch Installer will not attempt to update existing Agent installations that have been installed using the Batch Installer - and whose configurations are included in the Batch Installer Configuration File.

Further information

A detailed description of the installation procedure itself can be found in the Batch Installation - Reference Documentation article.

Installation of the Agents

The Agents can be installed after the XML configuration files and JobScheduler jobs have been configured. Start a task for the AgentBatchInstaller job as follows:

  1. Open a JobScheduler Operating Center (JOC) browser window for the JobScheduler master.
  2. Go on the Jobs Window and open the batch_installer_universal_agent folder.
  3. Right click on the job to open the context menu.
  4. Select the Start task immediately operation.

Example: Installation of an additional JobScheduler Universal Agent

The following example describes The following example describes how to do the installation and configuration of one a JobScheduler Universal Agents in one of the Agent Servers, where exactly Agent on an Agent Servers, in an environment with four JobScheduler Universal Agents had already been installed - two Agents on two different servers. The extra instance is added to the configuration already described in the Use Case above: Batch Installer Use Case: Multiple Instances Batch Installation - Use Cases - Multiple Instances use case. ´The Batch Installer will ignore the configuration information for the agents that have already been installed as the update job parameter for the AgentBatchInstaller job has been set to false as described in the JobScheduler Jobs section of this article above.

Anchor
yade_profile_transfer
yade_profile_transfer
YADE Configuration File for File Transfer

We assume that you  have opened the yade_agent_batch_installer_settings.xml YADE configuration file and have assigned the http://www.sos-berlin.com/schema/yade/YADE_configuration_v1.0.xsd XSD schema. The XML file contains a basic example with recommended values for the installation of a single Agent.

...

  1. Add a <ProtocolFragments> element and nodes for each host that you want to install the Agent for. The best way to add another <ProtocolFragments> element using the XML Editor is copying the element and pasting it to the parent element - in this case <Fragments>.
  2. Add a <Profile> element and nodes for each host that you want to install the Agent for. The best way to add another <Profile> element using the XML Editor is copying the element and pasting it to the parent element - here <Profiles>.
  3. The default profile_id is <host>:<port>. If you do not use the default then you have to specify the profile name in the Batch Installer configuration file.

An example for the Batch Installer configuration You can download the YADE Configuration file for the installation of two Agents is attached to this page (downloadexample here: yade_agent_batch_installer_settings.xml) and is . The contents of this file are shown in the following code block:

Code Block
languagexml
titleYADE Profiles
collapsetrue
<?xml version="1.0" encoding="utf-8"?>
<Configurations xsi:noNamespaceSchemaLocation="http://www.sos-berlin.com/schema/yade/YADE_configuration_v1.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Fragments>
    <ProtocolFragments>
      <SFTPFragment name="SFTP_192.11.0.111:4445">
        <BasicConnection>
          <Hostname><![CDATA[192.11.0.111]]></Hostname>
        </BasicConnection>
        <SSHAuthentication>
          <Account><![CDATA[test]]></Account>
          <AuthenticationMethodPassword>
            <Password><![CDATA[xxxx]]></Password>
          </AuthenticationMethodPassword>
        </SSHAuthentication>
      </SFTPFragment>
      <SFTPFragment name="SFTP_192.11.0.111:4446">
        <BasicConnection>
          <Hostname><![CDATA[192.11.0.111]]></Hostname>
        </BasicConnection>
        <SSHAuthentication>
          <Account><![CDATA[sos]]></Account>
          <AuthenticationMethodPassword>
            <Password><![CDATA[xxxx]]></Password>
          </AuthenticationMethodPassword>
        </SSHAuthentication>
      </SFTPFragment>
      <SFTPFragment name="SFTP_192.11.0.95:4445">
        <BasicConnection>
          <Hostname><![CDATA[192.11.0.95]]></Hostname>
        </BasicConnection>
        <SSHAuthentication>
          <Account><![CDATA[sos]]></Account>
          <AuthenticationMethodPassword>
            <Password><![CDATA[xxxx]]></Password>
          </AuthenticationMethodPassword>
        </SSHAuthentication>
      </SFTPFragment>
      <SFTPFragment name="SFTP_192.11.0.95:4446">
        <BasicConnection>
          <Hostname><![CDATA[192.11.0.95]]></Hostname>
        </BasicConnection>
        <SSHAuthentication>
          <Account><![CDATA[sostest]]></Account>
          <AuthenticationMethodPassword>
            <Password><![CDATA[xxxx]]></Password>
          </AuthenticationMethodPassword>
        </SSHAuthentication>
      </SFTPFragment>
	  <SFTPFragment name="SFTP_
    </ProtocolFragments>
  </Fragments>
  <Profiles>
    <Profile profile_id="192.11.0.111:44484445">
        <BasicConnection><Operation>
        <Copy>
  <Hostname><![CDATA[192.11.0.111]]></Hostname>
        </BasicConnection><CopySource>
        <SSHAuthentication>
    <CopySourceFragmentRef>
      <Account><![CDATA[test]]></Account>
         <LocalSource <AuthenticationMethodPassword>/>
            <Password><![CDATA[xxxx]]></Password>
</CopySourceFragmentRef>
            </AuthenticationMethodPassword><SourceFileOptions>
        </SSHAuthentication>
       </SFTPFragment><Selection>
    </ProtocolFragments>
  </Fragments>
  <Profiles>
    <Profile profile_id="192.11.0.111:4445">
      <Operation><FileSpecSelection>
        <Copy>
          <CopySource><FileSpec><![CDATA[.*\.(sh|gz)$]]></FileSpec>
            <CopySourceFragmentRef>
      <Directory><![CDATA[C:\Program        <LocalSource />
 Files (x86)\sos-berlin.com\jobscheduler\vg_4444\scheduler_data\config\batch_installer]]></Directory>
                </CopySourceFragmentRef>FileSpecSelection>
            <SourceFileOptions>  </Selection>
            </SourceFileOptions>
   <Selection>       </CopySource>
          <CopyTarget>
      <FileSpecSelection>
      <CopyTargetFragmentRef>
             <FileSpec><![CDATA[.*\.(sh|gz)$]]></FileSpec>
 <SFTPFragmentRef ref="SFTP_192.11.0.111:4445" />
            </CopyTargetFragmentRef>
            <Directory><![CDATA[C:\tmp\agent_batch/home/test/tmp/]]></Directory>
          </CopyTarget>
        </FileSpecSelection>Copy>
      </Operation>
        </Selection>Profile>
    <Profile profile_id="192.11.0.111:4446">
       </SourceFileOptions><Operation>
          </CopySource><Copy>
          <CopyTarget><CopySource>
            <CopyTargetFragmentRef><CopySourceFragmentRef>
              <SFTPFragmentRef ref="SFTP_192.11.0.111:4445"<LocalSource />
            </CopyTargetFragmentRef>CopySourceFragmentRef>
            <Directory><![CDATA[/home/test/tmp/]]></Directory><SourceFileOptions>
          </CopyTarget>
        </Copy><Selection>
      </Operation>
    </Profile>
    <Profile profile_id="192.11.0.111:4446">
      <Operation> <FileSpecSelection>
        <Copy>
          <CopySource><FileSpec><![CDATA[.*\.(sh|gz)$]]></FileSpec>
            <CopySourceFragmentRef>
      <Directory><![CDATA[C:\Program        <LocalSource />Files (x86)\sos-berlin.com\jobscheduler\vg_4444\scheduler_data\config\batch_installer]]></Directory>
                </CopySourceFragmentRef>FileSpecSelection>
            <SourceFileOptions>  </Selection>
            </SourceFileOptions>
    <Selection>
      </CopySource>
          <CopyTarget>
       <FileSpecSelection>
     <CopyTargetFragmentRef>
              <FileSpec><![CDATA[.*\.(sh|gz)$]]></FileSpec><SFTPFragmentRef ref="SFTP_192.11.0.111:4446" />
            </CopyTargetFragmentRef>
            <Directory><![CDATA[C:\tmp\agent_batch/home/sos/tmp/]]></Directory>
          </CopyTarget>
        </FileSpecSelection>Copy>
       </Operation>
       </Selection>Profile>
    <Profile profile_id="192.11.0.95:4445">
       </SourceFileOptions><Operation>
          </CopySource><Copy>
          <CopyTarget><CopySource>
            <CopyTargetFragmentRef><CopySourceFragmentRef>
              <SFTPFragmentRef ref="SFTP_192.11.0.111:4446"<LocalSource />
            </CopyTargetFragmentRef>CopySourceFragmentRef>
            <Directory><![CDATA[/home/sos/tmp/]]></Directory><SourceFileOptions>
          </CopyTarget>
         </Copy><Selection>
      </Operation>
    </Profile>
    <Profile profile_id="192.11.0.95:4445">
      <Operation> <FileSpecSelection>
        <Copy>
          <CopySource><FileSpec><![CDATA[.*\.(sh|gz)$]]></FileSpec>
            <CopySourceFragmentRef>
      <Directory><![CDATA[C:\Program        <LocalSource />Files (x86)\sos-berlin.com\jobscheduler\vg_4444\scheduler_data\config\batch_installer]]></Directory>
                </CopySourceFragmentRef>FileSpecSelection>
            <SourceFileOptions>  </Selection>
            </SourceFileOptions>
   <Selection>       </CopySource>
          <CopyTarget>
      <FileSpecSelection>
      <CopyTargetFragmentRef>
             <FileSpec><![CDATA[.*\.(sh|gz)$]]></FileSpec>
 <SFTPFragmentRef ref="SFTP_192.11.0.95:4445" />
            </CopyTargetFragmentRef>
            <Directory><![CDATA[C:\tmp\agent_batch/home/sos/tmp/]]></Directory>
          </CopyTarget>
        </FileSpecSelection>Copy>
      </Operation>
        </Selection>Profile>
    <Profile profile_id="192.11.0.95:4446">
       </SourceFileOptions><Operation>
          </CopySource><Copy>
          <CopyTarget><CopySource>
            <CopyTargetFragmentRef><CopySourceFragmentRef>
              <SFTPFragmentRef ref="SFTP_192.11.0.95:4445"<LocalSource />
            </CopyTargetFragmentRef>CopySourceFragmentRef>
            <Directory><![CDATA[/home/sos/tmp/]]></Directory><SourceFileOptions>
          </CopyTarget>
        </Copy><Selection>
      </Operation>
    </Profile>
    <Profile profile_id="192.11.0.95:4446">
      <Operation> <FileSpecSelection>
        <Copy>
          <CopySource><FileSpec><![CDATA[.*\.(sh|gz)$]]></FileSpec>
            <CopySourceFragmentRef>
      <Directory><![CDATA[C:\Program        <LocalSource />Files (x86)\sos-berlin.com\jobscheduler\vg_4444\scheduler_data\config\batch_installer]]></Directory>
                </CopySourceFragmentRef>FileSpecSelection>
            <SourceFileOptions>  </Selection>
            </SourceFileOptions>
    <Selection>
      </CopySource>
          <CopyTarget>
       <FileSpecSelection>
     <CopyTargetFragmentRef>
              <FileSpec><![CDATA[.*\.(sh|gz)$]]></FileSpec><SFTPFragmentRef ref="SFTP_192.11.0.95:4446" />
            </CopyTargetFragmentRef>
            <Directory><![CDATA[C:\tmp\agent_batch/home/test/tmp/]]></Directory>
                </FileSpecSelection>CopyTarget>
        </Copy>
      </Selection>Operation>
    </Profile>
	<Profile profile_id="192.11.0.111:4448">
       </SourceFileOptions><Operation>
          </CopySource><Copy>
          <CopyTarget><CopySource>
            <CopyTargetFragmentRef><CopySourceFragmentRef>
              <SFTPFragmentRef ref="SFTP_192.11.0.95:4446"<LocalSource />
            </CopyTargetFragmentRef>CopySourceFragmentRef>
            <Directory><![CDATA[/home/test/tmp/]]></Directory><SourceFileOptions>
          </CopyTarget>
        </Copy><Selection>
      </Operation>
    </Profile>
	<Profile profile_id="192.11.0.111:4448">
      <Operation><FileSpecSelection>
        <Copy>
          <CopySource><FileSpec><![CDATA[.*\.(sh|gz)$]]></FileSpec>
            <CopySourceFragmentRef>
      <Directory><![CDATA[C:\Program        <LocalSource />
 Files (x86)\sos-berlin.com\jobscheduler\vg_4444\scheduler_data\config\batch_installer]]></Directory>
                </CopySourceFragmentRef>FileSpecSelection>
            <SourceFileOptions>  </Selection>
            </SourceFileOptions>
   <Selection>       </CopySource>
          <CopyTarget>
      <FileSpecSelection>
      <CopyTargetFragmentRef>
             <FileSpec><![CDATA[.*\.(sh|gz)$]]></FileSpec>
 <SFTPFragmentRef ref="SFTP_192.11.0.111:4448" />
            </CopyTargetFragmentRef>
            <Directory><![CDATA[C:\tmp\agent_batch/home/test/tmp/]]></Directory>
                </FileSpecSelection>CopyTarget>
              </Selection>Copy>
            </SourceFileOptions>Operation>
          </CopySource>Profile>
          <CopyTarget>
            <CopyTargetFragmentRef>
              <SFTPFragmentRef ref="SFTP_192.11.0.111:4448" />
            </CopyTargetFragmentRef>
            <Directory><![CDATA[/home/test/tmp/]]></Directory>
          </CopyTarget>
        </Copy>
      </Operation>
    </Profile>
  </Profiles>
</Configurations>

...

</Profiles>
</Configurations>

Anchor
yade_settings_file
yade_settings_file
YADE Settings File for File Transfer

Note that the file shown above is an in the YADE XML file format and that YADE versions less that 1.11 require a .ini file to perform the transfer that is specified in the <globals><install_path><transfer><settings> element in the Batch Installer configuration file.

  • We recommended that you use the XML Editor to convert configuration files from XML to the .ini format

Note that the file shown above is an in the YADE XML file format and that YADE versions less that 1.11 and newer require a .ini file to perform the transfer that is specified in the <globals><install_path><transfer><settings> element in the Batch Installer configuration file.

Code Block
titleINI file
collapsetrue
[protocol_fragment_sftp@SFTP_192.11.0.111:4445]
protocol                            = sftp
host                                = 192.11.0.111
user                                = test
ssh_auth_method                     = password
password                            = xxxx
[protocol_fragment_sftp@SFTP_192.11.0.111:4446]
protocol                            = sftp
host                                = 192.11.0.111
user                                = sos
ssh_auth_method                     = password
password                            = xxxx
[protocol_fragment_sftp@SFTP_192.11.0.95:4445]
protocol                            = sftp
host                                = 192.11.0.95
user                                = sos
ssh_auth_method                     = password
password                            = xxxx
[protocol_fragment_sftp@SFTP_192.11.0.95:4446]
protocol                            = sftp
host                                = 192.11.0.95
user                                = sostest
ssh_auth_method                     = password
password                            = xxxx
[protocol_fragment_sftp@SFTP_192.11.0.111:4448]
protocol                            = sftp
host                                = 192.11.0.111
user                                = test
ssh_auth_method                     = password
password                            = xxxx
[192.11.0.111:4445]
operation                           = copy
source_protocol                     = local
file_spec                           = .*\.(sh|gz)$
source_dir                          = C:\tmp\agent_batchProgram Files (x86)\sos-berlin.com\jobscheduler\vg_4444\scheduler_data\config\batch_installer
target_include                      = protocol_fragment_sftp@SFTP_192.11.0.111:4445
target_dir                          = /home/test/tmp/
[192.11.0.111:4446]
operation                           = copy
source_protocol                     = local
file_spec                           = .*\.(sh|gz)$
source_dir                          = C:\tmp\agent_batchProgram Files (x86)\sos-berlin.com\jobscheduler\vg_4444\scheduler_data\config\batch_installer
target_include                      = protocol_fragment_sftp@SFTP_192.11.0.111:4446
target_dir                          = /home/sos/tmp/
[192.11.0.95:4445]
operation                           = copy
source_protocol                     = local
file_spec                           = .*\.(sh|gz)$
source_dir                          = C:\tmp\agent_batch\Program Files (x86)\sos-berlin.com\jobscheduler\vg_4444\scheduler_data\config\batch_installer
target_include                      = protocol_fragment_sftp@SFTP_192.11.0.95:4445
target_dir                          = /home/sos/tmp/
[192.11.0.95:4446]
operation                           = copy
source_protocol                     = local
file_spec                           = .*\.(sh|gz)$
source_dir                          = C:\tmp\agent_batch\Program Files (x86)\sos-berlin.com\jobscheduler\vg_4444\scheduler_data\config\batch_installer
target_include                      = protocol_fragment_sftp@SFTP_192.11.0.95:4446
target_dir                          = /home/test/tmp/
[192.11.0.111:4448]
operation                           = copy
source_protocol                     = local
file_spec                           = .*\.(sh|gz)$
source_dir                          = C:\tmp\agent_batch
target_include                      = protocol_fragment_sftp@SFTP_192.11.0.111:4448
target_dir                          = /home/test/tmp/

Anchor
installer_config_file
installer_config_file
Batch Installer Configuration File

We assume that you  have opened You can download the Batch Installer configuration file file for the example here: batch_installer_config_file.xml xml. The contents of this file are listed in the code block later on in this section:

Open the Batch Installer configuration file in the XML Editor and assign and assigned the scheduler_universal_agent_installations.xsd XSD schema. The XML file contains a basic example with recommended values for an Agent installation.

The Batch Installer configuration file contains an <installation> element for each Agent instance. In addition, the <global> element can be used in a homogeneous environment is used to specify parameters that will be applied to all Agent installations. If a parameter is specified in the <global> element and in an individual <installation> element then the setting for the individual element will overwrite the global setting.

The configuration file contains configurations for the four Agents whose installation was described in the Batch Installation - Use Cases - Multiple Instances article. The file also contains the configuration for the additional Agent that is to be installed in this example. The configuration for this Agent can easily be recognized by <installation lastRun=""> element tag, which is empty and therefore the only one that will be took into account by the Batch Installer.

The following configuration steps would need to be carried out to add the configuration for the additional Agent to this file following configuration steps should be carried out:

  1. Leave the global parameters as they were set for your previous Use Case.
  2. Specify the installation parameters for the extra Agent installation:
    • Set lastRun element attribute to an empty value (with for the <installations><installation> element <installations><installation>). This is the value that will make the Batch Installer just carry out this one extra additional installation and skip (i.e. not attempt to update) the rest.
    • Agent options:
      • <scheduler_user>: the Agent user
      • <scheduler_log_dir>: the Logs folder for the Agent
    • Specify the credentials for the SSH connection:

      • <user>: the SSH login user 
      • <password>: the Password for the login user
      • <sudo_password>: the Password for sudo actions
      • <auth_method>: the SSH authentication method
      • <host>: the SSH Host
      • <port>: the SSH port 
    • Use the <postprocessing> element to specify the post-processing commands for the Agent server's operating system. The default commands for an Ubuntu distribution will place the Agent start script under /etc/init.d and will setup the autostart for the Universal Agent:
      • echo ${ssh.sudo_password} | sudo -S cp ${install_path}/jobscheduler_agent/bin/jobscheduler_agent_${agent_options.scheduler_http_port}.sh /etc/init.d/jobscheduler_agent_${agent_options.scheduler_http_port}
      • echo ${ssh.sudo_password} | sudo -S update-rc.d jobscheduler_agent_${agent_options.scheduler_http_port} defaults
Info
titlePost-processing commands
  • The SSH login user has to be set to root in order to execute these commands. Therefore the SSH login user should be included in sudoers.
  • These The two post-processing commands will be executed by the PerformInstall job node, which is the last job node in the job chain. If you want to add more commands, please add the call to the job node.
  • Note that the values for the elements defined in the Batch Installer configuration file can be used for the postprocessing commands, for instance:

    • ${install_path}: the value for the element <install_path>

    • ${agent_options.scheduler_http_port}: the value for the element <scheduler_http_port>. If not defined, the default value (4445 in this case) is taken, as in the example below.

An example Batch Installer configuration file for the installation of two Agents is attached to this page (download: batch_installer_config_file.xml) and is shown in the following code block:

  • the PerformInstall job node, which is the last job node in the job chain. If you want to add more commands, please add the call to the job node.
  • Note that the values for the XML elements defined in the Batch Installer configuration file can be used for post-processing commands, for instance:

    • ${install_path}: the value for the element <install_path>

    • ${agent_options.scheduler_http_port}: the value for the element <scheduler_http_port>. If not defined, the default value (4445 in this case) is taken, as in the example below.

The Batch Installer configuration file for the example can be downloaded here: batch_installer_config_file.xml and is shown in the following code block:

Code Block
languagexml
titleInstaller Configuration File
linenumberstrue
collapsetrue
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<installations 
Code Block
languagexml
titleInstaller Configuration File
linenumberstrue
collapsetrue
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<installations lastRun="2015-11-23 12:11">
    <globals>
        <install_path>/opt</install_path>
        <transfer>
            <settings>c:\tmp\agent_batch\yade_agent_batch_installer_settings.ini</settings>
        </transfer>
        <ssh>
            <auth_method>password</auth_method>
            <port>22</port>
        </ssh>
    </globals>
    <installation lastRun="2015-11-23 1112:11">
    <globals>
    <agent_options>
    <install_path>/opt</install_path>
        <scheduler_user>test</scheduler_user><transfer>
            <scheduler_log_dir>/var/log/<settings>C:\Program Files (x86)\sos-berlin.com/jobscheduler/agent</scheduler_log_dir>\jobscheduler\vg_4444\scheduler_data\config\batch_installer\yade_agent_batch_installer_settings.ini</settings>
        </agent_options>transfer>
        <ssh>
            <user>test</user><auth_method>password</auth_method>
            <password>xxxx<<port>22</password>port>
            <sudo_password>xxxx</sudo_password>
            <host>192.11.0.111</host>
    </ssh>
		<installation_file>jobscheduler_unix_universal_agent.1.10.2.tar.gz</installation_file>
    </ssh>globals>
    <installation    <postprocessing>lastRun="2015-11-23 11:11">
            <command>echo ${ssh.sudo_password} | sudo -S cp ${install_path}/jobscheduler_agent/bin/jobscheduler_agent_${agent_options.scheduler_http_port}.sh /etc/init.d/jobscheduler_agent_${agent_options.scheduler_http_port}</command>
<agent_options>
            <scheduler_user>test</scheduler_user>
      <command>echo ${ssh.sudo_password} | sudo -S chkconfig jobscheduler<scheduler_agent_${agent_options.scheduler_http_port}</command>log_dir>/var/log/sos-berlin.com/jobscheduler/agent</scheduler_log_dir>
        </agent_options>
        </postprocessing>
<ssh>
            <<user>test</installation>user>
    <installation lastRun="2015-11-23 11:11">
        <password>xxxx</password>
         <agent_options>   <sudo_password>xxxx</sudo_password>
            <scheduler_http_port>4446</scheduler_http_port><host>192.11.0.111</host>
        </ssh>
     <scheduler_user>sos</scheduler_user>
   <postprocessing>
             <scheduler_log_dir>/var/log/sos-berlin.com/jobscheduler/agent</scheduler_log_dir>
        </agent_options><command>echo ${ssh.sudo_password} | sudo -S cp ${install_path}/jobscheduler_agent/bin/jobscheduler_agent_${agent_options.scheduler_http_port}.sh /etc/init.d/jobscheduler_agent_${agent_options.scheduler_http_port}</command>
        <ssh>
    <command>echo ${ssh.sudo_password} | sudo -S    <user>sos</user>chkconfig jobscheduler_agent_${agent_options.scheduler_http_port}</command>
        </postprocessing>
    <password>xxxx<</password>installation>
    <installation lastRun="2015-11-23 11:11">
         <sudo_password>xxxx</sudo_password><agent_options>
            <host>192.11.0.111</host><scheduler_http_port>4446</scheduler_http_port>
        </ssh>
        <postprocessing><scheduler_user>sos</scheduler_user>
            <command>echo ${ssh.sudo_password} | sudo -S cp ${install_path}/jobscheduler_agent/bin/jobscheduler_agent_${agent_options.scheduler_http_port}.sh /etc/init.d/jobscheduler_agent_${agent_options.scheduler_http_port}</command>
<scheduler_log_dir>/var/log/sos-berlin.com/jobscheduler/agent</scheduler_log_dir>
        </agent_options>
        <ssh>
            <user>sos</user>
   <command>echo ${ssh.sudo_password} | sudo -S chkconfig jobscheduler_agent_${agent_options.scheduler_http_port}</command>         <password>xxxx</password>
            <sudo_password>xxxx</sudo_password>
   </postprocessing>
    </installation>
    <installation lastRun="2015-11-23 11:11"> <host>192.11.0.111</host>
        <agent_options></ssh>
        <postprocessing>
    <scheduler_user>sos</scheduler_user>
        <command>echo ${ssh.sudo_password} |  <scheduler_log_dir>/var/log/sos-berlin.com/jobscheduler/agent</scheduler_log_dir>
        </agent_options>sudo -S cp ${install_path}/jobscheduler_agent/bin/jobscheduler_agent_${agent_options.scheduler_http_port}.sh /etc/init.d/jobscheduler_agent_${agent_options.scheduler_http_port}</command>
        <ssh>
    <command>echo ${ssh.sudo_password} | sudo -S    <user>sos</user>chkconfig jobscheduler_agent_${agent_options.scheduler_http_port}</command>
            <password>xxxx</password></postprocessing>
            <sudo_password>xxxx</sudo_password>
     </installation>
    <installation   <host>192.11.0.95</host>lastRun="2015-11-23 11:11">
        </ssh><agent_options>
        <postprocessing>
    <scheduler_user>sos</scheduler_user>
        <command>echo ${ssh.sudo_password} | sudo -S cp ${install_path}/jobscheduler_agent/bin/jobscheduler_agent_${agent_options.scheduler_http_port}.sh /etc/init.d/jobscheduler_agent_${agent_options.scheduler_http_port}</command> <scheduler_log_dir>/var/log/sos-berlin.com/jobscheduler/agent</scheduler_log_dir>
        </agent_options>
        <ssh>
    <command>echo ${ssh.sudo_password} | sudo -S chkconfig jobscheduler_agent_${agent_options.scheduler_http_port}</command>
        <user>sos</user>
            <<password>xxxx</postprocessing>password>
      </installation>
    <installation lastRun="2015-11-23 11:11"> <sudo_password>xxxx</sudo_password>
        <agent_options>
    <host>192.11.0.95</host>
        <scheduler_http_port>4446</scheduler_http_port></ssh>
        <postprocessing>
    <scheduler_user>test</scheduler_user>
        <command>echo ${ssh.sudo_password} | sudo  <scheduler_log_dir>/var/log/sos-berlin.com/jobscheduler/agent</scheduler_log_dir>-S cp ${install_path}/jobscheduler_agent/bin/jobscheduler_agent_${agent_options.scheduler_http_port}.sh /etc/init.d/jobscheduler_agent_${agent_options.scheduler_http_port}</command>
        </agent_options>
    <command>echo ${ssh.sudo_password} |  <ssh>sudo -S chkconfig jobscheduler_agent_${agent_options.scheduler_http_port}</command>
        </postprocessing>
    <user>sos<</user>installation>
    <installation lastRun="2015-11-23 11:11">
        <password>xxxx</password><agent_options>
            <sudo<scheduler_http_password>xxxx<port>4446</sudoscheduler_http_password>port>
            <host>192.11.0.95</host><scheduler_user>test</scheduler_user>
        </ssh>
    <scheduler_log_dir>/var/log/sos-berlin.com/jobscheduler/agent</scheduler_log_dir>
    <postprocessing>
    </agent_options>
        <command>echo ${ssh.sudo_password} | sudo -S cp ${install_path}/jobscheduler_agent/bin/jobscheduler_agent_${agent_options.scheduler_http_port}.sh /etc/init.d/jobscheduler_agent_${agent_options.scheduler_http_port}</command><ssh>
            <user>sos</user>
            <password>xxxx</password>
            <command>echo ${ssh.sudo_password} | sudo -S chkconfig jobscheduler_agent_${agent_options.scheduler_http_port}</command><sudo_password>xxxx</sudo_password>
            <host>192.11.0.95</host>
        </postprocessing>ssh>
     </installation>
	<installation lastRun="">
  <postprocessing>
      <agent_options>
      <command>echo ${ssh.sudo_password} | sudo -S  <scheduler_http_port>4448</cp ${install_path}/jobscheduler_agent/bin/jobscheduler_agent_${agent_options.scheduler_http_port}.sh /etc/init.d/jobscheduler_agent_${agent_options.scheduler_http_port>port}</command>
            <scheduler_user>test</scheduler_user>
            <scheduler_log_dir>/var/log/sos-berlin.com/jobscheduler/agent</scheduler_log_dir><command>echo ${ssh.sudo_password} | sudo -S chkconfig jobscheduler_agent_${agent_options.scheduler_http_port}</command>
        </agent_options>postprocessing>
    </installation>
    <installation <ssh>lastRun="">
            <user>test</user><agent_options>
            <password>xxxx</password><scheduler_http_port>4448</scheduler_http_port>
            <sudo<scheduler_password>xxxx<user>test</sudoscheduler_password>user>
            <host>192.11.0.111</host><scheduler_log_dir>/var/log/sos-berlin.com/jobscheduler/agent</scheduler_log_dir>
        </ssh>agent_options>
        <postprocessing><ssh>
            <command>echo ${ssh.sudo_password} | sudo -S cp ${install_path}/jobscheduler_agent/bin/jobscheduler_agent_${agent_options.scheduler_http_port}.sh /etc/init.d/jobscheduler_agent_${agent_options.scheduler_http_port}</command>
 <user>test</user>
            <password>xxxx</password>
           <command>echo ${ssh.sudo_password} | sudo -S chkconfig jobscheduler_agent_${agent_options.scheduler_http_port}</command> <sudo_password>xxxx</sudo_password>
            <host>192.11.0.111</host>
        </postprocessing>
    </installation>
</installations>

...

The XML Editor can be used to manage the Batch Installer configuration file and the YADE configuration file.

XML Editor for Batch Installer configuration file

An example Batch Installer configuration file for the installation of a single Agent is shown in the following screenshot:

Image Removed

XML Editor for YADE configuration file

An example YADE configuration file for the installation of a single Agent is shown in the next screenshot:

Image Removed

...

ssh>
        <postprocessing>
            <command>echo ${ssh.sudo_password} | sudo -S cp ${install_path}/jobscheduler_agent/bin/jobscheduler_agent_${agent_options.scheduler_http_port}.sh /etc/init.d/jobscheduler_agent_${agent_options.scheduler_http_port}</command>
            <command>echo ${ssh.sudo_password} | sudo -S chkconfig jobscheduler_agent_${agent_options.scheduler_http_port}</command>
        </postprocessing>
    </installation>
</installations>

Excerpt Include
Batch Installation - Use Cases - Homogeneous environment
Batch Installation - Use Cases - Homogeneous environment
nopaneltrue

The "YADE Xml2Ini Converter" function in the XML Editor is available for converting YADE files from XML to the .ini format required by versions of YADE before 1.11. Clicking on the button of the same name will open the following form:

Image Removed

Note that it is not necessary to create a Profile for the Batch Installer, as conversion will take place automatically once the "Autotransform" option has been chosen. Every time a change in the XML file is saved the XML file will be automatically converted and saved in .ini format. 

A pop-up window will show every time a change is saved if the option "Show notification on autotransform" is chosen.