Versions Compared

Key

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

Table of Contents

Environment

We define an homogeneous environment as an environment where the consider a homogeneous environment a scenario in which a number of JobScheduler Agents will be installed under based on the same conditionsprerequisites:

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

...

  1. Unix
    • Download the "JobScheduler Universal Agent" tarball for Unix.
    • Download the "JobScheduler Universal Agent Batch Installer" for Unix. The archive file containsprovides the following content: 
      • the folder config/live/batch_installer_agent contains  colder contains jobs and job chains that should be extracted to the live folder of the JobScheduler Master.
      • the folder config/batch_installer contains  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
    JobScheduler Universal
      • Agent installation file to
     "jobscheduler
      •  jobscheduler_unix_universal_agent.tar.gz
    "
      • .

Configuration

XML files

  1. For configuring the Configuring XML files with a text editor is error prone. Therefore we recommend that you download the XML Editor from https://www.sos-berlin.com/xml-editor-downloads. The XML Editor can be used that can be used to manage the Batch Installer configuration file and the YADE settings file used for for the transfer of the installation files as well (see paragraph below . 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 it the XSD schema scheduler_universal_agent_installations.xsd, both files are located in the folder config/batch_installer.
    • Open your YADE settings file, the XML configuration file yade_agent_batch_installer_settings.xml that is located in the folder config/batch_installer and assign it the XSD schema http://www.sos-berlin.com/schema/yade/YADE_configuration_v1.0.xsd
  2. For configuring instructions how to configure the Batch Installer configuration file please see paragraph the below chapter Batch Installer Configuration File
  3. For configuring the instructions how to configure the YADE settings configuration file please see section the below chapter YADE profiles for the file transfer.

Info
titleXML Editor

The  XML Editor is just available for Windows.

JobScheduler Jobs

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

Installation

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

  1. Right click on the JobScheduler Jobjob
  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 describes explains the installation of two JobScheduler Universal Agents on for two Servers, that is, one JobScheduler Universal Agent installed per Serverservers, i.e. one Agent will be installed per server.

Anchor
batch_installer_config_file
batch_installer_config_file
Batch Installer Configuration File

As mentioned above in the chapter Configuration, you should have opened your You should have opened the Batch Installer configuration file batch_installer_config_file.xml and have assigned it the XSD schema scheduler_universal_agent_installations.xsd. The XML file contains a basic example with the recommended values for an Agent installation (of only one Agent).

The Batch Installer configuration file contains an <installation> element for each Agent instance. Since it is  For a homogeneous environment , lots of parameters can be set in specified with the <global> section and they are valid for  element and will be applied to all Agent installations. If a parameter is set available in global and individually for one installation, the value the <global> element and in an individual <installation> element then the setting for the specific installation will overwrite the global valuesetting.

Please configure as follows, perform the following configuration steps:

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

An example for the Batch Installer configuration file in case two agents want to be installed looks for the installation of two Agents might look like this:

Code Block
languagexml
titleBatch Installer Configuration File
collapsetrue
<?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>

 

Info
titleHints
  • Note that no port is indicated here, that is, the port specified with the parameter <scheduler_http_port> is not indicated here (in the section specified with the element <installations><installation><agent_options>) . That is a very useful configuration in case the ports selected for the different JobScheduler Universal Agent would be all 4445, which is the default value. So for that example, all JobScheduler Universal Agents will be running on the port 4445 (in their Agent server respectively).. 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 Since it is a homogeneous environment, lots of parameters can be set in the <global> section and they are valid for all Agent installations.

 

Anchor
yade_profile_transfer
yade_profile_transfer
YADE Configuration File for File Transfer

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

...

  1. Add a <ProtocolFragments> element and nodes for each host that you want to install the JobScheduler Universal 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 installer Batch Installer configuration file.

An example for the Batch Installer configuration file in case two agents want to be installed looks for the installation of two Agents might look like this:

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:\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>
Info
titleHints

Note that this is a an XML file and YADE will expect an INI .ini file to do perform the transfer , as we indicated in the installer 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 for converting to convert configuration files from XML to INI .ini format (see below paragraph chapter Using the XML Editor)
  • Here is an Find the following example of an INI file, .ini file that has been converted from the above XML file attached above:
Code Block
titleINI ,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:\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/

 

Anchor
xml_editor
xml_editor

...

Using the XML Editor

Then XML Editor can be used to manage the installation Batch Installer configuration file and the YADE profiles for the transfer of the installation files as well.

Please see the following examples (one example for each file):

...

file transfer configuration file.

XML Editor for Batch Installer configuration file

Image Added

XML Editor for YADE configuration file