Versions Compared

Key

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

...

  • The script is available for Linux, MacOS® and AIX® using bash, dash, ksh and zsh POSIX-compatible shells. 
  • The script expects a JS7 - Deployment Descriptor file in .json format that specifies the JS7 components, the installation options, configuration options and deployment options.
  • The script creates
    • the run_install_agent.sh, run_install_controller.sh, run_install_joc.sh Installer Wrapper Scripts that parameterize installation of the JS7 components,
    • the run_deploy_agent.sh, run_deploy_controller.sh, run_deploy_joc.sh Deployment Scripts that are used to transfer tarball Deployment Packages to target machineshosts.
    • the js7_import.tar.gz archive for import into the JS7 inventory by JOC Cockpit. The archive includes and schedules
      • including a calendar and schedule for import with the Configuration view. The objects can be used for automated rollout of Deployment Packages.
      • the Agent configuration of the Deployment Descriptor for import with the Manage Controllers/Agents view.
  • The script terminates with exit code 0 to signal success, with exit code 1 for command line argument errors and with other exit codes for non-recoverable errors.
  • The script is intended as a baseline example for customization by JS7 users and by SOS within the scope of professional services.

...

  • --deploy-desc
    • Specifies the path to the .json file that holds the JS7 - Deployment Descriptor.
    • Deployment Descriptors specify which JS7 components should be installed and which installation and configuration options should be used.
  • --config-dir
    • Specifies the top-level directory holding configuration files that will be copied to an Agent, Controller or JOC Cockpit installation..
    • By default the ./config directory is used, see JS7 - Deployment Server.
  • --work-dir
    • Specifies the directory that holds the working area to temporarily install JS7 components.
    • By default the ./work directory is used, see JS7 - Deployment Server.
  • --archive-dir
    • Specifies the directory to which deployment packages are stored.
    • By default the ./archive directory is used, see JS7 - Deployment Server.
  • --script-dir
  • --deploy-agent-id
    • Specifies the name of the Agent that should execute jobs in the Deployment Workflow.
    • This information will be added to the Deployment Workflow and can be changed later on in JOC Cockpit.
  • --agent-id
    • Selects the names of Agents Agent IDs available from the Deployment Descriptor file to which creation of Deployment Packages should be limited.
    • If more than one Agent name ID is specified the Agent names IDs are separated by comma.
  • --controller-id
    • Selects the Controller IDs of Controllers available from the Deployment Descriptor file to which creation of Deployment Packages should be limited.
    • If more than one Controller ID is specified the Controller IDs are separated by comma.
    • Note that in a Controller Cluster its members use the same Controller ID, therefore Deployment Packages are created for all members.
  • --joc-id
    • Selects the JOC Cockpit IDs available from the Deployment Descriptor file to which creation of Deployment Packages should be limited.
    • If more than one JOC Cockpit ID is specified the JOC Cockpit IDs are separated by comma.
    • Note that in a JOC Cockpit Cluster its members use the same JOC Cockpit ID, therefore Deployment Packages are created for all members.
  • --workflow-parallelism
    • Specifies the max. number of parallel deployments that should be executed by the Deployment Workflow.
    • By default up to 100 parallel deployments are performed.
  • --workflow-timezone
    • Specifies the time zone that will be applied to the Deployment Workflow. The time zone is relevant should users wish to modify the included deployment job for consideration of JS7 - Admission Times for Jobs.
  • --log-dir
    • If a log directory is specified then the Packaging Script will log information about processing steps to a log file in this directory.
    • File names are created according to the pattern: deployment_package.<deployment-descriptor>.<hostname>.<yyyy>-<MM>-<dd>T<hh>-<mm>-<ss>.log
    • For example: deployment_package.agent-http-20221204.centostest_primary.2022-12-19T20-50-45.log
    • The --log-dir option is forwarded to the installer scripts that will create individual log files in this directory.

...

Code Block
titleExample for use of Packaging Script
linenumberstrue
./js7_create_deployment_package.sh \
    --deploy-desc=agent-http-20221204.json

# makes use of the indicated Deployment Descriptor file that holds configuration items for a number of Agents
# works with default values for the location of the work area and of the archive directory to which Deployment Packages will be stored

...

Code Block
titleExample for use of Packaging Script
linenumberstrue
./js7_create_deployment_package.sh \
    --deploy-desc=agent-http-20221204.json \
    --keep-script \
    --dry-run

# makes use of the indicated Deployment Descriptor file that holds configuration items for a number of Agents
# performs a dry-run that will not create Deployment Packages but will generate wrapper scripts that parameterize calls to the Installer Scripts
# works with default values for the location of the work area and the archive directory wo which wrapper scripts will be stored

...

Code Block
titleExample for use of Packaging Script
linenumberstrue
#!/bin/sh

set -e

SCRIPT_HOME=$(cd "$(dirname "$0")" >/dev/null && pwd)

DEP_ARCHIVE=${DEP_ARCHIVE:-$(dirname "${SCRIPT_HOME}")/archive}
DEP_BIN=${DEP_BIN:-$(dirname "${SCRIPT_HOME}")/bin}
DEP_CONFIG=${DEP_CONFIG:-$(dirname "${SCRIPT_HOME}")/config}
DEP_DESC=${DEP_DESC:-$(dirname "${SCRIPT_HOME}")/desc}
DEP_LOGS=${DEP_LOGS:-$(dirname "${SCRIPT_HOME}")/logs}
DEP_WORK=${DEP_WORK:-$(dirname "${SCRIPT_HOME}")/work}


${DEP_BIN}/js7_create_deployment_package.sh \
    --deploy-desc=${DEP_DESC}/agent-controller-joc-https-20221204.json \
    --config-dir=${DEP_CONFIG} \
    --archive-dir=${DEP_ARCHIVE} \
    --script-dir=${DEP_BIN} \
    --work-dir=${DEP_WORK} \
    --log-dir=${DEP_LOGS} \
    --deploy-agent-id=deploymentAgent \
    --keep-script \
    --keep-work \
    --show-logs \
    --make-dirs

# makes use of the indicated Deployment Descriptor file that holds configuration items for a number of Agents
# works with specific values for directories
# keeps copies of the installer scripts and installations in the work area
# creates log files in the indicated directory and forwards the location to installer scripts

...