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-1318Getting 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:
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 thelive
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.
- Specifies the input directory of JS1 *.xml files for scheduling objects. Such files typically are located in the
--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.
- The converter will report to this directory by use of a number of .csv files the extent to which the conversion will be successful:
--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
./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.
./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
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.
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.