Versions Compared

Key

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

Table of Contents

Environment

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 according to the same prerequisites:

...

  • 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.

Anchor
batch_installer_app
batch_installer_app
Batch Installer Application

The JobScheduler Agents will be installed by a JobScheduler Master that:

...

  • TransferInstallationSetup: To transfer the installer files on 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 each Agent instance
    • The XML file yade_agent_batch_installer_settings.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 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
    • 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

Download

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

  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. Extract these files to the live folder of the JobScheduler Master: SCHEDULER_DATA/config/live.
      • a config/batch_installer folder containing configuration files for the Batch Installer. Extract these files 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 contains the following:
      • the config/live/batch_installer_agent folder with jobs and job chains. Extract these files to the live folder of the JobScheduler Master SCHEDULER_DATA/config/live.
      • the config/batch_installer folder with configuration files for the Batch Installer. Extract these files to the JobScheduler configuration directory SCHEDULER_DATA/config.
      • Copy the JobScheduler Universal Agent installation file to the folder SCHEDULER_DATA/config/batch_installer.

Configuration

XML files

Configuring complex XML files with a text editor is often a tedious and error-prone procedure. To get around this, we recommend that you use our XML Editor 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 for more detailed information about using the XML Editor. 

...

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

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

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

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.
  5. This job will create the appropriate JobScheduler orders as explained in the chapter Batch Installer Application.

Example: Installation of two Agents

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

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 assigned the http://www.sos-berlin.com/schema/yade/YADE_configuration_v1.0.xsd XSD schema.

...

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>

Anchor
yade_settings_file
yade_settings_file
YADE Settings File for File Transfer

Note that the file shown above is in the YADE XML format and that YADE versions 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
title.ini 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.95:4445]
protocol                            = sftp
host                                = 192.11.0.95
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:\Program 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.95:4445]
operation                           = copy
source_protocol                     = local
file_spec                           = .*\.(sh|gz)$
source_dir                          = C:\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/test/tmp/

Anchor
batch_installer_config_file
batch_installer_config_file
Batch Installer Configuration File

We assume that you  have opened the Batch Installer configuration file batch_installer_config_file.xml and assigned the scheduler_universal_agent_installations.xsd XSD schema. The XML file contains a basic example with recommended values for an Agent installation.

...

Info
titleHints
  • Note that the port is not specified with the <installations><installation><agent_options><scheduler_http_port> element and means that the global value of 4445 is applied to all Agent installations.

  • For a homogeneous environment parameters can be specified with the <global> element and applied to all Agent installations.

 

Anchor
xml_editor
xml_editor
Using the XML Editor

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:

XML Editor for YADE configuration file

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

Anchor
yadexml2ini_converter
yadexml2ini_converter
XML Editor for converting YADE configuration files (XML) into YADE setting files (.ini)

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:

...