Skip to end of metadata
Go to start of metadata

Scope

  • The Agent Batch Installer provides a solution that:
    • deploys JobScheduler Universal Agents
    • and allows the installation or update of any number of Agents on multiple servers. 
  • The Agent Batch Installer is used for deploying Agents to Unix systems. It is not available for Windows systems for the following reasons:
    • The JobScheduler Master transfers the files needed for deployment to the Agent servers using SSH:
      • Windows standard installations do not come with an SSH server. This means that additional software would have to be installed on every Agent server just for performing the file transfer.
      • Note that this only applies for the Agent servers. If the JobScheduler Master is running on a Windows machine, this solution can still be used for deploying the Agents from there to Unix servers.
    • Most Windows administrators work already with other more complex tools to deploy software on Windows machines (deployment tools such as SCCM), whereas for Unix the deployment tools are not that complex and it makes sense to offer such a tool for them.
  • The Agent Batch Installer solution can be downloaded from http://www.sos-berlin.com/jobscheduler-downloads, see "Universal Agent Batch Installer".
  • The Batch Installer supports:
    • First Installation: an Agent has not yet been installed on the server.
    • Update Installation: an Agent has already been installed and may be up and running.

The Batch Installer Application

The Batch Installer is made up from a Job Chain and configuration files that allow a JobScheduler Master to:

  • connect to the Server(s) that the Agent(s) are to be installed on,
  • transfer the files required for the installation(s) and
  • execute the required Agent installation(s).

The Batch Installer application has two main components:

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

In addition, two XML configuration files are needed for the application:

  • batch_installer_config_file.xml and 
  • yade_agent_batch_installer_settings.xml 

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

The universal_agent_installer job chain has four job nodes configured in series as follows:


The individual nodes in the job chain have the following functions:

  • CheckPreRequisite
    • Check for the correct Java version
    • Check whether a JobScheduler Universal Agent already has been installed.
      • If yes, then the Installer:
        • shuts down any instances that are possibly running
        • removes the installation
  • Sync: Wait until all prerequisites have been checked and all instances shut down.
  • TransferInstallationSetup: Transfer the installer files to the host
    • Before the transfer starts, the preprocessor will create the instance start script from the template jobscheduler_agent_instance_script.txt
    • The files that are to be transferred are specified with the <globals><transfer><file_spec=".*\.(sh|gz)$"> configuration element

      • This regular expression causes the following files to be transferred:
        • the JobScheduler Universal Agent installer files: jobscheduler_unix_universal_agent.<version>.tar.gz
        • the instance start script: jobscheduler_agent_<port>.sh
        • the installation script: jobscheduler_universal_agent_install.sh
  • PerformInstall: Start the installation using SSH.
    • The step before transferred installation script will be executed
    • The installation script installs and starts the JobScheduler Universal Agent
    • Finally the post-processing commands will be executed
      • The post-processing commands are specified with the <installation><postprocessing><command> element
      • Three commands will be executed:
        • if you require additional commands, please add the call in the PerformInstall job
      • The default commands set up the autostart for JobScheduler Universal Agent on a Linux server (Ubuntu distribution)
        • echo ${ssh.sudo_password} | sudo -S cp ${install_path}/bin/jobscheduler_agent.sh /etc/init.d/jobscheduler
        • echo ${ssh.sudo_password} | sudo -S update-rc.d jobscheduler defaults

Installation Use Cases

The following articles describe the procedure for using the Batch Installer to install and update JobScheduler Universal Agents for a number of use cases:

  • Batch Installation - Use Cases - Homogeneous environment: We define a homogeneous environment as one in which a number of JobScheduler Agents will be installed according to the same prerequisites:
    • A JobScheduler Master is up and running.
    • The Agent installations are to be performed on any number of servers that have the same operating system. One Agent is to be installed per server.
    • The Agents will be operated with the same user, listening port and installation path.
  • Batch Installation - Use Cases - Heterogeneous environment: We define a heterogeneous environment as one in which a number of JobScheduler Agents will be installed according to different prerequisites:
    • A JobScheduler Master is up and running.
    • The Agent installations are to be performed on any number of servers that are not required to have the same operating system. One Agent is to be installed per server.
    • The Agents will be operated with different accounts, listening ports and installation paths.
  • Batch Installation - Use Cases - Multiple Instances: A number of JobScheduler Agents will be installed on each server and each 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 are not required to have the same operating system. More than one Agent is to be installed per server.
    • On every Agent server the Agents will be operated with different accounts and different listening ports.
      • The Agents will be operated with different accounts (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.

  • Batch Installation - Use Cases - Reuse of Batch Installer Configuration FilesInstalling 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.
    • A number of JobScheduler Agents have already been installed on different Agent servers.
      • At least one additional Agent is to be installed on a server which already has an Agent installed on it.
      • The additional Agent installation will overwrite the previous Agent installation.
    • The new Agent(s) will be operated with the same account and installation path as at least one of the Agents already installed on an Agent server.
      The new Agent will be identified by its listening port which will be unique for the server which the Agent is being installed on.

Reference Documentation

For detailed information not contained in the installation use case articles described above, covering:

  • the Jobs, Job Parameters and Job Chains used for the Agent Batch Installer,
  • customizing the Jobs, Job Chains and the configuration files required for the Agent Batch Installer.

Please refer to the article Batch Installation - Reference Documentation.