...
The Parameters for the job chain steps will be set by the job AgentBachtInstaller AgentBatchInstaller while reading the xml input file.
Display feature availability | ||
---|---|---|
|
The JobScheduler Universal Agent Batch Installer is available starting starting from release 1.10.2.
...
CheckPreRequisite
- Checking for the correct java version >= 1.8
- Checking whether JobScheduler Universal Agent already has been installed.
- If so
- Shutting down a probably running instance
- remove the installation
- If so
TransferInstallaionSetup
: To transfer the setup jar file to the hostThe files, that will be transerfered are specified in globals/transfer/file_spec=.*\.(sh|gz)$
- With this regular expression, these files will be transfered
- The JobScheduler Universal Agent: jobscheduler_unix_universal_agent.1.11.0-SNAPSHOT.tar.gz
- The instancescript: jobscheduler_agent_<port>.sh
- The installation scipt: jobscheduler_universal_agent_install.sh
PerformInstall
: To start the installation using SSH.- Before the installation starts, the preprocessor will create the instancescript.sh from the template jobscheduler_agent_instance_script.txt
- Then the just transfered installation script will be executed
- The installation script will install and start the JobScheduler Universal Agent
- Finally the postprocessing commands will be executed
- The postprocessing commands are stored in installation/postprocessing/command
- Three commands will be executed
- if you have more than three commands, please add the call in the job PerformInstall
- The default commands will setup the autostart for JobScheduler Universal Agent on an Ubuntu server
- echo ${ssh.sudo_password} | sudo cp ${install_path}/bin/jobscheduler_agent.sh /etc/init.d/jobscheduler
- echo ${ssh.sudo_password} | sudo update-rc.d jobscheduler defaults
Starting the update/installation
The update/installation procedure will be started by running the job AgentBatchInstaller.
The job AgentBatchInstaller
The job AgentBatchInstaller reads an input file and creates orders for each element <installation>
The element <installation> defines the source and the target of the installation files, the port for the JobScheduler Universal Agent and the ssh connection parameters. Please note
- For all elements you can define defaults in the globals section
- You can use variables for the values e.g. ${ssh.host}
Parameters
Parameter | Description | Example |
---|---|---|
installation_definition_file | The xml file that contains all parameters for the batch installation | c:\batch\batchinstall.xml |
filter_install_host | A host name if only one order should be created that matches the given host | myAgent |
filter_install_port | A port if only one order should be created that matches the given host | 4445 |
installation_job_chain | The name of the job chain for which the orders should be created | /batch_install_universal_agent/universal_agent_installer |
update | If true an order for all <instances> will be created. If false an order for <instances> that do not have the last_run attribute will be created | true |
Customizing the installation process
You can customize the installation process.
- Changing the script part in the ssh jobs CheckPreRequisite and PerformInstall e.g. if you want to check other prerequisites or execute some commands before or after the installation.
- Changing the installation script jobscheduler_universal_agent_install.sh
- Changing the template for instance start script jobscheduler_agent_instance_script.txt
Checking Prerequisites
The job CheckPreRequisite checks the java version, shutdown a probably running JobScheduler Universal Agent and removes the lib folder from the old installation.
Code Block | ||||
---|---|---|---|---|
| ||||
echo .JobScheduler Universal Agent
echo .checking prerequisites ${install_path}
echo .checking Java Runtime Version >= 1.8? ......
JAVA_VER=$(java -version 2>&1 | sed 's/java version "\(.*\)\.\(.*\)\..*"/\1\2/; 1q')
if [ "$JAVA_VER" > "18" ]
then
echo ..java version: $JAVA_VER ok
else
echo ..wrong Java version found
echo ..expectet version is >= 1.8
echo ..installed version is $JAVA_VER
exit 8
fi
echo .checking whether JobScheduler Universal Agent is already installed?
if [ -f ${install_path}/jobscheduler_agent/bin/jobscheduler_agent.sh ]
then
echo ..JobScheduler Universal Agent already installed
echo ..shutting down JobScheduler Universal Agent
${install_path}/jobscheduler_agent/bin/jobscheduler_agent.sh stop
echo ..removing installation from ${install_path}
rm -Rf ${install_path}/lib
else
echo .. this is the first installation of JobScheduler Universal Agent
fi
exit $? |
PerformInstall
The job PerformInstall calls the installation script and executes the commands given in the <postprocessing> element.
Code Block | ||||
---|---|---|---|---|
| ||||
echo Executing PerformInstall ${target_dir}
chmod a+x ${target_dir}/jobscheduler_universal_agent_install.sh
${target_dir}/jobscheduler_universal_agent_install.sh -d${install_path}
test -z "${command_1}" || "${command_1}"
rc=$?
test $rc -eq 0 && test -z "${command_2}" || "${command_2}"
rc=$?
test $rc -eq 0 && test -z "${command_3}" || "${command_3}"
exit $? |
The installation script
The installation script unzip the installation file and starts the JobScheduler Universal Agent
Parameters
CheckPreRequisite
For more detailed explanation of the parameters have a look at the jitl ssh job documentaiton
Parameter | Description | XML |
---|---|---|
scheduler_ip_address | The ip address of the JobScheduler Universal Agents host | installation/agent_options/scheduler_ip_address |
scheduler_http_port | The port of the JobScheduler Universal Agent | installation/agent_options/scheduler_http_port |
host | The ssh ip address of the JobScheduler Universal Agents host | installation/ssh/host |
port | The ssh port of the JobScheduler Universal Agent | installation/ssh/port |
user | The ssh user of the JobScheduler Universal Agent | installation/ssh/user |
auth_method | The ssh auth method of the JobScheduler Universal Agent | installation/ssh/auth_method |
auth_file | The ssh auth file of the JobScheduler Universal Agent | installation/ssh/auth_file |
password | The ssh password of the JobScheduler Universal Agent | installation/ssh/password |
sudo_password | The sudo password for ssh user | installation/ssh/sudo_password |
install_path | The folder, where JobScheduler Universal Agent will be installed | installation/install_path |
TransferInstallationSetup
For more detailed explanation of the parameters have a look at the yade documentaiton
file_spec | a regular expression that defines the set of files that should be transfered | installation/transfer/file_spec |
target_host | the host to which the files should be transfered | installation/transfer/target/host |
target_port | the port according to the given protocol (e.g. 21 when protocol is ftp) | installation/transfer/target/port |
target_protocol | the protocol with wich the target will be transered (ftp, sftp, file, local) | installation/transfer/target/protocol |
target_user | the user (if the protocol needs one) with wich the target will be transered | installation/transfer/target/user |
target_password | the password (if the protocol needs one) with wich the target will be transered | installation/transfer/target/password |
target_dir | the location where the files will be copied to | installation/transfer/target/dir |
target_ssh_auth_method | the authentication method if the protocol is ssh. | installation/transfer/target/auth_method |
target_ssh_auth_file | the authentication file if the protocol is ssh and auth_method is publickey | installation/transfer/target/auth_file |
source_host | the host from where the files should be transfered | installation/transfer/source/host |
source_port | the port according to the given protocol (e.g. 21 when protocol is ftp) | installation/transfer/source/port |
source | the protocol with wich the source will be transered (ftp, sftp, file, local) | installation/transfer/source/protocol |
source_user | the user (if the protocol needs one) with wich the source will be transered | installation/transfer/source/user |
source_password | the password (if the protocol needs one) with wich the source will be transered | installation/transfer/source/password |
source_dir | the location from where the files will be copied | installation/transfer/source/dir |
source_ssh_auth_method | the authentication method if the protocol is ssh. | installation/transfer/source/auth_method |
source_ssh_auth_file | the authentication file if the protocol is ssh and auth_method is publickey | installation/transfer/source/auth_file |
PerformInstall
For more detailed explanation of the parameters have a look at the jitl ssh job documentaiton
Starting the update/installation
The update/installation procedure will be started by running the job AgentBatchInstaller.
The job AgentBatchInstaller
The job AgentBatchInstaller reads an input file and creates orders for each element <installation>
The element <installation> defines the source and the target of the installation files, the port for the JobScheduler Universal Agent and the ssh connection parameters. Please note
- For all elements you can define defaults in the globals section
- You can use variables for the values e.g. ${ssh.host}
Parameters
Parameter | Description | Example |
---|---|---|
installation_definition_file | The xml file that contains all parameters for the batch installation | c:\batch\batchinstall.xml |
filter_install_host | A host name if only one order should be created that matches the given host | myAgent |
filter_install_port | A port if only one order should be created that matches the given host | 4445 |
installation_job_chain | The name of the job chain for which the orders should be created | /batch_install_universal_agent/universal_agent_installer |
update | If true an order for all <instances> will be created. If false an order for <instances> that do not have the last_run attribute will be created | true |
Customizing the installation process
You can customize the installation process.
- Changing the script part in the ssh jobs CheckPreRequisite and PerformInstall e.g. if you want to check other prerequisites or execute some commands before or after the installation.
- Changing the installation script jobscheduler_universal_agent_install.sh
- Changing the template for instance start script jobscheduler_agent_instance_script.txt
Checking Prerequisites
The job CheckPreRequisite checks the java version, shutdown a probably running JobScheduler Universal Agent and removes the lib folder from the old installation.
Code Block | ||||
---|---|---|---|---|
| ||||
echo .JobScheduler Universal Agent
echo .checking prerequisites ${install_path}
echo .checking Java Runtime Version >= 1.8? ......
JAVA_VER=$(java -version 2>&1 | sed 's/java version "\(.*\)\.\(.*\)\..*"/\1\2/; 1q')
if [ "$JAVA_VER" > "18" ]
then
echo ..java version: $JAVA_VER ok
else
echo ..wrong Java version found
echo ..expectet version is >= 1.8
echo ..installed version is $JAVA_VER
exit 8
fi
echo .checking whether JobScheduler Universal Agent is already installed?
if [ -f ${install_path}/jobscheduler_agent/bin/jobscheduler_agent.sh ]
then
echo ..JobScheduler Universal Agent already installed
echo ..shutting down JobScheduler Universal Agent
${install_path}/jobscheduler_agent/bin/jobscheduler_agent.sh stop
echo ..removing installation from ${install_path}
rm -Rf ${install_path}/lib
else
echo .. this is the first installation of JobScheduler Universal Agent
fi
exit $? |
PerformInstall
The job PerformInstall calls the installation script and executes the commands given in the <postprocessing> element.
Code Block | ||||
---|---|---|---|---|
| ||||
echo Executing PerformInstall ${target_dir}
chmod a+x ${target_dir}/jobscheduler_universal_agent_install.sh
${target_dir}/jobscheduler_universal_agent_install.sh -d${install_path}
test -z "${command_1}" || "${command_1}"
rc=$?
test $rc -eq 0 && test -z "${command_2}" || "${command_2}"
rc=$?
test $rc -eq 0 && test -z "${command_3}" || "${command_3}"
exit $? |
The installation script
The installation script unzip the installation file and starts the JobScheduler Universal Agent
Code Block | ||||
---|---|---|---|---|
| ||||
#!/bin/sh
# Copyright (c) 2015 SOS GmbH, Berlin, Germany.
# All | ||||
Code Block | ||||
| ||||
#!/bin/sh
# Copyright (c) 2015 SOS GmbH, Berlin, Germany.
# All rights reserved.
export TERM=dumb
clear
echo "+---------------------------------------------------------+"
echo "* JobScheduler Univeral Agent *"
echo "* SOS Software- und Organisations Service GmbH *"
echo "* Giesebrechtstr. 15 *"
echo "* 10629 Berlin *"
echo "* ---------------------------------------------- *"
echo "* info@sos-berlin.com *"
echo "* http://www.sos-berlin.com *"
echo "+---------------------------------------------------------+"
echo ""
echo ""
echo "+---------------------------------------------------------+"
echo "* This will install JobScheduler Universal Agent now ... *"
echo "+---------------------------------------------------------+"
# -----------------------------------------------
cd `dirname $0`
SETUP_WORKING_DIR=`pwd`
SETUP_INSTALL_PATH=""
SHOW_EXTRACTED_FILESNAMES=0
SETUP_LOG_FILE="$SETUP_WORKING_DIR/jobscheduler_universal_install.log"
SETUP_ERR=0
# -----------------------------------------------------------------
log_write() {
case "$1" in
0 ) msg_hint="[info] ";;
1 ) msg_hint="[warning]";;
2 ) msg_hint="[error] ";;
3 ) msg_hint="[fatal] ";;
* ) msg_hint="[info] ";;
esac
timestamp=`date "+%Y-%m-%d %T"`
msg="$timestamp $msg_hint $2"
echo "$msg"
echo "$msg">>"$SETUP_LOG_FILE"
}
show_usage() {
echo "`basename $1` will install the 'JobScheduler Universal Agent' at [install_dir]."
echo "install_dir=Path with the JobScheduler Universal Agent"
echo
echo "Usage: `basename $1` [OPTION]"
echo
echo "Samples:"
echo " `basename $1` -co -d/home/jobscheduler "
echo
echo "Options:"
echo " -h, --help | Shows this usage"
echo " -s, --show | show all extracted filenames"
echo " -w --install_dir | Path of the JobScheduler Universal Agent installation"
}
# ----------------------------------------------------------------------------usage
if [ $# -eq 0 ]
then
show_usage $0
exit 65
fi
# --------------------------------------------
for arg in "$@"
do
long_opt=0
echo "`expr match $arg '\(..\)'`"
case "`expr match $arg '\(..\)'`" in
"-h" ) show_usage $0; exit 64;;
"-d" ) SETUP_INSTALL_PATH="`expr match $arg '-d\(.*\)'`";;
"-s" ) SHOW_EXTRACTED_FILESNAMES="`expr match $arg '-d\(.*\)'`";;
"--" ) long_opt=1;;
esac
if [ "$long_opt" -eq 1 ]
then
case `expr match "$arg" '\(--[^=]*\)'` in
"--show_extracted_filenames" ) SHOW_EXTRACTED_FILESNAMES=`expr match "$arg" '--.*=\(.*\)'`;;
"--help" ) show_usage $0; exit 64;;
"--install_dir" ) SETUP_INSTALL_DOD_PATH=`expr match "$arg" '--.*=\(.*\)'`;;
esac
fi
done
# ---------------
check_dir(){
SETUP_INSTALL_PATH="$1"
echo SETUP_INSTALL_PATH="$SETUP_INSTALL_PATH"
if [ -d "$SETUP_INSALL_PATH" ]
then
if [ -r "$SETUP_INSTALL_PATH" ]
then
cd "$SETUP_INSTALL_PATH"
SETUP_INSTALL_PATH=`pwd`
chmod 700 "$SETUP_INSTALL_PATH" 2>/dev/null
SETUP_ERR=$?
else
log_write 2 "$SETUP_INSTALL_PATH is not readable."
SETUP_ERR=1
fi
else
echo create $SETUP_INSTALL_PATH
mkdir -m700 -p "$SETUP_INSTALL_PATH" 2>/dev/null
SETUP_ERR=$?
if [ $SETUP_ERR -eq 0 ]
then
cd "$SETUP_INSTALL_PATH"
SETUP_INSTALL_PATH=`pwd`
else
log_write 2 "$SETUP_INSTALL_PATH can not create."
SETUP_ERR=1
fi
fi
cd "$SETUP_WORKING_DIR"
if [ $SETUP_ERR -ne 0 ]
then
log_write 2 "You haven't the necessary rights on the installation directory $SETUP_INSTALL_PATH."
exit $SETUP_ERR
fi
}
tarx (){
if [ -f "$1.gz" ]
then
gzip -fd $1.gz
fi
if [ ! -d "$2" ]
then
mkdir $2
fi
cd $2
tar $tarpar $SETUP_WORKING_DIR/$1
cd $SETUP_WORKING_DIR
}
tarpar="-xf "
if [ "$SHOW_EXTRACTED_FILESNAMES" = "1" ]
then
tarpar="-xvf "
fi
SETUP_INSTALL_PATH="$SETUP_INSTALL_PATH"
echo SETUP_INSTALL_PATH=$SETUP_INSTALL_PATH
check_dir $SETUP_INSTALL_PATH
# Installing
log_write 0 "Installing --> $SETUP_INSTALL_PATH"
tarx jobscheduler_unix_universal_agent.1.11.0-SNAPSHOT.tar $SETUP_INSTALL_PATH
log_write 0 "Start JobScheduler Universal Agent"
log_write 0 $SETUP_INSTALL_PATH/jobscheduler_agent/bin/jobscheduler_agent.sh start
$SETUP_INSTALL_PATH/jobscheduler_agent/bin/jobscheduler_agent.sh start 1 > /dev/null
exit $?
|
...
Code Block | ||
---|---|---|
| ||
<command>echo ${ssh.sudo_password} | sudo cp ${install_path}/bin/jobscheduler_agent.sh /etc/init.d/jobscheduler</command> |
Using the XML Editor
Installation of the Batch Installer for the JobScheduler Universal Agent
Files
The Zip file for the JobScheduler Universal Agent batch installer contains
Folder batch_install_universal_agent
Folder batch_install_universal_agent contains the configuration files for the job chain and jobs that will provide the batch installer for the JobScheduler Universal Agent
BatchInstaller.job.xml
Contains the configuration for the batch installer starter job. The job will read the batch installation file that contains an entry for each Agent and create an order for the batch installer job chain for each Agent that should be installed/updated
Parameters:
Name | Description |
---|---|
installation_definition_file | The file that contains the description for each agent, that should be installed/updated |
filter_install_host | If the input file should filtered, a host can be specified here for which the install/update should be executed |
filter_install_port | If the input file should filtered, a port can be specified here for which the install/update should be executed |
installation_job_chain | the full path of the job chain for which the orders should be generated |
update | if false, only entries will be executed that do not have the last_run attribute. |
...
Then XML Editor can be used to manage the installation input file.
The XML Editor is available here: http://www.sos-berlin.com/xml-editor-downloads
After downloading the file, extrac the zip file. Then start "sos.xml.editor.exe"
Open your installtion input file an assign the schema scheduler_universal_agent_installations.xsd
Installation of the Batch Installer for the JobScheduler Universal Agent
Unzip the JobScheduler Universal Agent Batch Installer zip file.
- copy the content of the live folder to the live folder of a JobScheduler instance
- copy the content of the folder batch_install to any folder
- create an installation input file
- adjust the parameter values for the job AgentBatchInstaller
Files
The Zip file for the JobScheduler Universal Agent batch installer contains
Folder batch_install_universal_agent
Folder batch_install_universal_agent contains the configuration files for the job chain and jobs that will provide the batch installer for the JobScheduler Universal Agent
AgentBatchInstaller.job.xml
Contains the configuration for the job that checks the prerequisites.
The job is implemented by the JITL SSH job. The script that will be exexuted to check the prerequisites is defined in the script tag of the job. The order has the following parameters for this step.
Parameter | Description | XML |
---|---|---|
scheduler_ip_address | The ip address of the JobScheduler Universal Agents host | installation/agent_options/scheduler_ip_address |
scheduler_http_port | The port of the JobScheduler Universal Agent | installation/agent_options/scheduler_http_port |
host | The ssh ip address of the JobScheduler Universal Agents host | installation/ssh/host |
port | The ssh port of the JobScheduler Universal Agent | installation/ssh/port |
user | The ssh user of the JobScheduler Universal Agent | installation/ssh/user |
auth_method | The ssh auth method of the JobScheduler Universal Agent | installation/ssh/auth_method |
auth_file | The ssh auth file of the JobScheduler Universal Agent | installation/ssh/auth_file |
password | The ssh password of the JobScheduler Universal Agent | installation/ssh/password |
sudo_password | The sudo password for ssh user | installation/ssh/sudo_password |
install_path | The folder, where JobScheduler Universal Agent will be installed | installation/install_path |
- Checking for the correct Java version >= 1.8
- Checking whether JobScheduler Universal Agent already has been installed.
- If so
- Shutting down a probably running instance
- remove the installation
- If so
batch installer starter job. The job will read the batch installation file that contains an entry for each Agent and create an order for the batch installer job chain for each Agent that should be installed/updated
Code Block | ||||
---|---|---|---|---|
| ||||
<job name="BatchInstaller">
<params >
<param name="installation_definition_file" value="c:\temp\batchinstall.xml"/>
<param name="filter_install_host" value=""/>
<param name="filter_install_port" value=""/>
<param name="installation_job_chain" value="/batch_install_universal_agent/universal_agent_installer"/>
<param name="update" value="true"/>
</params>
<script language="java" java_class_path="" java_class="com.sos.jitl.agentbatchinstaller.JSUniversalAgentBatchInstallerJSAdapterClass"/>
<run_time />
</job> |
CheckPreRequisite.job.xml
Contains the configuration for the job that checks the prerequisites.
The job is implemented by the JITL SSH job. The script that will be exexuted to check the prerequisites is defined in the script tag of the job.
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="ISO-8859-1"?>
<job title="Launch remote commands or executable files by SSH" order="yes" stop_on_error="no">
<description >
<include file="jobs/JobSchedulerSSHJob.xml"/>
</description>
<params />
<script language="java" java_class="sos.scheduler.job.SOSSSHJob2JSAdapter">
<![CDATA[
echo .JobScheduler Universal Agent
echo .checking prerequisites ${install_path}
echo .checking Java Runtime Version >= 1.8? ......
JAVA_VER=$(java -version 2>&1 | sed 's/java version "\(.*\)\.\(.*\)\..*"/\1\2/; 1q')
if [ "$JAVA_VER" > "18" ]
then
echo ..java version: $JAVA_VER ok
else
echo ..wrong Java version found
echo ..expectet version is >= 1.8
echo ..installed version is $JAVA_VER
exit 8
fi
echo .checking whether JobScheduler Universal Agent is already installed?
if [ -f ${install_path}/jobscheduler_agent/bin/jobscheduler_agent.sh ]
then
echo ..JobScheduler Universal Agent already installed
echo ..shutting down JobScheduler Universal Agent
${install_path}/jobscheduler_agent/bin/jobscheduler_agent.sh stop
echo ..removing installation from ${install_path}
rm -Rf ${install_path}/lib
else
echo .. this is the first installation of JobScheduler Universal Agent
fi
exit $?
]]>
</script>
<run_time />
</job> |
TransferInstallationSetup.job.xml
Contains the configuration for the job that transfers the installation files.
The job is implemented by the JITL YADE job. The order has the following parameters for this step.
Parameter | Description | XML |
---|---|---|
file_spec | a regular expression that defines the set of files that should be transfered | installation/transfer/file_spec |
target_host | the host to which the files should be transfered | installation/transfer/target/host |
target_port | the port according to the given protocol (e.g. 21 when protocol is ftp) | installation/transfer/target/port |
target_protocol | the protocol with wich the target will be transered (ftp, sftp, file, local) | installation/transfer/target/protocol |
target_user | the user (if the protocol needs one) with wich the target will be transered | installation/transfer/target/user |
target_password | the password (if the protocol needs one) with wich the target will be transered | installation/transfer/target/password |
target_dir | the location where the files will be copied to | installation/transfer/target/dir |
target_ssh_auth_method | the authentication method if the protocol is ssh. | installation/transfer/target/auth_method |
target_ssh_auth_file | the authentication file if the protocol is ssh and auth_method is publickey | installation/transfer/target/auth_file |
source_host | the host from where the files should be transfered | installation/transfer/source/host |
source_port | the port according to the given protocol (e.g. 21 when protocol is ftp) | installation/transfer/source/port |
source | the protocol with wich the source will be transered (ftp, sftp, file, local) | installation/transfer/source/protocol |
source_user | the user (if the protocol needs one) with wich the source will be transered | installation/transfer/source/user |
source_password | the password (if the protocol needs one) with wich the source will be transered | installation/transfer/source/password |
source_dir | the location from where the files will be copied | installation/transfer/source/dir |
source_ssh_auth_method | the authentication method if the protocol is ssh. | installation/transfer/source/auth_method |
source_ssh_auth_file | the authentication file if the protocol is ssh and auth_method is publickey | installation/transfer/source/auth_file |
/>
</job> |
TransferInstallationSetup.job.xml
Contains the configuration for the job that transfers the installation files.
The job is implemented by the JITL YADE job.
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="ISO-8859-1"?>
<job title="API Job for JobScheduler Advanced Data Exchange" order="yes" stop_on_error="no">
<description >
<include file="jobs/jadeJob.xml"/>
</description>
<environment >
<variable name="test" value="1"/>
</environment>
<script language="java" java_class="sos.scheduler.jade.JadeJob"/>
<run_time />
</job> |
PerformInstall.job.xml
Contains the configuration for the job that executes the installation of the JobScheduler Universal Agent
The job is implemented by the JITL ssh job.
Code Block | ||||
---|---|---|---|---|
| ||||
<job title="Launch remote commands or executable files by SSH" order="yes" stop_on_error="no" name="PerformInstall">
<description >
<include file="jobs/JobSchedulerSSHJob.xml"/>
</description>
<params />
<script language="java" java_class="sos.scheduler.job.SOSSSHJob2JSAdapter">
<![CDATA[
echo Executing PerformInstall ${target_dir}
chmod a+x ${target_dir}/jobscheduler_universal_agent_install.sh
${target_dir}/jobscheduler_universal_agent_install.sh -d${install_path}
test -z "${command_1}" || "${command_1}"
rc=$?
test $rc -eq 0 && test -z "${command_2}" || "${command_2}"
rc=$?
test $rc -eq 0 && test -z "${command_3}" || "${command_3}"
exit $?
]]>
</script>
<monitor name="templateProcessor" ordering="1">
<script language="java:javascript">
<![CDATA[
function spooler_process_before(){
var order = spooler_task.order;
var source_dir = order.params.value("PerformInstall/source_dir");
var scheduler_http_port = order.params.value("scheduler_http_port");
var templateProcessor = new Packages.com.sos.jitl.agentbatchinstaller.JSUniversalAgentBatchInstallerProcessTemplate();
templateProcessor.execute(source_dir+"/jobscheduler_agent_instance_script.txt",source_dir+"/jobscheduler_agent_" + scheduler_http_port + ".sh",spooler_task.order.delegate);
return true;
}
]]>
</script>
</monitor>
| ||||
Code Block | ||||
<?xml version="1.0" encoding="ISO-8859-1"?> <job title="API Job for JobScheduler Advanced Data Exchange" order="yes" stop_on_error="no"> <description > <include file="jobs/jadeJob.xml"/> </description> <environment > <variable name="test" value="1"/> </environment> <script language="java" java_class="sos.scheduler.jade.JadeJob"/> <run_time /> </job> |
installation_definition_file
...