SEO Metadata |
---|
keywords | Migration, JS1, Branch 1.xAutoSys, JS7 |
---|
|
JS7 offers a migration utility to convert *.xml files of JobScheduler branch 1.x AutoSys® job configurations to the JS7. Usage of the Converter and its parameterization are explained. |
Introduction
JS7 is a rewrite from scratch of the JobScheduler components available with branch 1.x (JS1). This includes that existing *.xml files for scheduling objects have to be migratedoffers more capabilities than AutoSys® Workload Automation. This includes that existing AutoSys® job configurations canbe migrated to JS7.
- For general information see JS7 - Migration of JobScheduler 1.x Job Configuration.For capabilities of the Converter see JS7 - Migration of JobScheduler 1.x - Converter Capability Reference.AutoSys Jobs.
- Conversion of AutoSys® job configurations is offered as a professional service.
Converter
With Release 2.47.0 a Converter becomes available to migrate JS1 *.xml files of scheduling objects job configurations from AutoSys® JIL files to JS7:
Jira |
---|
server | SOS JIRA |
---|
columnIds | issuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution |
---|
columns | key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution |
---|
serverId | 6dc67751-9d67-34cd-985b-194a8cdc9602 |
---|
key | JOC-13181154 |
---|
|
Jira |
---|
server | SOS JIRA |
---|
columnIds | issuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution |
---|
columns | key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution |
---|
serverId | 6dc67751-9d67-34cd-985b-194a8cdc9602 |
---|
key | JOC-1921 |
---|
|
The Converter reads AutoSys *.jil files and creates .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.
...
- The Converter Java classes can be used with Java LTS editions of JRE or JDK 1.8, 11, 1717 and newer.
- The Converter Start Script is available for
- Linux, MacOS® and AIX® using bash, dash, ksh and zsh shells.
- Windows 7, 8, 1010, 11, Windows Server
Download
Find Download of the Job Converter for download from JS7 - Downloadfrom the js7_converter_autosys.tar.gz
tarball and js7_converter_autosys.zip
archive file is available within the scope of migration services.
After extraction of the .tar.gz archive for Unix or .zip archive for Windows find the following files:
js7_converter_autosys
js1autosys.sh | .cmd
(Converter Start Script)js7_convert_
js1autosys.config
(Converter Configuration File)lib
(Directory for Java Classes)
Usage
Invoking the Converter Start Script without arguments displays the usage clause:
Code Block |
---|
language | text |
---|
title | Converter Start Script: js7_converterconvert_autosys.sh | .cmd |
---|
|
Usage: js7_convert_js1autosys.sh | .cmd [Options]
Options:
--input-dir=<location of input directory> | required argument
--output-dir=<location of output directory> | default: ./output/js7_converted_autosys
--report-dir=<location of report directory> | default: ./output/report
--archive=<location of resulting .zip archive for JS7 import> | default: ./js7_converted_js1autosys.tar.gzzip | .zip
--config=<location of config file> | default: ./js7_convert_js1autosys.config
Switches:
-h | --help | displays usage
|
Explanation:
- Options
--input-dir
- Specifies the input directory of JS1 AutoSys® *.xml jil 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 removes existing files and sub-directories from the output directory.
- job configurations.
- The Converter recursively traverses the input directory.
--output-dir
- Specifies the output directory to which converted .*json files are written. For a single *.jil file there can be a number ofcorresponding *.json files.
- For each sub-directory of the input directory the corresponding sub-directory is created in the output directory.
- On start-up the Converter removes existing files and sub-directories from the output directory.
--report-dir
- The Converter will report to the specified directory by use of a number of .csv files the extent to
--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.parserconverter_analyzersummary.csv
: includes debugging information.converter_summary.csv
: reports the reports the number converted objects per object type such as workflows and scheduled.converter_warningsanalyzer.csv
: includes information and warnings about XML elements that could not be perfectly convertedJIL element conversion.
--archive
- Specifies the path to an archive file with the .tar.gz or .zip extension that will be created by the Converter. Depending on the file extension the related archive format will be used on any OS platform.
- 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.
...
Code Block |
---|
title | Example for running the Converter Start Script for Unix with minimum Arguments |
---|
linenumbers | true |
---|
|
js7_converter_home=./js7_converter_autosys
${js7_converter_home}/js7_convert_js1autosys.sh \
--input-dir=/var/sos-berlin.com/jobscheduler/config/live./input --config=./js7_convert_autosys.config
# reads *.xmljil files from the Master's "live" folderinput directory and creates the corresponding output directory hierarchy in the "output" sub-directory of the working directory;
# reportsreport files are written to the "reportsreport" sub-directory of the working directory, the resulting "js7_converted_autosys.tar.gzzip" archive file is written to the working directory. |
Code Block |
---|
title | Example for running the Converter Start Script for Unix with more Arguments |
---|
linenumbers | true |
---|
|
js7_converter_home=./js7_converter_autosys
${js7_converter_home}/js7_convert_js1autosys.sh \
--input-dir=/var/sos-berlin.com/jobscheduler/config/liveinput \
--output-dir=./tmp/output \
--report-dir=./tmp/report \
--archive=./tmp/js7-importjs7_converted_autosys.zip
# reads *.xmljil files directly from the Master's "live" sub-input directory and creates the corresponding output directory hierarchy in the "/tmp/output"; sub-directory of the working directory
# report files are written to "/tmp/report" sub-directory, the resulting "js7_converted_autosys.zip" archive file is written to "/tmp/js7-import.zip".the working directory |
Windows
Code Block |
---|
title | Example for running the Converter Start Script for Windows with minimum Arguments |
---|
linenumbers | true |
---|
|
js7_convert_js1autosys.cmd --input-dir=C:\ProgramData\sos-berlin.com\jobscheduler\config\liveTEMP\AutoSys
@rem reads *.xmljil files from the Master's "live" folder input directory and creates the corresponding directory hierarchy in the "output" sub-directory of the working directory;
@rem reportsreport files are written to the "reportsreport" sub-directory of the working directory, the resulting "js7_converted_autosys.zip" archive file is written to the working directory. |
Code Block |
---|
title | Example for running the Converter Start Script for Windows with more Arguments |
---|
linenumbers | true |
---|
|
js7_convert_js1.cmd ^
--input-dir=C:\ProgramData\sos-berlin.com\jobscheduler\config\liveTEMP\AutoSys ^
--output-dir=C:\tmpTEMP\output ^
--report-dir=C:\tmpTEMP\report ^
--archive=C:\tmpTEMP\js7-import.zip
@rem reads *.xmljil files directly from the Master's "live" sub-"C:\TEMP\AutoSys" input directory and creates the corresponding directory hierarchy in "C:\tmpTEMP\output";
@rem report files are written to the "C:\tmpTEMP\report" directory, the resulting archive file is written to "C:\tmpTEMP\js7-import.zip". |
Configuration
The Converter is configured from a properties file that can be specified with the --config
option when invoking the Converter. By default he file the js7_convert_js1autosys.config
file is assumed that ships with the Converter.
Users should adjust the configuration to their needs, for example, to map Agents and Calendars.
Download: js7_convert_js1autosys.config
Code Block |
---|
title | Default Configuration from js7_convert_js1autosys.config file |
---|
linenumbers | true |
---|
|
########################################################################################################################################################
# JS7 - Converter Download
# https://kb.sos-berlin.com/x/3dXqBg
########################################################################################################################################################
# Parser
########################################################################################################################################################
# default: jil
# case-insensitive
parserConfig.extensions = jil;txt
parserConfig.excluded.fileNames = machines.jil
########################################################################################################################################################
# Autosys
########################################################################################################################################################
# Creates separate XML files containing the original Autosys job definition for each standalone job (a job without any conditions) or for each BOX job.
# Output directory: report/autosys.input.original/config
autosys.input.splitConfiguration = false
# diagram - Generates diagram files using the original Autosys definition. A Graphviz app installation is required.
# Output directory: report/autosys.input.original/diagram
autosys.input.diagram.generate = false
# Attempts to resolve the Autosys conditions in order to reduce the displayed dependencies (arrows) between various jobs.
# Example: Display the dependencies as a sequence of jobs instead of showing multiple dependency arrows if such conditions are defined.
autosys.input.diagram.optimize.dependencies = true
autosys.input.diagram.outputFormat = svg
autosys.input.diagram.size = 0
autosys.input.diagram.graphviz.executable = C:/Program Files/Graphviz/bin/dot.exe
autosys.input.diagram.graphviz.cleanupDotFiles = true
########################################################################################################################################################
# JS7
########################################################################################################################################################
# Generate
########################################################################################################################################################
;generateConfig.workflows = false
;generateConfig.agents = false
;generateConfig.schedules = false
;generateConfig.locks = false
;generateConfig.calendars = false
########################################################################################################################################################
# Workflow
########################################################################################################################################################
# default: Etc/UTC
workflowConfig.default.timezone = US/Pacific
########################################################################################################################################################
# Workflow Job
########################################################################################################################################################
;jobConfig.forced.graceTimeout = 15
;jobConfig.forced.parallelism = 2
jobConfig.forced.failOnErrWritten = true
;jobConfig.forced.warnOnErrWritten = true
;jobConfig.forced.v1Compatible = true
# Generate retry instructions for all jobs.
# default: Generate retry instructions if Autosys n_retrys is defined.
;jobConfig.forced.retry.maxTries# Generate
;generateConfig.workflows = false10
;generateConfig.agents jobConfig.forced.retry.delays = 30;60;60
# default: empty
jobConfig.forced.shell.unix.commandPrefix = source
;jobConfig.forced.shell.windows.commandPrefix =
# = false
;generateConfig.jobTemplatesdefault: #!/bin/bash
;jobConfig.default.shell.unix.shebang = = false
;generateConfig.schedules #!/bin/sh
########################################################################################################################################################
# Agent
########################################################################################################################################################
;agentConfig.forced.controllerId = falsejs7
;generateConfig.calendarsagentConfig.forced.agent = false{"platform":"WINDOWS"}
;generateConfigagentConfig.forced.locksagent = false{"platform":"UNIX"}
;generateConfigagentConfig.forced.cyclicOrdersagent = true
# JobScheduler 1.x
;js1.jobStream.generateJobFileIfNotExists = true
# Parser
parserConfig.excludedDirectoryNames = .sos-templates;.svn;.configuration
parserConfig.excludedDirectoryPaths= {"platform":"WINDOWS","standaloneAgent":{"agentName":"primaryAgent","url":"http://localhost:4445"}}
;agentConfig.forced.agent = sos/
# Workflow
;workflowConfig.defaultTimeZone = Etc/UTC
# Workflow Job
;jobConfig.jitl.logLevel= {"platform":"UNIX","standaloneAgent":{"agentName":"primaryAgent","url":"http://localhost:4445"}}
;agentConfig.forced.agent = INFO
# default:= #!/bin/bashexamples/agent_standalone.json
;jobConfigagentConfig.shell.unix.defaultShebangdefault.controllerId = #!/bin/sh
# default: @@findstr/v "^@@f.*&" "%~f0"|pwsh.exe -&goto:eof
;jobConfig.shell.windows.powershellShebang = js7
;agentConfig.default.agent = @@findstr/v "^@@f.*&" "%~f0"|powershell.exe -&goto:eof
;jobConfig.forcedGraceTimeout = examples/cluster_agent.json
# 1) configure agent mappings in this =configuration 15file
;jobConfig.forcedParallelismagentConfig.mappings = 1
;jobConfig.forcedFailOnErrWritten = autosys_agent1=agent_standalone.json; \
= false
jobConfig.forcedV1Compatible = true
# Agent
;agentConfig.forcedControllerId = js7
;agentConfig.defaultControllerId autosys_agent2=cluster_agent.json
# 2) use external agent mappings configuration file (should have .config extension)
# = js7
;agentConfig.forcedAgent example of the contents of the file agent_mappings.config:
# autosys_agent1 = examples/agent_standalone.json
# autosys_agent2 = {"platform":"WINDOWSUNIX","standaloneAgent":{"agentName":"primaryAgent","url":"http://localhost:4445"}}
# autosys_agent3 = cluster_agent.json
# autosys_agent4 = examples/agent_standalone.json
;agentConfig.forcedAgentmappings = examples/agent_standalone.json
;agentConfig.defaultAgentmappings.config
########################################################################################################################################################
# Mock
########################################################################################################################################################
;mockConfig.forced.shell.unixScript = $HOME/MockScript.sh
;mockConfig.forced.shell.windowsScript = %UserProfile%\MockScript.cmd
# INFO Log arguments and always end successfully
# ERROR = examples/cluster_agent.json
;agentConfig.mappings Log arguments and fail if required parameters are missing
;mockConfig.forced.jitl.mockLevel = js1_agent1=examples/agent_standalone.json; \
INFO
########################################################################################################################################################
# Schedule
########################################################################################################################################################
;scheduleConfig.forced.workingDayCalendarName = AnyDays
;scheduleConfig.forced.nonWorkingDayCalendarName = AnyDays
# If date_conditions=y|1, these settings are used, otherwise "false" is set
scheduleConfig.forced.planOrders = true
scheduleConfig.forced.submitOrders js1_agent2=examples/cluster_agent.json
= true
scheduleConfig.default.workingDayCalendarName = AnyDays
scheduleConfig.default.nonWorkingDayCalendarName = AnyDays
# default: Etc/UTC
scheduleConfig.default.timezone = US/Pacific
########################################################################################################################################################
# Mock
;mockConfig.jitl.mockLevel = INFO
# INFO Calendar
########################################################################################################################################################
# All generated calendars will be placed in this folder; otherwise, they will be placed in the root directory
# default: root directory
calendarConfig.forced.folder Log arguments and always end successfully
# ERROR Log arguments and fail if required parameters are missing
;mockConfig.shell.unixScript = Calendars
########################################################################################################################################################
# Lock
########################################################################################################################################################
;lockConfig.forced.capacity = $HOME/MockScript.sh
;mockConfig.shell.windowsScript = %UserProfile%\MockScript.cmd9999
# Schedule
;scheduleConfig.forcedWorkingDayCalendarName = AnyDays
;scheduleConfig.forcedNonWorkingDayCalendarNameDefault capacity for locks is based on Autosys resources
# default: 1
;lockConfig.default.capacity = AnyDays
;scheduleConfig.defaultWorkingDayCalendarName = AnyDays
;scheduleConfig.defaultNonWorkingDayCalendarName = AnyDays
;scheduleConfig.defaultTimeZone = 9999
########################################################################################################################################################
# Boards
########################################################################################################################################################
# lifetime - in minutes or days
;boardConfig.forced.lifetime = Etc/UTC
scheduleConfig.planOrders = 2 * 24 =* true
scheduleConfig.submitOrders = true
# Calendar
;calendarConfig.forcedFolder60
# Default lifetime if a condition does not define a lookback
# default: 24 * 60 (24h)
boardConfig.default.lifetime = Calendars60d |
Settings
Section: Generate
...