You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

Introduction

  • JS7 is a rewrite from scratch of the JobScheduler components. The motivation for JS7 is not to improve the existing branch 1.x (JS1) but to create something better.
  • Early releases of JS7 were focused on new users of the product. Current users of the 1.x JobScheduler branch will find migration tools available which have been continually improved with subsequent JS7 releases.

Converter

With Release 2.4.0 a converter will become available to migrate JS1 *.xml files for scheduling objects to JS7:

JOC-1318 - Getting issue details... STATUS

Prerequisites

The converter is provided for download and can be used for the following platforms.

  • The converter Java classes can be used with Java JRE or JDK 1.8, 11, 17.
  • The converter start script is available for
    • Linux, MacOS® and AIX® using bash, dash, ksh and zsh shells.
    • Windows 7, 8, 10, 11, Windows Server

Download

Find the converter for download from JS7 - Download (Links will be come active with general availability of Release 2.4.0 (in progress).

  • Unix: https://download.sos-berlin.com/JobScheduler.2.4/js7_converter.tar.gz
  • Windows: https://download.sos-berlin.com/JobScheduler.2.4/js7_converter.zip

After extraction of the .tar.gz or .zip archive find the following files:

  • js7_converter.sh | .cmd  (Converter Start Script)
  • js7_converter.config (Converter Configuration File)
  • lib (Directory for Java Classes)

Usage

Invoking the converter without arguments displays the usage clause:

Converter Script: js7_convert.sh | .cmd
Usage: js7_converter.sh | .cmd [Options]

  Options:
    --input-dir=<location of input directory>                       | required argument
    --output-dir=<location of output directory>                     | default: ./output
    --report-dir=<location of report directory>                     | default: ./report
    --archive=<location of resulting .zip archive for JS7 import>   | default: ./js7_converted.tar.gz | .zip
    --config=<location of config file>                              | default: ./js7_converter.config
    --help                                                          | displays usage


Explanation:

  • Options
    • --input-dir
      • Specifies the input directory of JS1 *.xml files for scheduling objects. Such files typically are located in the SCHEDULER_DATA/config/live folder. If you do not want to run the converter directly on the machine in which the *.xml files are located then you can copy the live folder or any sub-folder to a Unix or Windows machine on which to run the converter. The operating system of JobScheduler Master using the *.xml files is independent from the operating system of the converter.
      • The converter traverses the input directory recursively.
    • --output-dir
      • Specifies the output directory to which converted .*json files are written. For a number of *.xml files there is one corresponding *.json file.
      • For each sub-directory of the input directory the corresponding sub-directory is created in the output directory.
      • The converter does not clean up the output directory from existing files.
    • --report-dir
      • The converter will report to this directory by use of a number of .csv files the extent to which the conversion will be successful:
        • parser_summary.csv: reports the number of objects found in the input directory and sub-directories.
        • parser_analyzer.csv: includes debugging information.
        • converter_summary.csv: reports the number converted objects per object type such as workflows and scheduled.
        • converter_warnings.csv: includes warnings about XML elements that could not be perfectly converted.
    • --archive
      • Specifies the path to an archive file with the .tar.gz (Unix) or .zip (Windows) extension that will be created by the converter. The archive includes the *.json files of the output directory and can be used for later import into JS7, see JS7 - Inventory Export and Import.
      • An existing archive file will be overwritten.
    • --config
      • Specifies the location of the converter configuration file.. This file is required for the converter to run. It includes a number of settings that can be adjusted.

Examples

The following examples illustrate typical use cases.

Unix

Example for running the Converter Start Script for Unix with minimum Arguments
./js7_converter.sh \
    --input-dir=/var/sos-berlin.com/jobscheduler/config/live

# reads *.xml files directly from the Master's "live" folder and creates the corresponding output directory hierarchy in the "output" folder of the working directory;
# similarly reports are written to the "reports" folder of the working directory, the resulting archive "js7-converted.tar.gz" is written to the working directory.
Example for running the Converter Start Script for Unix with more Arguments
./js7_converter.sh \
    --input-dir=/var/sos-berlin.com/jobscheduler/config/live \
    --output-dir=/tmp/output
    --report-dir=/tmp/report
    --archive=/tmp/js7-import.tar.gz

# reads *.xml files directly from the Master's "live" folder and creates the corresponding directory hierarchy in "/tmp/output";
# similarly reports are written to "/tmp/report", the resulting archive is written to "/tmp/js7-import.tar.gz".

Windows

Example for running the Converter Start Script for Windows with minimum Arguments
js7_converter.cmd --input-dir=C:\ProgramData\sos-berlin.com\jobscheduler\config\live ^

@rem reads *.xml files directly from the Master's "live" folder and creates the corresponding directory hierarchy in the "output" folder of the working directory;
@rem similarly reports are written to the "reports" folder of the working directory, the resulting archive "js7-converted.zip" is written to the working directory.
Example for running the Converter Start Script for Windows with more Arguments
js7_converter.cmd ^
    --input-dir=C:\ProgramData\sos-berlin.com\jobscheduler\config\live ^
    --output-dir=C:\tmp\output ^
    --report-dir=C:\tmp\report ^
    --archive=C:\tmp\js7-import.zip

@rem reads *.xml files directly from the Master's "live" folder and creates the corresponding directory hierarchy in "C:\tmp\output";
@rem similarly reports are written to "C:\tmp\report", the resulting archive is written to "C:\tmp\js7-import.zip".

Scope

x


PowerShell Migration Utility

The following approach is not considered any longer as development is frozen:

  • SOS provides a JS1 PowerShell Module, the PowerShell CLI 1.2. This module can be used with a number of JS1 branches.
  • The PowerShell Module includes the PowerShell CLI 1.2 - Cmdlets - ConvertFrom-JobSchedulerXml cmdlet which is used to:
    • read JS1 job-related configurations with the JS1 REST Web Service,
    • convert XML job-related configurations to JSON and
    • write export files which can be imported into JS7.


  • No labels