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

Compare with Current View Page History

« Previous Version 13 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 will be continually improved in parallel to JS7 releases.

Converter

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

JOC-1318 - Getting issue details... STATUS

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.

  • 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 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

Invoking the Converter Start Script without arguments displays the usage clause:

Converter 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

Unix

Example for running the Converter Start Script for Unix with minimum Arguments
./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.



Example for running the Converter Start Script for Unix with more Arguments
./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".

Windows

Example for running the Converter Start Script for Windows with minimum Arguments
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.



Example for running the Converter Start Script for Windows with more Arguments
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.

JS1JS7Status
ObjectCategoryXML NodeExplanationObjectInstructionExplanationFeasibilityCompletion
JobShell Jobs<job>Job attributes such as timeout, parallelism etc.WorkflowJS7 - Job InstructionStandalone jobs are converted to individual workflows.confirmeddone


<job process_class="..."Agent AssignmentJobJS7 - Job Instruction
confirmedopen


<job><script language="shell">Shell JobsJobJS7 - Job Instruction
confirmeddone

COM Jobs<job><script language="VBScript">VBScript for 32bit machines via COM

see JS7 - Migration of VBScript Jobsdenieddeclined


<job><script language="JScript">JScript for 32bit machines via COM

see JS7 - Migration of VBScript Jobsdenieddeclined


<job><script language="com">COM Interface

no automated conversiondenieddeclined


<job><script language="JavaScript">

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

Spidermonkey Engine

Nashorn Engine



no automated conversion


denieddeclined

JITL Database <job><script language="java" java_class="com.sos.jitl.managed.job.ManagedDatabaseJobJSAdapterClass">JITL Job


denieddeclined



















JITL File Operations<job>script language="java" java_class="sos.scheduler.file.JobSchedulerCanWrite">JITL Job
JobSchedulerCanWrite
JobJS7 - JITL CanWriteJob
confirmedopen


<job>script language="java" java_class="sos.scheduler.file.JobSchedulerCopyFile">JITL Job
JobSchedulerCopyFile
JobJS7 JITL CopyFileJob
confirmedopen


<job>script language="java" java_class="sos.scheduler.file.JobSchedulerExistsFile">JITL Job
JobSchedulerExistsFile
JobJS7 - JITL FileExistsJob
confirmedopen


<job>script language="java" java_class="sos.scheduler.file.JobSchedulerNotExistsFile">JITL Job
JobSchedulerNotExistsFile
JobJS7 - JITL FileNotExistsJob
confirmedopen


<job>script language="java" java_class="sos.scheduler.file.JobSchedulerRemoveFile">JITL Job
JobSchedulerRemoveFile
JobJS7 - JITL RemoveFileJob
confirmedopen


<job>script language="java" java_class="sos.scheduler.file.JobSchedulerRenameFile">JITL Job
JobSchedulerRenameFile
JobJS7 - JITL RenameFileJob
confirmedopen

JITL File Transfer<job>script language="java" java_class="sos.scheduler.jade.JadeJob">JITL Job
JadeJob
JobJS7 - File TransferConverted to Shell Jobconfirmedopen


<job>script language="java" java_class="sos.scheduler.jade.Jade4DMZJob">JITL Job
Jade4DMZJob
JobJS7 - File TransferConverted to Shell Jobconfirmedopen

JITL Agentless Scheduling<job>script language="java" java_class="sos.scheduler.file.JobSchedulerSSHJob">JITL Job
JobSchedulerSSHJob
JobJS7 - JITL SSHJob
confirmedopen

JITL Installation<job>script language="java" java_class="sos.scheduler.InstallationService.JSBatchInstallerJSAdapterClass">JITL Job
AgentBatchInstaller
JobJS7 - Automated Update of Agentconverted to JS7 - JITL SSHJobpossiblenot in scope

JITL Operation<job>script language="java" java_class="sos.scheduler.job.JobSchedulerCheckBlacklist">JITL Job
JobSchedulerCheckBlacklist

JS7 - File Watchingnot convertedimplicitnot required


<job>script language="java" java_class="sos.scheduler.CheckRunHistory.JobSchedulerCheckRunHistoryJSAdapterClass">JITL Job
JobSchedulerCheckRunHistory
JobJS7 - JITL CheckHistoryJob
partlynot in scope


<job>script language="java" java_class="com.sos.dailyschedule.job.CreateDailyScheduleJSAdapterClass">JITL Job
JobSchedulerCreateDailySchedule
ServiceJS7 - Daily Plan Servicecovered by JS7 - Daily Planimplicitnot required


<job>script language="java" java_class="com.sos.jitl.latecomers.JobSchedulerStartLatecomersJSAdapterClass">JITL Job
JobSchedulerStartLatecomers

JS7 - Daily Plan Servicecovered by JS7 - Daily Planimplicitnot required

JITL Housekeeping
























Job Chain
<job_chain>
Workflow
Job Chains are converted to workflowsconfirmeddone


<job_chain><file_order_source>File Watching






















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.



  • No labels