Versions Compared

Key

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

...

Code Block
titleExample for use of Agent Installer Script
linenumberstrue
./js7_install_agent.sh \
    --home=/home/sos/agent \
    --release=2.5.2 \
    --http-port=4445 \
    --make-dirs

# downloads the release tarball from the SOS Web Site
# creates the home directory if it does not exist
# extracts the tarball to the Agent's home directory
# operates the Agent for HTTP port 4445

Install or Update from Tarball

Code Block
titleExample for use of Agent Installer Script
linenumberstrue
curl 'https://download.sos-berlin.com/JobScheduler.2.5/js7_agent_unix.2.5.2.tar.gz' -o /tmp/js7_agent_unix.2.5.2.tar.gz

./js7_install_agent.sh \
    --home=/home/sos/agent \
    --tarball=/tmp/js7_agent_unix.2.5.2.tar.gz \
    --home=/home/sos/agent \
    --http-port=4445 \
    --make-dirs

# downloads the Controller release tarball from the SOS Web Site using curl
# creates the home directory if it does not exist
# extracts the tarball to the Agent's home directory
# operates the Agent for HTTP port 4445

Install or Update using separate Home and Data Directories

Code Block
titleExample for use of Agent Installer Script
linenumberstrue
./js7_install_agent.sh \
    --home=/opt/sos-berlin.com/js7/agent \
    --data=/var/sos-berlin.com/js7/agent \
    --release=2.5.2 \
    --http-port=4445 \
    --make-dirs

# users might prefer to store configuration data and log data separately from the home directory
# downloads the Controller release tarball from the SOS Web Site
# creates the home and data directories if they do not exist
# extracts the tarball to the Agent's home directory
# populates the data directory from initial configuration files 
# operates the Agent for HTTP port 4445

Install or Update and Install or Update and Stop/Start using systemd

Code Block
titleExample for use of Agent Installer Script
linenumberstrue
curl 'https://download.sos-berlin.com/JobScheduler.2.5/js7_agent_unix.2.5.2.tar.gz' -o /tmp/js7_agent_unix.2.5.2.tar.gz

./js7_install_agent.sh \
    --home=/home/sos/agent \
    --tarball=/tmp/js7_agent_unix.2.5.2.tar.gz \
    --home=/home/sos/agent \
    --http-port=4445 \ 
    --exec-start="StartService" \
    --exec-stop="StopService" \
    --make-service \
    --make-dirs

# downloads the release tarball from the SOS Web Site using curl
# extracts the tarball to the Agent's home directory
# creates the Agent's systemd service
# stops and starts the Agent's systemd service
# operates the Agent for HTTP port 4445

Install or Update and Stop/Start using individual commands

Code Block
titleExample for use of Agent Installer Script
linenumberstrue
curl 'https://download.sos-berlin.com/JobScheduler.2.5/js7_agent_unix.2.5.2.tar.gz' -o /tmp/js7_agent_unix.2.5.2.tar.gz

./js7_install_agent.sh \
    --home=/home/sos/agent \
    --tarball=/tmp/js7_agent_unix.2.5.2.tar.gz \
     --exec-starthome="/home/sos/agent/bin/agent_4445.sh start" \
    --exechttp-stop="/port=4445 \
    --exec-start="/home/sos/agent/bin/agent_4445.sh start" \
    --exec-stop="/home/sos/agent/bin/agent_4445.sh stop" \
    --make-dirs

# downloads the release tarball from the SOS Web Site using curl
# extracts the tarball to the Agent's home directory
# stops and starts the Agent by individual commands
# operates the Agent for HTTP port 4445

Install or Update and Stop/Start using Instance Start Script

Code Block
titleExample for use of Agent Installer Script
linenumberstrue
curl 'https://download.sos-berlin.com/JobScheduler.2.5/js7_agent_unix.2.5.2.tar.gz' -o /tmp/js7_agent_unix.2.5.2.tar.gz

./js7_install_agent.sh \
    --home=/home/sos/agent \
    --tarball=/tmp/js7_agent_unix.2.5.2.tar.gz \
    --home=/home/sos/agent \
    --http-port=4445 \
    --restart \
    --make-dirs

# downloads the release tarball from the SOS Web Site using curl
# extracts the tarball to the Agent's home directory
# stops and starts the Agent from its instance start script
# operates the Agent for HTTP port 4445

Install or Update using Java Home and Java Options

