...
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 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 profiles 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 the following files to be transfered:
- the JobScheduler Universal Agent installation files:
jobscheduler_unix_universal_agent.tar.gz
thejobscheduler_agent_<port>.sh
start script for the instance - the installation script:
jobscheduler_universal_agent_install.sh
- the JobScheduler Universal Agent installation files:
- Before the transfer starts, the preprocessor will use the use the
PerformInstall
: The installation is started by SSH.- The installation script will install and start the JobScheduler Universal Agent
- Finally the
PerformInstall
job post-processing commands will 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(example 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
- These commands are specified using the
...
- 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_config_filesettings.xml
configuration file in the XML Editor and assign thescheduler_universal_agent_installations.xsd
schema: both files are YADE configurationfile, which is located in the
config/batch_installer
folder . See the Batch Installer Configuration File chapter below for instructions on how to configure the Batch Installer configuration file.Open youryade_agent_batch_installer_settings.xml
YADE configurationfile, which is located in theconfig/batch_installer
folder and assign the XSD schema
Info | ||
---|---|---|
| ||
|
JobScheduler Jobs
Once the job and job chain were extracted to the live
folder of your JobScheduler Master, please do the following:
AgentBatchInstaller
job: adjust the parameter values for theAgentBatchInstaller
job in your JobScheduler Master.Adjust the
installation_definition_file
job parameter with 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:
- Open a JobScheduler Operating Center (JOC) browser window for the JobScheduler master.
- 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 two Agents
The following example describes the installation of two Agents on separate servers.
...
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:
...
- Specify the
<install_path>
to point to a location where the Agent should be installed. Specify the path to the YADE settings file (.ini file) in the Batch Installer configuration file with the element
<globals><transfer><settings>.
The
- Specify the credentials for the SSH connection:
<user>
: SSH login user<password>
: Password for the login user<sudo_password>
: Password forsudo
actions- <
auth_method>
: SSH authentication method <port>
: SSH port
- Use the
<postprocessing>
element to specify the post-processing commands that 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
- 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
Once the job and job chain were extracted to the live
folder of your JobScheduler Master, please do the following:
AgentBatchInstaller
job: adjust the parameter values for theAgentBatchInstaller
job in your JobScheduler Master.Adjust the
installation_definition_file
job parameter with 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:
- Open a JobScheduler Operating Center (JOC) browser window for the JobScheduler master.
- 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 two Agents
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 specified, then it will be converted to the YADE settings file (.ini) and finally the Batch Installer configuration file will be specified.
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 an Agent installation (of only one 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<installation><agent_option><scheduler_ip_address>
element and<port>
will be substituted with the value from the<installation><agent_option><scheduler_http_port>
element.
Please take 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 might look like this:
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"> |
...
<scheduler_user>
: Agent user<scheduler_log_dir>
: Logs folder for the Agent
...
Info | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||
|
An example Batch Installer configuration file for the installation of two Agents might look like this:
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <installations lastRun="2015-11-20 14:11"> <globals> <install_path>/opt</install_path> <transfer><BasicConnection> <settings>C:\Program Files (x86)\sos-berlin.com\jobscheduler\vg_4444\scheduler_data\config\batch_installer\yade_agent_batch_installer_settings.ini</settings><Hostname><![CDATA[192.11.0.111]]></Hostname> </transfer>BasicConnection> <ssh> <user>test</user><SSHAuthentication> <password>xxxx</password><Account><![CDATA[test]]></Account> <sudo_password>xxxx</sudo_password><AuthenticationMethodPassword> <auth_method>password</auth_method><Password><![CDATA[xxxx]]></Password> <port>22<</port>AuthenticationMethodPassword> </ssh>SSHAuthentication> <postprocessing></SFTPFragment> <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><SFTPFragment name="SFTP_192.11.0.95:4445"> <BasicConnection> <Hostname><![CDATA[192.11.0.95]]></Hostname> </BasicConnection> <SSHAuthentication> <command>echo ${ssh.sudo_password} | sudo -S update-rc.d jobscheduler_agent_${agent_options.scheduler_http_port} defaults</command> <Account><![CDATA[test]]></Account> </postprocessing><AuthenticationMethodPassword> </globals> <installation lastRun="2015-11-20 14:11"> <Password><![CDATA[xxxx]]></Password> <agent_options> </AuthenticationMethodPassword> <scheduler_user>test</scheduler_user></SSHAuthentication> </SFTPFragment> </ProtocolFragments> <scheduler_log_dir>/var/log/sos-berlin.com/jobscheduler/agent</scheduler_log_dir></Fragments> <Profiles> <Profile </agent_options> profile_id="192.11.0.111:4445"> <Operation> <ssh> <Copy> <host>xxxx</host><CopySource> </ssh> </installation><CopySourceFragmentRef> <installation lastRun="2015-11-20 14:11"> <LocalSource <agent_options>/> <scheduler_user>test</scheduler_user></CopySourceFragmentRef> <scheduler_log_dir>/var/log/sos-berlin.com/jobscheduler/agent</scheduler_log_dir> <SourceFileOptions> </agent_options> <Selection> <ssh> <FileSpecSelection> <host>xxxx</host> </ssh> </installation> </installations> |
Info | ||
---|---|---|
| ||
|
...
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).
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<installation><agent_option><scheduler_ip_address>
element and<port>
will be substituted with the value from the<installation><agent_option><scheduler_http_port>
element.
Please take 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 might look like this:
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"><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> <BasicConnection> <Hostname><![CDATA[192.11.0.111]]></Hostname> </BasicConnection><FileSpecSelection> <SSHAuthentication> <Account><<FileSpec><![CDATA[test.*\.(sh|gz)$]]></Account>FileSpec> <AuthenticationMethodPassword> <Password><<Directory><![CDATA[xxxx]]></Password>C:\Program Files (x86)\sos-berlin.com\jobscheduler\vg_4444\scheduler_data\config\batch_installer]]></Directory> </AuthenticationMethodPassword>FileSpecSelection> </SSHAuthentication> </SFTPFragment>Selection> <SFTPFragment name="SFTP_192.11.0.95:4445"> </SourceFileOptions> <BasicConnection> </CopySource> <Hostname><![CDATA[192.11.0.95]]></Hostname><CopyTarget> </BasicConnection> <CopyTargetFragmentRef> <SSHAuthentication> <SFTPFragmentRef <Account><![CDATA[test]]></Account> ref="SFTP_192.11.0.95:4445" /> <AuthenticationMethodPassword> </CopyTargetFragmentRef> <Password><<Directory><![CDATA[xxxx/home/test/tmp/]]></Password>Directory> </AuthenticationMethodPassword>CopyTarget> </SSHAuthentication>Copy> </SFTPFragment>Operation> </ProtocolFragments>Profile> </Fragments> <Profiles> <Profile profile_id="192.11.0.111:4445"> <Operation> <Copy> <CopySource> <CopySourceFragmentRef> Profiles> </Configurations> |
Anchor | ||||
---|---|---|---|---|
|
Note that the file shown above is an XML file and YADE versions less that 1.11 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:
Code Block | ||||
---|---|---|---|---|
| ||||
[protocol_fragment_sftp@SFTP_192.11.0.111:4445] protocol <LocalSource /> = sftp host </CopySourceFragmentRef> <SourceFileOptions> <Selection> = 192.11.0.111 user <FileSpecSelection> <FileSpec><![CDATA[.*\.(sh|gz)$]]></FileSpec> = test ssh_auth_method <Directory><![CDATA[C:\Program Files (x86)\sos-berlin.com\jobscheduler\vg_4444\scheduler_data\config\batch_installer]]></Directory> = password password </FileSpecSelection> = </Selection> xxxx [protocol_fragment_sftp@SFTP_192.11.0.95:4445] protocol </SourceFileOptions> </CopySource> = sftp host <CopyTarget> <CopyTargetFragmentRef> <SFTPFragmentRef ref ="SFTP_ 192.11.0.111:4445" /> 95 user </CopyTargetFragmentRef> <Directory><![CDATA[/home/test/tmp/]]></Directory> = test ssh_auth_method </CopyTarget> = </Copy> password password </Operation> </Profile> <Profile profile_id=" = xxxx [192.11.0.95111:4445">] operation <Operation> <Copy> <CopySource> = copy source_protocol <CopySourceFragmentRef> = <LocalSource /> local file_spec </CopySourceFragmentRef> <SourceFileOptions> = .*\.(sh|gz)$ source_dir <Selection> <FileSpecSelection> <FileSpec><![CDATA[.*\.(sh|gz)$]]></FileSpec> <Directory><![CDATA[C:\Program Files (= C:\Program Files (x86)\sos-berlin.com\jobscheduler\vg_4444\scheduler_data\config\batch_installer]]></Directory> target_include </FileSpecSelection> = protocol_fragment_sftp@SFTP_192.11.0.111:4445 target_dir </Selection> </SourceFileOptions> = /home/test/tmp/ [192.11.0.95:4445] operation </CopySource> <CopyTarget> = copy source_protocol <CopyTargetFragmentRef> <SFTPFragmentRef ref="SFTP_192.11.0.95:4445" /> = local file_spec </CopyTargetFragmentRef> <Directory><![CDATA[/home/test/tmp/]]></Directory> = .*\.(sh|gz)$ source_dir </CopyTarget> </Copy> </Operation> </Profile> </Profiles> </Configurations> |
...
Note that the file shown above is an XML file and YADE versions less that 1.11 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.
...
= 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 | ||||
---|---|---|---|---|
|
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:
- Specify the Global parameters:
- Specify the
<install_path>
to point to a location where the Agent should be installed. Specify the path to the YADE settings file (.ini 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 forsudo
actions- <
auth_method>
: SSH authentication method <port>
: SSH port
- Use the
<postprocessing>
element to specify the post-processing commands that 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
- Specify the
- Specify the installation parameters for each Agent installation:
- Agent options:
<scheduler_user>
: Agent user<scheduler_log_dir>
: Logs folder for the Agent
- SSH Host
- Agent options:
Info | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||
|
An example Batch Installer configuration file for the installation of two Agents might look like this:
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<?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:\Program Files (x86)\sos-berlin.com\jobscheduler\vg_4444\scheduler_data\config\batch_installer\yade_agent_batch_installer_settings.ini</settings>
</transfer>
<ssh>
<user>test</user>
|
...
Code Block | ||||
---|---|---|---|---|
| ||||
[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 <password>xxxx</password> = .*\.(sh|gz)$ source_dir <sudo_password>xxxx</sudo_password> <auth_method>password</auth_method> <port>22</port> = C:\Program Files (x86)\sos-berlin.com\jobscheduler\vg_4444\scheduler_data\config\batch_installer target_include </ssh> <postprocessing> <command>echo = protocol_fragment_sftp@SFTP_192.11.0.111:4445 target_dir${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 = /home/test/tmp/ [192.11.0.95:4445] operationupdate-rc.d jobscheduler_agent_${agent_options.scheduler_http_port} defaults</command> </postprocessing> </globals> <installation lastRun="2015-11-20 14:11"> <agent_options> = copy source_protocol <scheduler_user>test</scheduler_user> = local file_spec <scheduler_log_dir>/var/log/sos-berlin.com/jobscheduler/agent</scheduler_log_dir> </agent_options> <ssh> = .*\.(sh|gz)$ source_dir <host>xxxx</host> </ssh> </installation> <installation lastRun="2015-11-20 14:11"> = C:\Program Files (x86)\sos-berlin.com\jobscheduler\vg_4444\scheduler_data\config\batch_installer target_include <agent_options> <scheduler_user>test</scheduler_user> = protocol_fragment_sftp@SFTP_192.11.0.95:4445 target_dir<scheduler_log_dir>/var/log/sos-berlin.com/jobscheduler/agent</scheduler_log_dir> </agent_options> <ssh> <host>xxxx</host> </ssh> = /home/test/tmp/</installation> </installations> |
Info | ||
---|---|---|
| ||
|
Anchor | ||||
---|---|---|---|---|
|
...