Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Minor addition to text

...

  • 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.
  • Note that the Batch Installer is only available for the current JobScheduler Universal Agent version.

Anchor
batch_installer_app
batch_installer_app
The Batch Installer Application

...

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

...

  • batch_installer_config_file.xml and 
  • yade_agent_batch_installer_settings.xml 

The AgentBatchInstaller job is responsible  job is a standalone job that is responsible for creating the JobScheduler orders for the job universal_agent_installer 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 

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

...

  • 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.
    Display feature availability
    EndingWithRelease1.12
  • TransferInstallationSetup: Transfer Transfers 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 Starts 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

...