Code Block
titleExample for use of Agent Installer Script
linenumberstrue
curl 'https://download.sos-berlin.com/JobScheduler.2.5/js7_agent_unix.2.5.2.tar.gz' -o gz' -o /tmp/js7_agent_unix.2.5.2.tar.gz

./js7_install_agent.sh \
    --tarball=/tmp/js7_agent_unix.2.5.2.tar.gz

./js7_install_agent.sh \
      --home=/home/sos/agent \
    --tarball=/tmp/js7_agent_unix.2.5.2.tar.gzhttp-port=4445 \
    --java-home=/opt/java/jdk-11.0.2+9 \
    --java-options="-Xmx512m -Xms256m" \
    --restart \
    --make-dirs

# downloads the release tarball from the SOS Web Site using curl
# extracts the tarball to the Agent's home directory
# specifies the Java version and Java options to be used
# stops and starts the Agent from its instance start script <home>/bin/agent_4445.sh
# operates the Agent for HTTP port 4445

Install or Update with Return Values

Code Block
titleExample for use of Agent Installer Script
linenumberstrue
curl 'https://download.sos-berlin.com/JobScheduler.2.5/js7_agent_unix.2.5.2.tar.gz' -o /tmp/js7_agent_unix.2.5.2.tar.gz
retval=/tmp/js7_install_agent.$$.tmp

./js7_install_agent.sh \
    --home=/home/sos/agent \
    --tarball=/tmp/js7_agent_unix.2.5.2.tar.gz \
    --home=/home/sos/agent \
    --http-port=4445 \
    --backup-dir=/tmp/backups \
    --log-dir=/tmp/logs \
    --return-values=$retval \
    --exec-start="StartService" \
    --exec-stop="StopService" \
    --make-service \
    --make-dirs

log_file=$(cat $retval | grep "log_file" | cut -d'=' -f2)
backup_file=$(cat $retval | grep "backup_file" | cut -d'=' -f2)

# downloads the release tarball from the SOS Web Site using curl
# creates a backup archive and log file
# extracts the tarball to the Agent's home directory
# stops and starts the Agent from its systemd service
# provides return values from a temporary file which includes the path to the log file and to the backup archive
# operates the Agent for HTTP port 4445

Install or Update with Fallback

Code Block
titleExample for use of Agent Installer Script
linenumberstrue
curl 'https://download.sos-berlin.com/JobScheduler.2.5/js7_agent_unix.2.5.2.tar.gz' -o /tmp/js7_agent_unix.2.5.2.tar.gz
retval=/tmp/js7_install_agent.$$.tmp

./js7_install_agent.sh \
    --home=/home/sos/agent \
    --tarball=/tmp/js7_agent_unix.2.5.2.tar.gz \
    --home=/home/sos/agent \
    --http-port=4445 \
    --backup-dir=/tmp/backups \
    --log-dir=/tmp/logs \
    --return-values=$retval \
    --restart \
    --show-logs \
    --make-dirs
 || ( backup=$(cat $retval | grep "backup_file" | cut -d'=' -f2 ) \
      && ( test -e "$backup" ) && \
      ./js7_install_agent.sh \
          --tarball=$backup \
          --home=/home/sos/agent \
          --tarballhttp-port=$backup4445 \
          --log-dir=/tmp/logs \
          --restart \
          --show-logs )

log_file=$(cat $retval | grep "log_file" | cut -d'=' -f2)
backup_file=$(cat $retval | grep "backup_file" | cut -d'=' -f2)

# downloads the release tarball from the SOS Web Site using curl
# creates a backup archive and log file
# extracts the tarball to the Agent's home directory
# reverts the installation from a backup archive in case of failure
# stops and starts the Agent from its instance start script <home>/bin/agent_4445.sh
# displays log output on termination of the script

Install or Update and Apply Certificates for HTTPS Connections

Code Block
titleExample for use of Agent Installer Script
linenumberstrue
curl 'https://download.sos-berlin.com/JobScheduler.2.5/js7_agent_unix.2.5.2.tar.gz' -o /tmp/js7_agent_unix.2.5.2.tar.gz

