Versions Compared

Key

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

...

Table of Contents

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.

Users have a number of choices when it comes to JS1 migration:

  • The Converter is published with the same Open Source License as JS7, see JS7 - License.
    • The Converter is free for use by all users.
    • Users of the Open Source License can ask for community support, see Community Resources.
  • Customers of the Commercial License can ask for professional Migration Services by SOS.
  • From a wider perspective the JS7 introduces a number of new concepts and capabilities, particularly when it comes to job dependencies. Users might consider to perform a redesign of job dependencies to benefit from superior capabilities of the JS7.

Converter Usage

With availability of Release 2.4.0 (in progress) a Converter will become available to migrate JS1 *.xml files of scheduling objects to JS7:

...

The Converter reads existing JS1 *.xml files and creates .json files that are added to a .tar.gz or .zip archive for import into JS7, see JS7 - Inventory Export and Import.

Prerequisites

The Converter will be provided for download and can be used for the following platforms.

...

.

...

...

Download

Find the Converter for download from JS7 - Download (Links will become 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_convert.sh | .cmd  (Converter Start Script)
  • js7_convert.config (Converter Configuration File)
  • lib (Directory for Java Classes)

Usage

...

Find more information from the JS7 - Migration of JobScheduler 1.x - Converter Usage article.

Converter Capabilities

Code Block
languagetext
titleConverter Start Script: js7_converter.sh | .cmd
Usage: js7_convert.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_convert.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 recursively traverses the input directory.
    • --output-dir
      • Specifies the output directory to which converted .*json files are written. For a number of *.xml files there is a corresponding *.json file.
      • For each sub-directory of the input directory the corresponding sub-directory is created in the output directory.
      • On start-up the Converter does not clean the output directory from existing files.
    • --report-dir
      • The Converter will report to the specified directory by use of a number of .csv files the extent to which the conversion is 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

...

Code Block
titleExample for running the Converter Start Script for Unix with minimum Arguments
linenumberstrue
./js7_convert.sh \
    --input-dir=/var/sos-berlin.com/jobscheduler/config/live

# reads *.xml files from the Master's "live" folder and creates the corresponding output directory hierarchy in the "output" sub-directory of the working directory;
# reports are written to the "reports" sub-directory of the working directory, the resulting "js7_converted.tar.gz" archive file is written to the working directory.
Code Block
titleExample for running the Converter Start Script for Unix with more Arguments
linenumberstrue
./js7_convert.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" sub-directory and creates the corresponding directory hierarchy in "/tmp/output";
# report files are written to "/tmp/report", the resulting archive file is written to "/tmp/js7-import.tar.gz".

...

Code Block
titleExample for running the Converter Start Script for Windows with minimum Arguments
linenumberstrue
js7_convert.cmd --input-dir=C:\ProgramData\sos-berlin.com\jobscheduler\config\live ^

@rem reads *.xml files from the Master's "live" folder and creates the corresponding directory hierarchy in the "output" sub-directory of the working directory;
@rem reports are written to the "reports" sub-directory of the working directory, the resulting "js7_converted.zip" archive file is written to the working directory.
Code Block
titleExample for running the Converter Start Script for Windows with more Arguments
linenumberstrue
js7_convert.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" sub-directory and creates the corresponding directory hierarchy in "C:\tmp\output";
@rem report files are written to "C:\tmp\report", the resulting archive file is written to "C:\tmp\js7-import.zip".

Scope

The Converter strives for accuracy, however, a few configuration items in JS1 *.xml files require manual adjustment.

...

<job><script language="JavaScript">

<job><script language="java:JavaScript">

...

Spidermonkey Engine

Nashorn Engine

no automated conversion

...

Find more information from the JS7 - Migration of JobScheduler 1.x - Converter Capability Reference article.

...

Further Information

An earlier conversion approach by use of a PowerShell Migration Utility used for prototyping 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.


Display children header