You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 35 Next »

Environment

We consider a homogeneous environment a scenario in which a number of JobScheduler Agents will be installed based on the same prerequisites:

  • A JobScheduler Master is up and running.
  • Agent installations are performed for an arbitrary number of servers with the same operating system. One Agent is installed per server.
  • Agents are operated with the same user, listening port and installation path.

The Batch Installer supports

  • First Installation: no Agent is installed and running on the server.
  • Update Installation: an Agent is installed and optionally up and running.

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 provides the following content: 
      • the config/live/batch_installer_agent colder contains jobs and job chains that should be extracted to the live folder of the JobScheduler Master.
      • the config/batch_installer folder contains configuration files for the Batch Installer that should be extracted to the JobScheduler configuration directory.
      • Copy the JobScheduler Universal Agent installation file to the folder config/batch_installer and rename the JobScheduler Universal Agent installation file to "jobscheduler_unix_universal_agent.tar.gz".
  2. Windows
    • Download the "JobScheduler Universal Agent" for Windows.
    • Download the "JobScheduler Universal Agent Batch Installer" for Windows. The archive file contains:
      • the folder config/live/batch_installer_agent contains jobs and job chains that should be extracted to the live folder of the JobScheduler Master.
      • the folder config/batch_installer contains configuration files for the Batch Installer that should be extracted to the JobScheduler configuration directory.
      • Copy the JobScheduler Universal Agent installation file to the folder config/batch_installer and rename the Agent installation file to jobscheduler_unix_universal_agent.tar.gz.

Configuration

XML files

  1. 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 Batch Installer configuration file and the YADE settings file for the transfer of the installation files. For details see the below chapter Using the XML Editor).
    • After download of the XML Editor extract the zip file, then start the program sos.xml.editor.exe.
    • Open your Batch Installer configuration file batch_installer_config_file.xml and assign the XSD schema scheduler_universal_agent_installations.xsd, both files are located in the folder config/batch_installer.
    • Open your YADE configuration file yade_agent_batch_installer_settings.xml that is located in the folder config/batch_installer and assign the XSD schema http://www.sos-berlin.com/schema/yade/YADE_configuration_v1.0.xsd
  2. For instructions how to configure the Batch Installer configuration file see the below chapter Batch Installer Configuration File
  3. For instructions how to configure the YADE configuration file see the below chapter YADE profiles for the file transfer.

XML Editor

The  XML Editor is available for Windows.

JobScheduler Jobs

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

Installation

Having configured the XML files and the JobScheduler jobs, the Agents can be installed. Start a task for the Job AgentBatchInstaller aob as follows:

  1. Right click on the JobScheduler job
  2. From the context menu use the operation: Start task immediately
  3. As many orders will be created as installations you have set for the JobChain universal_agent_installer.job_chain.xml responsible for the Agent installations.

Example: Installation of two Agents

The following example explains the installation of two Agents for two servers, i.e. one Agent will be installed per server.

Batch Installer Configuration File

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

The Batch Installer configuration file contains an <installation> element for each Agent instance. For a homogeneous environment parameters can be specified with the <global> element and will be applied to all Agent installations. If a parameter is available in the <global> element and in an individual <installation> element then the setting for the specific installation will overwrite the global setting.

Please, perform the following configuration steps:

  1. Global parameters:
    • Specify the <install_path> to point to a location where the Agent should be installed.
    • Specify the name of the YADE configuration file in the Batch Installer configuration file with the element <globals><transfer><settings>.
    • Specify the credentials for the SSH connection:
      • <user>: SSH login user 
      • <password>: Password for the login user
      • <sudo_password>: Password for sudo actions
      • <auth_method>: SSH authentication method
      • <port>: SSH port 
    • Specify the post-processing commands that fit your operating system on the Agent server with the <postprocessing> element:
      • specify the command for copying a file (e.g. for CentOS: cp)
      • specify the command for setting the auto-start for the Agent (e.g. for CentOS: chkconfig)
  2. Installation parameters (specified for each Agent installation):
    • Agent options:
      • <scheduler_user>: Agent user
      • <scheduler_log_dir>: Logs folder for the Agent
    • SSH Host 

An example for the Batch Installer configuration file for the installation of two Agents might look like this:

Batch Installer Configuration File
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<installations lastRun="2015-11-20 14:11">
    <globals>
        <install_path>/opt</install_path>
        <transfer>
            <settings>c:\tmp\agent_batch\yade_agent_batch_installer_settings.ini</settings>
        </transfer>
        <ssh>
			<user>test</user>
            <password>xxxx</password>
            <sudo_password>xxxx</sudo_password>
            <auth_method>password</auth_method>
            <port>22</port>
        </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>
    </globals>
    <installation lastRun="2015-11-20 14:11">
        <agent_options>
            <scheduler_user>test</scheduler_user>
            <scheduler_log_dir>/var/log/sos-berlin.com/jobscheduler/agent</scheduler_log_dir>
        </agent_options>
        <ssh>
            <host>xxxx</host>
        </ssh>
    </installation>
    <installation lastRun="2015-11-20 14:11">
        <agent_options>
            <scheduler_user>test</scheduler_user>
            <scheduler_log_dir>/var/log/sos-berlin.com/jobscheduler/agent</scheduler_log_dir>
        </agent_options>
        <ssh>
            <host>xxxx</host>
        </ssh>
    </installation>
</installations>

 

Hints

  • Note that the port specified with the parameter <scheduler_http_port> is not specified with the element <installations><installation><agent_options>. This configuration causes the global value 4445 to be applied to all Agent installations.
  • For a homogeneous environment parameters can be specified with the <global> element and are applied to all Agent installations.

 

YADE Configuration File for File Transfer

You should have opened your YADE settings file yade_agent_batch_installer_settings.xml and have assigned the XSD schema http://www.sos-berlin.com/schema/yade/YADE_configuration_v1.0.xsd. The XML file contains a basic example with recommended values for an Agent installation (of only one Agent).

Each installation makes use of a profile in the YADE configuration file. The default profile name is <host>:<port> where

  • <host> will be substituted with the value from the element <installation><agent_option><scheduler_ip_address>
  • <port> will be substituted with the value from the element <installation><agent_option><scheduler_http_port>

Please follow these steps:

  1. Add a <ProtocolFragments> element and nodes for each host that you want to install the Agent for.
  2. Add a <Profile> element and nodes for each host that you want to install the Agent for.
  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 file for the installation of two Agents might look like this:

YADE Profiles
 <?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:\tmp\agent_batch]]></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:\tmp\agent_batch]]></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>

Hints

Note that this is an XML file and YADE will expect an .ini file to perform the transfer that is specified with the Batch Installer configuration file in the section <globals><install_path><transfer><settings>.

  • It is recommended to use the XML Editor to convert configuration files from XML to .ini format (see below chapter Using the XML Editor)
  • Find the following example of an .ini file that has been converted from the above XML file:
,ini file
[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:\tmp\agent_batch
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:\tmp\agent_batch
target_include                      = protocol_fragment_sftp@SFTP_192.11.0.95:4445
target_dir                          = /home/test/tmp/

 

Using the XML Editor

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

XML Editor for Batch Installer configuration file

XML Editor for YADE configuration file

 

 

 

  • No labels