./js7_install_agent.sh \
    --home=/home/sos/agentagent.sh \
    --tarball=/tmp/js7_agent_unix.2.5.2.tar.gz
    --home=/home/sos/agent \
    --controller-id=controller \
    --http-port=localhost:4445 \
    --https-port=batch.example.com:4445 \
    --private-conf=/home/sos/agent-deployment/private.conf \
    --controller-primary-cert=/home/sos/agent-deployment/centostest-primary.crt \
    --controller-secondary-cert=/home/sos/agent-deployment/centostest-secondary.crt \
    --keystore=/home/sos/agent-deployment/https-keystore.p12 \
    --keystore-password="jobscheduler" \
    --truststore=/home/sos/agent-deployment/https-truststore.p12 \
    --truststore-password="jobscheduler" \
    --exec-start=StartService \
    --exec-stop=StopService \
    --make-service \
    --make-dirs

# downloads the release tarball from the SOS Web Site using curl
# extracts the tarball to the Agent's home directory
# specifies the Controller ID of the Controller to which the Agent is dedicated
# specifies HTTP port 4445 on the localhost network interface and the same HTTPS port on the server network interface
# specifies the paths to the Primary and Secondary Controller's server certificates if a Controller Cluster is operated
#     for a Standalone Controller the -controller-secondary-cert argument is dropped
# deploys the Agent private configuration file which holds references to keystore and truststore
# deploys keystore and truststore files
# stops and starts the Agent's systemd service

...

  • The private.conf configuration file holds references to the Controller's certificate in order to verify the connection from the Controller using HTTPS mutual authentication.
  • Users have a choice how to provide the required configuration:
    • The Agent Installation Script performs replacements of placeholders in the private.conf configuration file by option values, for details see chapter Replacements.
    • Users can manually adjust configuration items in the private.conf file that they specify for the Agent Installation Script., see JS7 - Controller Configuration Items.

Renew Certificates for HTTPS Connections

Code Block
titleExample for use of Agent Installer Script
linenumberstrue
./js7_install_agent.sh \
    --home=/home/sos/agent \
    --controller-id=controller \
    --http-port=localhost:4445 \
    --https-port=batch.example.com:4445 \
    --private-conf=/home/sos/agent-deployment/private.conf \
    --controller-primary-cert=/home/sos/agent-deployment/centostest-primary.crt \
    --controller-secondary-cert=/home/sos/agent-deployment/centostest-secondary.crt \ 
    --keystore=/home/sos/agent-deployment/https-keystore.p12 \
    --keystore-password="jobscheduler" \
    --truststore=/home/sos/agent-deployment/https-truststore.p12 \
    --truststore-password="jobscheduler" \
    --exec-start=StartService \
    --exec-stop=StopService \
    --no-install

# performs no installation but certificate renewal only
# specifies the Controller ID of the Controller to which the Agent is dedicated
# addresses an existing Agent operated for HTTP port 4445 on the localhost network interface and the same HTTPS port on the server network interface
# specifies the paths to the Primary and Secondary Controller's server certificates if a Controller Cluster is operated
#     for a Standalone Controller the -controller-secondary-cert argument is dropped
# deploys the Agent private configuration file that holds references to keystore and truststore
# deploys keystore and truststore files
# stops and starts the Agent's systemd service

...

Code Block
titleExample for use of Agent Installer Script
linenumberstrue
./js7_install_agent.sh \
    --home=/home/sos/agentrelease=2.2.3 \
    --release=2.2.3patch=JS-1984 \
    --patch=JS-1984home=/home/sos/agent \
    --http-port=4445 \
    --exec-start=StartService \
    --exec-stop=StopService
 
# downloads the patch tarball from the SOS Web Site 
# extracts the patch tarball to the Agent's home directory
# stores the patch files to the Agent's <home>/lib/patches sub-directory
# stops and starts the Agent's systemd service

...

Code Block
titleExample for use of Agent Installer Script
linenumberstrue
curl 'https://download.sos-berlin.com/JobScheduler.2.2/js7_agent_unix.2.2.3.JS-1984.tar.gz' -o /tmp/js7_agent_unix.2.2.3.JS-1984.tar.gz

./js7_install_agent.sh \
    --home=/home/sos/agent \
    --tarball=/tmp/js7_agent_unix.2.2.3.JS-1984.tar.gz \
     --patch=JS-1984 \
    --home=/home/sos/agent \
    --http-port=4445 \
    --exec-start=StartService \
    --exec-stop=StopService

# downloads the patch tarball from the SOS Web Site using curl
# extracts the patch tarball to the Agent's home directory
# stores patch files to the Agent's <home>/lib/patches sub-directory
# stops and starts the Agent's systemd service

...