...
- A JobScheduler Master is up and running.
- JobScheduler Agents have been already installed on an different Agent serverservers.
- An extra installation of an Agent will be carried out.
- The new Agent will be operated with same user and installation path.
- The listening port for the new Agent will be obviously a different one than the installed Agents on this server.
...
In case you an extra Agent installation had has to be done, that would always mean that other Agents have been installed (either using the Batch Installer or through other methods). In any case, to understand properly how this application works in case you had not use the Batch Installer for Agents before, you can find the relevant information for your corresponding environment in the articles described below - have a look at the chapters "Batch Installer Application" and "Download":
- Batch Installer Use Case: Homogeneous environment:
- Batch Installer Use Case: Heterogeneous nvironments
- Batch Installer Use Case: Multiple Instances
Installation and Configuration Steps
For both scenarios above, the same steps will be carried out:
...
- This article describes the use of the JobScheduler Universal Agent Batch Installer
...
...
Unzip the JobScheduler Universal Agent Batch Installer zip file.
...
...
The parameter
installation_definition_file
has to be set. This parameter defines the path to the XML file that contains all parameters for the batch installation.The parameter
update
has to be set tofalse
. This parameter defines the following:If true then an order for all
<instances>
will be created.If false then an order for
<instances>
that do not have thelast_run
attribute will be created
...
- 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:
- 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.
- Batch Installer Use Case: Heterogeneous environments: This article describes the use of the JobScheduler Universal Agent Batch Installer in a heterogeneous environment. We define a heterogeneous environment as one in which a number of JobScheduler Agents will be installed according to different prerequisites:
- A JobScheduler Master is up and running.
- The Agent installations are to be performed on any number of servers that do not have to have the same operating system. One Agent is to be installed per server.
- The Agents will be operated with different users, listening ports and installation paths.
- Batch Installer Use Case: Multiple Instances: This article describes the use of the JobScheduler Universal Agent Batch Installer for installing multiple Agent instances in a heterogeneous environment. A multiple number of JobScheduler Agents will be installed on every Agent server and every installation will be based on different prerequisites:
- A JobScheduler Master is up and running.
- The Agent installations are to be performed on any number of servers that do not have to have the same operating system. More than one Agent is to be installed per server.
- In every Agent server, the Agents will be operated with different users and different listening ports.
- The Agents will be operated with different users (within the same Agent server) to make the example more multifaceted, although the same user can operate more than one Agent if the Agents run on different ports.
- The installation path will be the same for all Agent installations.
Configuration
XML files
Configuring XML files with a text editor is error-prone and we recommend that you download the XML Editor and use it 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 the XML Editor.
- After downloading the XML Editor, extract the contents of the zip file to a convenient folder (an installation routine is not required) and start the
sos.xml.editor.exe
program. - Open your
yade_agent_batch_installer_settings.xml
YADE configurationconfig/batch_installer
folder and assign the XSD schema - Open your
batch_installer_config_file.xml
configuration file in the XML Editor and assign thescheduler_universal_agent_installations.xsd
schema: both files are located in theconfig/batch_installer
folder. See the Batch Installer Configuration File chapter below for instructions on how to configure the Batch Installer configuration file.
Info | ||
---|---|---|
| ||
|
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: adjust the parameter values for theAgentBatchInstaller
job in your JobScheduler Master.Set the
installation_definition_file
job parameter to the path to the Batch Installer configuration file.- Set the
update
job parameter tofalse
. This value set to false is the one that will determine that the rest of the installations defined in the configuration for Batch Installer Configuration File are not going to be performed.
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:
- Open a JobScheduler Operating Center (JOC) browser window for the JobScheduler master.
- Go on the "Jobs" Window and open the "batch_installer_universal_agent" folder.
- Right click on the job to open the context menu.
- Select the
Start task immediately
operation. - This job will create the appropriate JobScheduler orders as explained in the chapter Batch Installer Application.
Example: Installation of one extra JobScheduler Universal Agent
The following example describes how to do the installation and configuration of one JobScheduler Universal Agents in one of the Agent Servers, where exactly four JobScheduler Universal Agents had already been installed - two Agents on two different servers. The extra instance is added to the configuration described in the Use Case above: Batch Installer Use Case: Multiple Instances.
Anchor | ||||
---|---|---|---|---|
|
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 the installation of a single Agent.
A separate profile in the YADE configuration file is required for each Agent installation. 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>
Now carry out the following steps:
- Add a
<ProtocolFragments>
element and nodes for each host that you want to install the Agent for. The best way to add another<ProtocolFragments>
element using the XML Editor is copying the element and pasting it to the parent element - in this case<Fragments>
. - Add a
<Profile>
element and nodes for each host that you want to install the Agent for. The best way to add another<Profile>
element using the XML Editor is copying the element and pasting it to the parent element - here<Profiles>
. - 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 is attached to this page (download: yade_agent_batch_installer_settings.xml) and is shown in the following code block:
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<?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 |
Example: Installation of one extra JobScheduler Universal Agent
The following example describes how to do the installation and configuration of one JobScheduler Universal Agents in one of the Agent Servers, where more JobScheduler Universal Agents had already been installed. The extra instance is added to the configuration described in the Use Case above: Batch Installer Use Case: Multiple Instances
...
The installer configuration file contains an <installation>
element for each JobScheduler Universal Agent instance. Set the name for the YADE settings file in the installer configuration file with the element <globals><transfer><settings>.
An example for the installer configuration file can look like this:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <installations lastRun="2015-11-23 12:11"> <globals> <install_path>/opt</install_path> <transfer> <settings>c:\tmp\agent_batch\yade_agent_batch_installer_settings.ini</settings> </transfer> <ssh> <auth_method>password</auth_method> <port>22</port> </ssh> </globals> <installation lastRun="2015-11-23 11:11"> <agent_options> <scheduler_user>test</scheduler_user> <scheduler_log_dir>/var/log/sos-berlin.com/jobscheduler/agent</scheduler_log_dir> </agent_options> <ssh> <user>test</user> <password>xxxx</password> <sudo_password>xxxx</sudo_password> <host>192.11.0.111</host> </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> </installation> <installation lastRun="2015-11-23 11:11"> <agent_options> <scheduler_http_port>4446</scheduler_http_port> <scheduler_user>sos</scheduler_user> <scheduler_log_dir>/var/log/sos-berlin.com/jobscheduler/agent</scheduler_log_dir> </agent_options> <ssh> <user>sos</user> <password>xxxx</password> <sudo_password>xxxx</sudo_password> <host>192.11.0.111</host> </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> </installation> <installation lastRun="2015-11-23 11:11"> <agent_options><BasicConnection> <scheduler_user>sos</scheduler_user> <Hostname><![CDATA[192.11.0.111]]></Hostname> </BasicConnection> <SSHAuthentication> <scheduler_log_dir>/var/log/sos-berlin.com/jobscheduler/agent</scheduler_log_dir> </agent_options> <Account><![CDATA[test]]></Account> <ssh><AuthenticationMethodPassword> <user>sos</user><Password><![CDATA[xxxx]]></Password> <password>xxxx<</password>AuthenticationMethodPassword> <sudo_password>xxxx</sudo_password> </SSHAuthentication> </SFTPFragment> <host>192<SFTPFragment name="SFTP_192.11.0.95</host>111:4446"> <BasicConnection> <Hostname><![CDATA[192.11.0.111]]></Hostname> </ssh> BasicConnection> <SSHAuthentication> <postprocessing> <Account><![CDATA[sos]]></Account> <AuthenticationMethodPassword> <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> <Password><![CDATA[xxxx]]></Password> </AuthenticationMethodPassword> <command>echo ${ssh.sudo_password} | sudo -S chkconfig jobscheduler_agent_${agent_options.scheduler_http_port}</command>SSHAuthentication> </postprocessing>SFTPFragment> </installation> <SFTPFragment <installation lastRunname="2015-11-23 11:11SFTP_192.11.0.95:4445"> <agent_options><BasicConnection> <scheduler_http_port>4446</scheduler_http_port> <Hostname><![CDATA[192.11.0.95]]></Hostname> </BasicConnection> <SSHAuthentication> <scheduler_user>test</scheduler_user> <Account><![CDATA[sos]]></Account> <scheduler_log_dir>/var/log/sos-berlin.com/jobscheduler/agent</scheduler_log_dir> <AuthenticationMethodPassword> </agent_options><Password><![CDATA[xxxx]]></Password> <ssh> </AuthenticationMethodPassword> <user>sos<</user>SSHAuthentication> </SFTPFragment> <password>xxxx</password><SFTPFragment name="SFTP_192.11.0.95:4446"> <sudo_password>xxxx</sudo_password><BasicConnection> <host>192.<Hostname><![CDATA[192.11.0.95</host>95]]></Hostname> </ssh> BasicConnection> <SSHAuthentication> <postprocessing> <Account><![CDATA[sos]]></Account> <AuthenticationMethodPassword> <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> <Password><![CDATA[xxxx]]></Password> </AuthenticationMethodPassword> </SSHAuthentication> </SFTPFragment> <SFTPFragment name="SFTP_192.11.0.111:4448"> <BasicConnection> <command>echo ${ssh.sudo_password} | sudo -S chkconfig jobscheduler_agent_${agent_options.scheduler_http_port}</command> <Hostname><![CDATA[192.11.0.111]]></Hostname> </postprocessing>BasicConnection> </installation> <installation lastRun=""> <SSHAuthentication> <agent_options> <Account><![CDATA[test]]></Account> <scheduler_http_port>4448</scheduler_http_port><AuthenticationMethodPassword> <scheduler_user>test</scheduler_user><Password><![CDATA[xxxx]]></Password> <scheduler_log_dir>/var/log/sos-berlin.com/jobscheduler/agent</scheduler_log_dir> </AuthenticationMethodPassword> </SSHAuthentication> </SFTPFragment> </agent_options>ProtocolFragments> </Fragments> <Profiles> <ssh><Profile profile_id="192.11.0.111:4445"> <Operation> <user>test</user> <Copy> <password>xxxx</password><CopySource> <sudo_password>xxxx</sudo_password><CopySourceFragmentRef> <host>192.11.0.111</host> <LocalSource /> </ssh>CopySourceFragmentRef> <postprocessing> <SourceFileOptions> <command>echo ${ssh.sudo_password} | sudo -S<Selection> 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> <FileSpecSelection> <FileSpec><![CDATA[.*\.(sh|gz)$]]></FileSpec> </postprocessing> <Directory><![CDATA[C:\tmp\agent_batch]]></Directory> </installation> </installations> |
HINTS:
- Note that the value that defines this case is the one from
<lastRun>
in the last<installation>
. For this to work:- The parameter
update
in the JobAgentBatchInstaller
has to be set tofalse
. - The value
<lastRun>
has to be empty for the extra installation.
- The parameter
...
Each installation makes use of a profile in the YADE settings 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:
- Specify the name of the YADE settings file with the
<globals><settings>
element. - Open the YADE settings file or create a new one.
- Assign the XSD Schema http://www.sos-berlin.com/schema/yade/YADE_configuration_v1.0.xsd
- Add a
<ProtocolFragments>
element and nodes for each host that you want to install the JobScheduler Universal Agent for. - Add a
<Profile>
element and nodes for each host you want install the JobScheduler Universal Agent for. - 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 configuration file.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<?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> </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.111:4446"> <Operation> <Copy> <CopySource> <CopySourceFragmentRef> <LocalSource /> </CopySourceFragmentRef> <SourceFileOptions> <Selection> <FileSpecSelection> <FileSpec><![CDATA[.*\.(sh|gz)$]]></FileSpec> <Directory><![CDATA[C:\tmp\agent_batch]]></Directory> </FileSpecSelection> </Selection> </SourceFileOptions> <Hostname><![CDATA[192.11.0.111]]></Hostname></CopySource> </BasicConnection> <CopyTarget> <SSHAuthentication><CopyTargetFragmentRef> <SFTPFragmentRef <Account><![CDATA[test]]></Account> ref="SFTP_192.11.0.111:4446" /> <AuthenticationMethodPassword></CopyTargetFragmentRef> <Password><<Directory><![CDATA[xxxx/home/sos/tmp/]]></Password>Directory> </AuthenticationMethodPassword>CopyTarget> </SSHAuthentication>Copy> </SFTPFragment>Operation> </Profile> <SFTPFragment name <Profile profile_id="SFTP_192.11.0.11195:44464445"> <Operation> <BasicConnection> <Copy> <Hostname><![CDATA[192.11.0.111]]></Hostname> <CopySource> </BasicConnection> <CopySourceFragmentRef> <SSHAuthentication> <Account><![CDATA[sos]]></Account> <LocalSource /> <AuthenticationMethodPassword> </CopySourceFragmentRef> <Password><![CDATA[xxxx]]></Password><SourceFileOptions> </AuthenticationMethodPassword> <Selection> </SSHAuthentication> </SFTPFragment> <SFTPFragment name="SFTP_192.11.0.95:4445"><FileSpecSelection> <BasicConnection> <Hostname><<FileSpec><![CDATA[192.11.0.95*\.(sh|gz)$]]></Hostname>FileSpec> </BasicConnection> <SSHAuthentication> <Account><<Directory><![CDATA[sosC:\tmp\agent_batch]]></Account>Directory> <AuthenticationMethodPassword> </FileSpecSelection> <Password><![CDATA[xxxx]]></Password> </Selection> </AuthenticationMethodPassword>SourceFileOptions> </SSHAuthentication>CopySource> </SFTPFragment> <CopyTarget> <SFTPFragment name="SFTP_192.11.0.95:4446"> <CopyTargetFragmentRef> <BasicConnection> <Hostname><![CDATA[<SFTPFragmentRef ref="SFTP_192.11.0.95]]></Hostname>:4445" /> </BasicConnection> </CopyTargetFragmentRef> <SSHAuthentication> <Account><<Directory><![CDATA[/home/sos/tmp/]]></Account>Directory> <AuthenticationMethodPassword></CopyTarget> <Password><![CDATA[xxxx]]></Password> </Copy> </AuthenticationMethodPassword>Operation> </SSHAuthentication>Profile> </SFTPFragment> <SFTPFragment name="SFTP_<Profile profile_id="192.11.0.11195:44484446"> <BasicConnection><Operation> <Copy> <Hostname><![CDATA[192.11.0.111]]></Hostname> </BasicConnection><CopySource> <SSHAuthentication> <CopySourceFragmentRef> <Account><![CDATA[test]]></Account> <LocalSource <AuthenticationMethodPassword>/> <Password><![CDATA[xxxx]]></Password> </CopySourceFragmentRef> </AuthenticationMethodPassword> <SourceFileOptions> </SSHAuthentication> </SFTPFragment><Selection> </ProtocolFragments> </Fragments> <Profiles> <Profile profile_id="192.11.0.111:4445"> <FileSpecSelection> <Operation> <Copy> <FileSpec><![CDATA[.*\.(sh|gz)$]]></FileSpec> <CopySource> <CopySourceFragmentRef> <Directory><![CDATA[C:\tmp\agent_batch]]></Directory> <LocalSource </>FileSpecSelection> </CopySourceFragmentRef>Selection> <SourceFileOptions></SourceFileOptions> </CopySource> <Selection> <CopyTarget> <FileSpecSelection> <FileSpec><![CDATA[.*\.(sh|gz)$]]></FileSpec> <Directory><![CDATA[C:\tmp\agent_batch]]></Directory> <CopyTargetFragmentRef> <SFTPFragmentRef ref="SFTP_192.11.0.95:4446" /> </CopyTargetFragmentRef> <Directory><![CDATA[/home/test/tmp/]]></Directory> </CopyTarget> </Copy> </Operation> </Profile> <Profile profile_id="192.11.0.111:4448"> <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:4448" /> </CopyTargetFragmentRef> <Directory><![CDATA[/home/test/tmp/]]></Directory> </CopyTarget> </Copy> </Operation> </Profile> </Profiles> </Configurations> |
Anchor | ||||
---|---|---|---|---|
|
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.
- We recommended that you use the XML Editor to convert configuration files from XML to the
.ini
format (see the XML Editor for converting YADE configuration files (XML) into YADE setting files (.ini) section below for more information). - The following example shows as an example a
.ini
file that has been converted from the XML file above. You can download the example using this link: yade_agent_batch_installer_settings.ini
Code Block | ||||
---|---|---|---|---|
| ||||
[protocol_fragment_sftp@SFTP_192.11.0.111:4445] protocol </FileSpecSelection> = </Selection>sftp host </SourceFileOptions> </CopySource> <CopyTarget> = 192.11.0.111 user <CopyTargetFragmentRef> <SFTPFragmentRef ref="SFTP_192.11.0.111:4445" /> </CopyTargetFragmentRef> = test ssh_auth_method <Directory><![CDATA[/home/test/tmp/]]></Directory> = </CopyTarget> password password </Copy> </Operation> </Profile> <Profile profile_id="= xxxx [protocol_fragment_sftp@SFTP_192.11.0.111:4446"> ] protocol <Operation> <Copy> = <CopySource>sftp host <CopySourceFragmentRef> <LocalSource /> = 192.11.0.111 user </CopySourceFragmentRef> <SourceFileOptions> = <Selection>sos ssh_auth_method <FileSpecSelection> = password password <FileSpec><![CDATA[.*\.(sh|gz)$]]></FileSpec> = <Directory><![CDATA[C:\tmp\agent_batch]]></Directory> xxxx [protocol_fragment_sftp@SFTP_192.11.0.95:4445] protocol </FileSpecSelection> = </Selection> sftp host </SourceFileOptions> </CopySource> <CopyTarget> = 192.11.0.95 user <CopyTargetFragmentRef> <SFTPFragmentRef ref="SFTP_192.11.0.111:4446" /> = sos ssh_auth_method </CopyTargetFragmentRef> <Directory><![CDATA[/home/sos/tmp/]]></Directory> = password password </CopyTarget> </Copy> </Operation> </Profile> <Profile profile_id="= xxxx [protocol_fragment_sftp@SFTP_192.11.0.95:4445">4446] protocol <Operation> <Copy> = <CopySource>sftp host <CopySourceFragmentRef> <LocalSource /> = 192.11.0.95 user </CopySourceFragmentRef> <SourceFileOptions> = <Selection>sos ssh_auth_method <FileSpecSelection> = password password <FileSpec><![CDATA[.*\.(sh|gz)$]]></FileSpec> = <Directory><![CDATA[C:\tmp\agent_batch]]></Directory> xxxx [protocol_fragment_sftp@SFTP_192.11.0.111:4448] protocol </FileSpecSelection> = </Selection> sftp host </SourceFileOptions> </CopySource> <CopyTarget> = 192.11.0.111 user <CopyTargetFragmentRef> <SFTPFragmentRef ref="SFTP_192.11.0.95:4445" /> = test ssh_auth_method </CopyTargetFragmentRef> <Directory><![CDATA[/home/sos/tmp/]]></Directory> = password password </CopyTarget> </Copy> </Operation> </Profile> <Profile profile_id="= xxxx [192.11.0.95:4446"> 111:4445] operation <Operation> <Copy> = <CopySource>copy source_protocol <CopySourceFragmentRef> = local file_spec <LocalSource /> </CopySourceFragmentRef> = .*\.(sh|gz)$ source_dir <SourceFileOptions> <Selection> = C:\tmp\agent_batch target_include <FileSpecSelection> <FileSpec><![CDATA[.*\.(sh|gz)$]]></FileSpec> = protocol_fragment_sftp@SFTP_192.11.0.111:4445 target_dir <Directory><![CDATA[C:\tmp\agent_batch]]></Directory> </FileSpecSelection> = /home/test/tmp/ [192.11.0.111:4446] operation </Selection> = </SourceFileOptions> copy source_protocol </CopySource> = <CopyTarget>local file_spec <CopyTargetFragmentRef> <SFTPFragmentRef ref="SFTP_192.11.0.95:4446" /> .*\.(sh|gz)$ source_dir </CopyTargetFragmentRef> <Directory><![CDATA[/home/test/tmp/]]></Directory> = C:\tmp\agent_batch target_include </CopyTarget> </Copy> </Operation> </Profile> <Profile profile_id="= protocol_fragment_sftp@SFTP_192.11.0.111:4448"> 4446 target_dir <Operation> <Copy> <CopySource> = /home/sos/tmp/ [192.11.0.95:4445] operation <CopySourceFragmentRef> <LocalSource /> </CopySourceFragmentRef> <SourceFileOptions> = copy source_protocol <Selection> = local file_spec <FileSpecSelection> = <FileSpec><![CDATA[.*\.(sh|gz)$]]></FileSpec> source_dir = <Directory><![CDATA[C:\tmp\agent_batch]]></Directory> target_include </FileSpecSelection> = protocol_fragment_sftp@SFTP_192.11.0.95:4445 target_dir = /home/sos/tmp/ [192.11.0.95:4446] operation </Selection> </SourceFileOptions> = </CopySource> copy source_protocol <CopyTarget> = <CopyTargetFragmentRef>local file_spec <SFTPFragmentRef ref="SFTP_192.11.0.111:4448" /> </CopyTargetFragmentRef> = .*\.(sh|gz)$ source_dir <Directory><![CDATA[/home/test/tmp/]]></Directory> </CopyTarget> = C:\tmp\agent_batch target_include </Copy> </Operation> </Profile> </Profiles> </Configurations> |
HINTS:
...
title | INI file |
---|---|
collapse | true |
...
= protocol_fragment_sftp@SFTP_192.11.0.95:4446 target_dir = /home/test/tmp/ [192.11.0.111: |
...
4448] |
...
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:4448 target_dir = |
...
/home/test/tmp/ |
Anchor | ||||
---|---|---|---|---|
|
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.
The Batch Installer configuration file contains an <installation>
element for each Agent instance. In addition, the <global>
element can be used in a homogeneous environment to specify parameters that will be applied to all Agent installations. If a parameter is specified in the <global>
element and in an individual <installation>
element then the setting for the individual element will overwrite the global setting.
The following configuration steps should be carried out:
- Leave the global parameters as they were set for your previous Use Case.
- Specify the installation parameters for the extra Agent installation:
- Set
lastRun
element to an empty value (with the element<installations><installation>
). This is the value that will make the Batch Installer just carry out this one extra installation and skip the rest. - Agent options:
<scheduler_user>
: the Agent user<scheduler_log_dir>
: the Logs folder for the Agent
Specify the credentials for the SSH connection:
<user>
: the SSH login user<password>
: the Password for the login user<sudo_password>
: the Password forsudo
actions- <
auth_method>
: the SSH authentication method - <
host
>: the SSH Host <port>
: the SSH port
- Use the
<postprocessing>
element to specify the post-processing commands for the Agent server's operating system. The default commands for an Ubuntu distribution will place the Agent start script under/etc/init.d
and will setup the autostart for the Universal Agent: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
- Set
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <installations lastRun="2015-11-23 12:11"> <globals> <install_path>/opt</install_path> <transfer> <settings>c:\tmp\agent_batch\yade_agent_batch_installer_settings.ini</settings> |
...
</transfer> <ssh> <auth_method>password</auth_method> |
...
<port>22</port> |
...
</ssh> </globals> <installation lastRun="2015-11-23 11:11"> <agent_options> |
...
|
...
<scheduler_user>test</scheduler_user> |
...
<scheduler_log_dir>/var/log/sos-berlin.com/jobscheduler/agent</scheduler_log_dir> </agent_options> <ssh> |
...
<user>test</user> <password>xxxx</password> <sudo_password>xxxx</sudo_password> |
...
<host>192.11.0.111</host> </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> |
...
</installation> <installation lastRun="2015-11-23 11:11"> <agent_options> <scheduler_http_port>4446</scheduler_http_port> |
...
|
...
<scheduler_user>sos</scheduler_user> <scheduler_log_dir>/var/log/sos-berlin.com/jobscheduler/agent</scheduler_log_dir> |
...
|
...
</agent_options> <ssh> |
...
<user>sos</user> <password>xxxx</password> <sudo_password>xxxx</sudo_password> |
...
|
...
<host>192.11.0.111</host> </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> </installation> <installation lastRun="2015-11-23 11:11"> <agent_options> |
...
|
...
<scheduler_user>sos</scheduler_user> |
...
<scheduler_log_dir>/var/log/sos-berlin.com/jobscheduler/agent</scheduler_log_dir> </agent_options> <ssh> |
...
<user>sos</user> <password>xxxx</password> |
...
<sudo_password>xxxx</sudo_password> |
...
<host>192.11.0. |
...
95</host> |
...
</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> </installation> |
...
<installation lastRun="2015-11-23 11:11"> <agent_options> |
...
<scheduler_http_port>4446</scheduler_http_port> <scheduler_user>test</scheduler_user> |
...
|
...
<scheduler_log_dir>/var/log/sos-berlin.com/jobscheduler/agent</scheduler_log_dir> |
...
</agent_options> |
...
<ssh> <user>sos</user> <password>xxxx</password> |
...
|
...
<sudo_password>xxxx</sudo_password> |
...
<host>192.11.0.95</host> </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> </installation> <installation lastRun=""> |
...
<agent_options> <scheduler_http_port>4448</scheduler_http_port> |
...
<scheduler_user>test</scheduler_user> <scheduler_log_dir>/var/log/sos-berlin.com/jobscheduler/agent</scheduler_log_dir> |
...
</agent_options> <ssh> |
...
<user>test</user> <password>xxxx</password> |
...
<sudo_password>xxxx</sudo_password> <host>192.11.0.111</host> |
...
</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> |
...
Then XML Editor can be used to manage the installation configuration file and the YADE profiles for the transfer of the installation files as well.
Find more details from our XML Editor section.
- After download of the XML Editor, extract the zip file, then start "sos.xml.editor.exe"
- Open your installer configuration file and assign the XSD schema
scheduler_universal_agent_installations.xsd
Please see the following examples (one example for each file):
...
<command>echo ${ssh.sudo_password} | sudo -S chkconfig jobscheduler_agent_${agent_options.scheduler_http_port}</command>
</postprocessing>
</installation>
</installations> |