Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This article describes the use of the JobScheduler Universal Agent Batch Installer in a homogeneous environment. We define a homogeneous environment as one in which a number of JobScheduler Agents will be installed based on 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.

...

  • First Installation: an Agent has not yet been installed on the server.
  • Update Installation: an Agent has already been installed and optionally may be up and running.

Anchor
batch_installer_app
batch_installer_app
Batch Installer Application

...

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

The Batch Installer application has two main components - a JobScheduler AgentBatchInstaller job  and a JobScheduler universal_agent_installer job chain. MoreoverIn 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 is named according to the pattern <host>:<port> to convey the host and port of the server where the respective each Agent is to be installed. 

...

  • TransferInstallationSetup: To transfer the installer files to the host
    • Before the transfer starts, the preprocessor will use the use the jobscheduler_agent_instance_script.txt template to create a start script for the each Agent instance
    • The XML file yade_agent_batch_installer_settings.xml xml has to be configured and converted to .ini file before the transfer starts. See the YADE configuration file for the file transfer chapter below for instructions on how to configure the YADE configuration file and YADE Settings File for the File Transfer for instructions on how the .ini file should look like.
    • The files that will be transfered are specified with the element <globals><transfer><file_spec=".*\.(sh|gz)$">  

    • This regular expression is used to select the following files to be transfered:
      • the JobScheduler Universal Agent installation files: jobscheduler_unix_universal_agent.tar.gz
        the jobscheduler_agent_<port>.sh start script for the instance
      • the installation script: jobscheduler_universal_agent_install.sh
  • PerformInstall: The installation is started by SSH.
    • The installation script will install and start the JobScheduler Universal Agent
    • Finally the The PerformInstall job post-processing commands will then be executed:
      • These commands are specified using the <installation><postprocessing><command> element.
      • The default configuration for a Linux server will place the Agent start script under /etc/init.d and set up the autostart for JobScheduler Universal Agent (the following example is for a Ubuntu distribution):
        • 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

...

The following steps have to be carried out. Files can be downloaded from http://www.sos-berlin.com/jobscheduler-downloads

Status
colourYellow
titleChange subsections

  1. Unix
    • Download the "JobScheduler Universal Agent" tarball for Unix.
    • Download the "JobScheduler Universal Agent Batch Installer" for Unix. The archive contains the following: 
      • a config/live/batch_installer_agent folder, with the jobs and job chains that are to be extracted to
      • extract the live folder of the JobScheduler Master: SCHEDULER_DATA/config/live.
      • a config/batch_installer folder containing configuration files for the Batch Installer. These files should be extracted to the config directory of the JobScheduler Master: SCHEDULER_DATA/config.
      • Copy the JobScheduler Universal Agent installation file to the SCHEDULER_DATA/config/batch_installer folder.
  2. Windows
    • Download the "JobScheduler Universal Agent" for Windows.
    • Download the "JobScheduler Universal Agent Batch Installer" for Windows. The archive provides contains the following content:
      • the config/live/batch_installer_agent folder contains with jobs and job chains that should be extracted to the live folder of the JobScheduler Master SCHEDULER_DATA/config/live.
      • the config/batch_installer folder contains with configuration files for the Batch Installer that should be extracted to the JobScheduler configuration directory SCHEDULER_DATA/config.
      • Copy the JobScheduler Universal Agent installation file to the folder SCHEDULER_DATA/config/batch_installer.

...

Configuring XML files with a text editor is error-prone. Therefore we recommend that you download the XML Editor that can be used to manage the configuration files required for the Batch Installer and automatically validates files. For details about the XML Editor see the Using the XML Editor chapter below.

...

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 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.11.0-SNAPSHOT.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

Once Carry out the following once the job and job chain were have been extracted to the live folder of your JobScheduler Master, please do the following

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

...

The following example describes the installation of two Agents on separate servers. First of all, the YADE configuration files (XML file) for the file transfer will be specifiedconfigured (in XML format), then it will be converted to the YADE settings file format (.ini) and finally the Batch Installer configuration file will be specified.

...

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 an Agent installation (of only one Agent).

...

An example for the Batch Installer configuration file for the installation of two Agents is attached on to this wiki page (download: yade_agent_batch_installer_settings.xml) and might look like thisis 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.95:4445">
        <BasicConnection>
          <Hostname><![CDATA[192.11.0.95]]></Hostname>
        </BasicConnection>
        <SSHAuthentication>
          <Account><![CDATA[test]]></Account>
          <AuthenticationMethodPassword>
            <Password><![CDATA[xxxx]]></Password>
          </AuthenticationMethodPassword>
        </SSHAuthentication>
      </SFTPFragment>
    </ProtocolFragments>
  </Fragments>
  <Profiles>
    <Profile profile_id="192.11.0.111:4445">
      <Operation>
        <Copy>
          <CopySource>
            <CopySourceFragmentRef>
              <LocalSource />
            </CopySourceFragmentRef>
            <SourceFileOptions>
              <Selection>
                <FileSpecSelection>
                  <FileSpec><![CDATA[.*\.(sh|gz)$]]></FileSpec>
                  <Directory><![CDATA[C:\Program Files (x86)\sos-berlin.com\jobscheduler\vg_4444\scheduler_data\config\batch_installer]]></Directory>
                </FileSpecSelection>
              </Selection>
            </SourceFileOptions>
          </CopySource>
          <CopyTarget>
            <CopyTargetFragmentRef>
              <SFTPFragmentRef ref="SFTP_192.11.0.111:4445" />
            </CopyTargetFragmentRef>
            <Directory><![CDATA[/home/test/tmp/]]></Directory>
          </CopyTarget>
        </Copy>
      </Operation>
    </Profile>
    <Profile profile_id="192.11.0.95:4445">
      <Operation>
        <Copy>
          <CopySource>
            <CopySourceFragmentRef>
              <LocalSource />
            </CopySourceFragmentRef>
            <SourceFileOptions>
              <Selection>
                <FileSpecSelection>
                  <FileSpec><![CDATA[.*\.(sh|gz)$]]></FileSpec>
                  <Directory><![CDATA[C:\Program Files (x86)\sos-berlin.com\jobscheduler\vg_4444\scheduler_data\config\batch_installer]]></Directory>
                </FileSpecSelection>
              </Selection>
            </SourceFileOptions>
          </CopySource>
          <CopyTarget>
            <CopyTargetFragmentRef>
              <SFTPFragmentRef ref="SFTP_192.11.0.95:4445" />
            </CopyTargetFragmentRef>
            <Directory><![CDATA[/home/test/tmp/]]></Directory>
          </CopyTarget>
        </Copy>
      </Operation>
    </Profile>
  </Profiles>
</Configurations>

...

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.

...