Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
SEO Metadata
keywordsMigration, 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.

Table of Contents

Introduction

JS7 is a rewrite from scratch of the JobScheduler components available with branch 1.x (JS1)offers more capabilities than AutoSys® Workload Automation. This includes that existing *.xml files for scheduling objects have to AutoSys® job configurations can be migrated to JS7.

Converter

With Release 2.47.0 a the Converter becomes available to migrate JS1 *.xml files of scheduling objects job configurations from AutoSys® JIL files to JS7:

Jira
serverSOS JIRA
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId6dc67751-9d67-34cd-985b-194a8cdc9602
keyJOC-13181154
Jira
serverSOS JIRA
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId6dc67751-9d67-34cd-985b-194a8cdc9602
keyJOC-1921

The Converter reads AutoSys® *.jil files and creates .json files The Converter reads existing JS1 *.xml files and creates .json files that are added to a .tar.gz or .zip archive file 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, 17.17 and newer.
  • 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 Download of the 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
    • js7_convert_
    js1
    • autosys.sh | .cmd  (Converter Start Script)
    • js7_convert_
    js1
    • autosys.config (Converter Configuration File)
    • lib (Directory for Java Classes)

Usage

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

Code Block
languagetext
titleConverter Start Script: js7_convert_converterautosys.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 of corresponding *.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 number 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
titleExample for running the Converter Start Script for Unix with minimum Arguments
linenumberstrue
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
titleExample for running the Converter Start Script for Unix with more Arguments
linenumberstrue
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
titleExample for running the Converter Start Script for Windows with minimum Arguments
linenumberstrue
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
titleExample for running the Converter Start Script for Windows with more Arguments
linenumberstrue
js7_convert_js1autosys.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
titleDefault Configuration from js7_convert_js1autosys.config file
linenumberstrue
########################################################################################################################################################
# Parser
########################################################################################################################################################
# default: jil
# Generate
;generateConfig.workflowscase-insensitive
parserConfig.extensions                        = false
;generateConfig.agents    = jil;txt
parserConfig.excluded.fileNames                      = false
;generateConfig.jobTemplates                     = false
;generateConfig.schedules   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          = false
;generateConfig.calendarsdirectory: report/autosys.input.original/config
autosys.input.splitConfiguration                        = false
;generateConfig.locks                
# diagram - Generates diagram files using the original Autosys definition. A Graphviz app installation is required.
#           Output = false
;generateConfig.cyclicOrdersdirectory: report/autosys.input.original/diagram
autosys.input.diagram.generate                      = true
false
# JobScheduler 1.x
;js1.jobStream.generateJobFileIfNotExists        = true

# Parser
parserConfig.excludedDirectoryNames             = .sos-templates;.svn;.configuration
parserConfig.excludedDirectoryPaths     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         = sos/

# Workflow
;workflowConfig.defaultTimeZonetrue
autosys.input.diagram.outputFormat                  = Etc/UTC

# Workflow Job
;jobConfig.jitl.logLevelsvg
autosys.input.diagram.size                          = INFO
# default: #!/bin/bash
;jobConfig.shell.unix.defaultShebang0
autosys.input.diagram.graphviz.executable           =     = #!/bin/sh
# default: @@findstr/v "^@@f.*&" "%~f0"|pwsh.exe -&goto:eof
;jobConfig.shell.windows.powershellShebangC:/Program Files/Graphviz/bin/dot.exe
autosys.input.diagram.graphviz.cleanupDotFiles       = @@findstr/v "^@@f.*&" "%~f0"|powershell.exe -&goto:eof
;jobConfig.forcedGraceTimeouttrue
########################################################################################################################################################
# JS7
########################################################################################################################################################
# Generate
########################################################################################################################################################
;generateConfig.workflows                     = 15
;jobConfig.forcedParallelism      = false
;generateConfig.agents              = 1
;jobConfig.forcedFailOnErrWritten                = false
jobConfig;generateConfig.forcedV1Compatibleschedules                     = true

# Agent
;agentConfig.forcedControllerId     = false
;generateConfig.locks            = js7  
;agentConfig.defaultControllerId                 = js7false
;agentConfig.forcedAgentgenerateConfig.calendars                            = {"platform":"WINDOWS","standaloneAgent":{"agentName":"primaryAgent","url":"http://localhost:4445"}} 
;agentConfig.forcedAgent    false
########################################################################################################################################################
# Workflow
########################################################################################################################################################
# default: Etc/UTC
workflowConfig.default.timezone                     = examples/agent_standalone.json  
;agentConfig.defaultAgentUS/Pacific
########################################################################################################################################################
# Workflow Job
########################################################################################################################################################
;jobConfig.forced.graceTimeout                        = examples/cluster_agent.json15
;agentConfig.mappings    jobConfig.forced.parallelism                        = js1_agent1=examples/agent_standalone.json; \
2
jobConfig.forced.failOnErrWritten                   = true
;jobConfig.forced.warnOnErrWritten                   = true
;jobConfig.forced.v1Compatible            js1_agent2=examples/cluster_agent.json
           = true

# Generate retry instructions for all jobs.
# default: Generate retry instructions if Autosys n_retrys is defined.
;jobConfig.forced.retry.maxTries                     =   
# Mock
;mockConfig.jitl.mockLevel10
;jobConfig.forced.retry.delays                       = INFO
# INFO30;60;60

# default: empty
jobConfig.forced.shell.unix.commandPrefix       Log arguments and always end= successfully
# ERRORsource
;jobConfig.forced.shell.windows.commandPrefix      Log arguments and fail if required parameters are missing
;mockConfig.shell.unixScript     =

# default: #!/bin/bash
;jobConfig.default.shell.unix.shebang                = $HOME/MockScript.sh
;mockConfig.shell.windowsScript#!/bin/sh
########################################################################################################################################################
# Agent
########################################################################################################################################################
;agentConfig.forced.controllerId                     = %UserProfile%\MockScript.cmd

# Schedule
;scheduleConfig.forcedWorkingDayCalendarNamejs7
;agentConfig.forced.agent          = AnyDays
;scheduleConfig.forcedNonWorkingDayCalendarName     = AnyDays
;scheduleConfig.defaultWorkingDayCalendarName       = AnyDays
;scheduleConfig.defaultNonWorkingDayCalendarName    = AnyDays   
;scheduleConfig.defaultTimeZone    {"platform":"WINDOWS"}
;agentConfig.forced.agent              = Etc/UTC
scheduleConfig.planOrders             = {"platform":"UNIX"}
;agentConfig.forced.agent         = true
scheduleConfig.submitOrders                     = true

# Calendar
;calendarConfig.forcedFolder= {"platform":"WINDOWS","standaloneAgent":{"agentName":"primaryAgent","url":"http://localhost:4445"}}
;agentConfig.forced.agent                            = Calendars

Settings

Section: Generate

...

Specifies that cyclic start times of JS1 orders and schedules will be converted to the JS7 - Cycle Instruction.

Consider chapter Cyclic Workflows vs. Cyclic Orders.

Section: Parser

...

{"platform":"UNIX","standaloneAgent":{"agentName":"primaryAgent","url":"http://localhost:4445"}}
;agentConfig.forced.agent                            = examples/agent_standalone.json

;agentConfig.default.controllerId                    = js7
;agentConfig.default.agent                           = examples/cluster_agent.json

# 1) configure agent mappings in this configuration file
;agentConfig.mappings                                = autosys_agent1=agent_standalone.json; \
                                                      autosys_agent2=cluster_agent.json
# 2) use external agent mappings configuration file (should have .config extension)
#    example of the contents of the file agent_mappings.config:
#       autosys_agent1  = examples/agent_standalone.json
#       autosys_agent2  = {"platform":"UNIX","standaloneAgent":{"agentName":"primaryAgent","url":"http://localhost:4445"}}
#       autosys_agent3  = cluster_agent.json
#       autosys_agent4  = examples/agent_standalone.json
;agentConfig.mappings                                = agent_mappings.config
########################################################################################################################################################
# Mock
########################################################################################################################################################
;mockConfig.forced.shell.unixScript                  = $HOME/MockScript.sh
;mockConfig.forced.shell.windowsScript               = %UserProfile%\MockScript.cmd

# INFO      Log arguments and always end successfully
# ERROR     Log arguments and fail if required parameters are missing
;mockConfig.forced.jitl.mockLevel                    = 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                  = true

scheduleConfig.default.workingDayCalendarName       = AnyDays
scheduleConfig.default.nonWorkingDayCalendarName    = AnyDays
# default: Etc/UTC
;scheduleConfig.default.timezone                     = Etc/UTC
########################################################################################################################################################
# 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                        = Calendars
########################################################################################################################################################
# Lock
########################################################################################################################################################
;lockConfig.forced.capacity                          = 9999

# Default capacity for locks is based on Autosys resources
# default: 1
;lockConfig.default.capacity                         = 9999
########################################################################################################################################################
# Boards
########################################################################################################################################################
# lifetime - in minutes or days
;boardConfig.forced.lifetime                          = 2 * 24 * 60

# Default lifetime if a condition does not define a lookback
# default: 24 * 60 (24h)
boardConfig.default.lifetime                         = 60d

Settings

Section: Generate

SettingDefaultExplanation
generateConfig.workflowstrueSpecifies that workflows should be created.
generateConfig.agentstrueSpecifies that Agent configurations should be created.
generateConfig.schedulestrueSpecifies that schedules should be created.
generateConfig.calendarstrueSpecifies that calendars should be created.
generateConfig.lockstrueSpecifies that Resource Locks should be created.

Section: Parser

SettingDefaultExplanation
parserConfig.extensionsjil

The default file name extensions for looking up AutoSys® JIL files in the input directory. If more than one extension is specified, they are separated by semicolon.

Example:

parserConfig.extensions = jil;txt

parserConfig.excluded.fileNames

Specifies files from their name that should be excluded when looking up AutoSys® JIL files in the input directory.  If more than one file name is specified, they are separated by semicolon.

Example:

parserConfig.excluded.fileNames = machines.jil

Section: Autosys

SettingDefaultExplanation
autosys.input.splitConfigurationfalse

Creates separate XML files containing the original AutoSys® job definition for each standalone job (a job without any conditions) or for each box job.

Example:

autosys.input.splitConfiguration = true

autosys.input.diagram.generatefalse

Specifies that diagram files in SVG format should be created.

Example:

autosys.input.diagram.generate = true

autosys.input.diagram.optimize.dependenciesfalse

Attempts to resolve AutoSys® job conditions in order to reduce the dependencies (arrows) between various jobs in diagrams.

autosys.input.diagram.outputFormatsvg

Specifies the output format of diagram files.

autosys.input.diagram.size0


autosys.input.diagram.graphviz.executable

Specifies the location of the graphviz dot executable to create SVG output files for diagrams.

Example:

autosys.input.diagram.graphviz.executable = C:/Program Files/Graphviz/bin/dot.exe

autosys.input.diagram.graphviz.cleanupDotFilesfalse

Specifies whether the converter should delete the .dot (internal Graphviz format) files once the conversion is complete.

Example:

autosys.input.diagram.graphviz.cleanupDotFiles = true

Section: Workflow

SettingDefaultExplanation
workflowConfig.default.timezoneEtc/UTC

Specifies the default time zone that is added to converted workflows. This time zone for example is applied to JS7 - Admission Times for Jobs.

See List of tz database time zones

Section: Workflow Job

SettingDefaultExplanation
jobConfig.forced.GraceTimeout
Specifies the grace timeout after which a running job is terminated if the cancel/force operation is used, see JS7 - Job Instruction.
jobConfig.forced.parallelism

Specifies the number of parallel tasks that a job can be running for, see JS7 - Job Instruction.

jobConfig.forced.failOnErrWrittenfalseSpecifies the handling of job output to the stderr channel. If set to true then output to stderr is considered an error, otherwise such output is logged and no error is raised, , see JS7 - Job Instruction.
jobConfig.forced.warnOnErrWrittenfalse

Specifies the handling of job output to the stderr channel. If set to true then output to stderr is considered a warning, otherwise such output is logged and no warning is raised, , see JS7 - Job Instruction.

jobConfig.forcedV1Compatiblefalse

JS7 workflows can be operated in a JS1 compatibility mode. If set to true then

  • for order variables and workflow variables in shell jobs respective environment variables are created that are prefixed with SCHEDULER_PARAM_ followed by the uppercase variable name.
  • for job arguments of shell jobs accordingly environment variables are created.

Consider that environment variables are not added by the Converter but are created on-the-fly by the Controller and Agents.

jobConfig.forced.retry.maxTries

Forces use of the indicated maximum for use of the JS7 - Retry Instruction. Without this setting the AutoSys® n_retrys option is used to specify the maximum number of retries. 

jobConfig.forced.retry.delays

Forces the indicated delay between retries.

jobConfig.forced.shell.unix.commandPrefix

Forces a prefix to be used for Unix shell jobs.

Example:

jobConfig.forced.shell.unix.commandPrefix = source

jobConfig.forced.shell.windows.commandPrefix

Forces a prefix to be used for Windows shell jobs.

jobConfig.default.shell.unix.shebang#!/bin/bash

Specifies the shebang to be inserted to the begin of job scripts:

Example:

jobConfig.default.shell.unix.shebang = #!/bin/sh

...

The JS1 live folder includes a number of hidden sub-directories that should not be converted. Such directory names typically start with a dot as in .sos-templates, .configuration.

If more than one directory is specified then they have to be separated with a semicolon ";".

...

Specifies a number of paths in the JS1 live folder that should not be considered for conversion. Typically the live/sos folder holds housekeeping jobs that are not required for JS7.

If excluded paths are specified then this includes not to consider any sub-directories recursively. It is not required to specify individual sub-directories with the parserConfig.excludedDirectoryNames when using excluded paths.

Section: Workflow

JS7 workflows can be operated in a JS1 compatibility mode. If set to true then

  • for order variables and workflow variables in shell jobs respective environment variables are created that are prefixed with SCHEDULER_PARAM_ followed by the uppercase variable name.
  • for job arguments of shell jobs accordingly environment variables are created.
Consider that environment variables are not added by the Converter but are created on-the-fly by the Controller and Agents.
SettingDefaultExplanation
workflowConfig.defaultTimeZoneEtc/UTC

Specifies the default time zone that is added to converted workflows. This time zone for example is applied to JS7 - Admission Times for Jobs.

See List of tz database time zones

jobConfig.jitl.logLevel

Specifies the value of the log_level job argument of JS7 - Job Templates, see JS7 - JITL Common Variables.

Allowed values include: INFO, DEBUG, TRACE. If no log level is specified then JVM Jobs behave as if no log_level job argument is used.

jobConfig.forcedGraceTimeout15Specifies the grace timeout after which a running job is terminated if the cancel/force operation is used, see JS7 - Job Instruction.
jobConfig.forcedParallelism1

Specifies the number of parallel tasks that a job can be running for, see JS7 - Job Instruction.

jobConfig.forcedFailOnErrWrittenfalseSpecifies the handling of job output to the stderr channel. If set to true then output to stderr is considered an error, otherwise such output is logged and no error is raised, , see JS7 - Job Instruction.
jobConfig.forcedV1Compatiblefalse

Section: Agent

SettingsDefaultExplanation
agentConfig.forcedControllerIdforced.controllerId
Forces use of the given ControllerId for all generated agents.
agentConfig.default.defaultControllerIdcontrollerId
This setting specifies Specifies the ControllerId to be used for generated agents if the Master ID in JS1 (process_class.spooler_id) is emptyno ControllerId is provided in the agentConfig (forced.agent, default.agent, mappings) for a specific agent.
agentConfig.forcedAgentforced.agent

Forces use of the given Agent for all converted jobs.

Agent definition:

  • Expects a JSON value.
  • The JSON can be provided as:
    • JSON text
      or
    • JSON include file (relative to the properties file)
  • JSON elements:
    • NameDefaultExplanation
      platformUNIXForces use of the UNIX or WINDOWS platform.
      subagentClusterId
      Forces use the given subagentClusterId for converted jobs when an agentCluster is used.
      standaloneAgent
      See agent-schema.json.
      agentCluster
      See clusterAgent-schema.json.
  • Examples:
    • {"platform":"UNIX"}
      • Forces use of the UNIX platform for all converted jobs.
    •  {"standaloneAgent":{"url":"http://localhost:4445"}}
      • Forces use of the standalone Agents in all converted jobs with the given url.
    •  {"platform":"UNIX", "standaloneAgent":{"agentName":"forced_agent", "url":"http://localhost:4445"}}
      • Forces use of a standalone Agent forced_agent in all converted jobswith the given url.
agentConfig.defaultAgentdefault.agent

This agent is used when an AutoSys® job does not provide machine informationWithout an Agent being specified the JS1 executes jobs with the Master. In JS7 an Agent has to be used. This setting specifies an Agent that is used for jobs that are executed with a Master in JS1.

The syntax for assignments: see agentConfig.forced.forcedAgent agent Agent definition.

agentConfig.mappings

By default the Converter handles the mapping of Agent Names found in JS1 process classes (<process_class>) like this:

  • Agents are determined by the unique URL assigned the Agent in existing process classes.
  • .mappings

    By default the Converter handles the mapping of Agent Names found in AutoSys® job  machine attribute:

    The name of a process class is mapped
  • to a Standalone Agent if it includes a single Agent
  • to a Cluster Agent if it includes more than one Agent


    The syntax for mapping includes:

    <js1<autosys-agent-name>=<Agent definition>

    <js1<autosys-agent-name> is the name of the JS1 AutoSys® Agent(machine).
    <Agent definition> see agentConfig.forced.forcedAgent agent Agent definition..

    Example:

    js1autosys_agent1={"platform":"UNIX", "standaloneAgent":{"agentName":"primaryAgent", "url":"http://unix:4445"}};js1autosys_agent2={"platform":"WINDOWS", "standaloneAgent":{"agentName":"secondaryAgent", "url":"http://win:4445"}}

    • The process class js1 machine autosys_agent1 is mapped to the JS7 Agent with the name primaryAgent that is operated for Unix.
    • The process machine class js1autosys_agent2 is mapped to the JS7 Agent with the name secondaryAgent that is operated for Windows.

    or

     js1 autosys_agent1=examples/agent_standalone.json; js1 autosys_agent2=examples/cluster_agent.json

    • The process class js1The machine autosys_agent1 is mapped to the JS7 Agent defined in the examples/agent_standalone.json file.
    • The process class js1 machine autosys_agent2 is mapped to the JS7 Agent defined in the examples/cluster_agent.json file.

    Any number of mappings are specified separated by a semicolon. This setting can be split across a number of lines by use the "\" line continuation character at the end of each line that should be continuedthe "\" line continuation character at the end of each line that should be continued.


    Configuration of mappings in a file:

    • With each run, the converter creates a report/agent_mapping.config file that lists all machine names on the left and empty mapping values on the right.
    • After manual adjustments, the file can be moved to another location and assigned as a file to the agentConfig.mappings in the next conversion.

    Section: Mock

    SettingDefaultExplanation
    mockConfig.forced.jitl.mockLevel

    Mock levels are used for dry runs of the conversion for JS7 - Job Templates (JITL JVM Jobs). If a mock level is specified then JVM Jobs will not be executed but will log and will optionally check arguments only.

    The following values can be specified for this setting:

    • INFO: arguments are logged, execution of JVM Jobs is considered successful.
    • ERROR: arguments are logged, required arguments of JVM Jobs are checked and errors are raised in case of missing arguments.

    Without this setting being specified the JITL JVM Jobs will be executed from the converted jobs.

    mockConfig.forced.shell.unixScript

    Mock scripts are used for dry runs of the conversion. The job scripts of converted Shell Jobs are replaced by the call to a mock script for Unix platforms. Consider that mock scripts have to be provided by the user and have to be available for Agents at run-time.

    This setting specifies the path to a mock script for Unix, for example, $HOME/MockScript.sh

    A mock script for Unix can look like this:

    Code Block
    languagebash
    titleExample for Mock Script on Unix
    linenumberstrue
    collapsetrue
    #!/bin/sh
    echo "------------------------------------------------------------"
    echo "Start Unix Mock Script: $0"
    echo "------------------------------------------------------------"
    echo "Arguments: $*"
    echo "------------------------------------------------------------"

    If no mock script is specified then the original JS1 job AutoSys® job script is used for the converted JS7 job.

    mockConfig.forced.shell.windowsScript

    Mock scripts are used for dry runs of the conversion. The job scripts of converted Shell Jobs are replaced by the call to a mock script for Windows platforms. Consider that mock scripts have to be provided by the user and have to be available for Agents at run-time.

    Specifies the path to a mock script for Windows, for example, %UserProfile%\MockScript.cmd

    A mock script for Windows can look like this: 

    Code Block
    languagebash
    titleExample for Mock Script on Windows
    linenumberstrue
    collapsetrue
    @echo off
    @echo ------------------------------------------------------------
    @echo Start Windows Mock Script: %0
    @echo ------------------------------------------------------------
    @echo Arguments: %*
    @echo ------------------------------------------------------------

    If no mock script is specified then the original JS1 AutoSys® job script is used for the converted JS7 job.

    ...

    SettingDefaultExplanation
    scheduleConfig.forced.forcedWorkingDayCalendarNameWorkingDayCalendarNameAnyDaysWith the JS1 use of calendars is optional, with the JS7 use of JS7 Use of JS7 - Calendars is required. This setting forces use of the same calendar for working days with any schedules that are created. By default a calendar with the name AnyDays is assumed. Users have to create a calendar with this name prior to running the Converter.
    scheduleConfig.forcedNonWorkingDayCalendarNameforced.NonWorkingDayCalendarName
    This setting forces use of the same calendar for non-working days with any schedules that are created. Use of a calendar for non-working days is optional. Users have to create a calendar with this name prior to running . Users have to create a calendar with this name prior to running the Converter with this setting. If the setting is not used, then no non-working day calendar will be applied by the Converter.
    scheduleConfig.default.defaultWorkingDayCalendarNameWorkingDayCalendarNameAnyDaysThis setting specifies a default calendar for working days for schedules that do not specify a calendar on their own. By default a calendar with the name AnyDays is assumed. Users have to create a calendar with this name prior to running the Converter.
    scheduleConfig.default.defaultNonWorkingDayCalendarNameNonWorkingDayCalendarNameAnyDaysThis setting specifies use of a default calendar for non-working days with schedules that do not specify a calendar on their own. Use of a calendar for non-working days is optional. Users If this setting is used, then users have to create a calendar with this name prior to running the Converter.
    scheduleConfig.default.defaultTimeZonetimezoneEtc/UTC

    With the JS1 a schedule optionally specifies a time zone. With the JS7 a time zone is required for scheduled. This setting specifies the default time zone that is applied if a JS1 schedule does not specify a time zoneto Schedules.

    See List of tz database time zones 

    scheduleConfig.forced.planOrdersfalseOrders are automatically planned for the JS7 - Daily PlanJS7 - Daily Plan. The setting is applied if a JIL file's date_condition setting specifies y or 1.
    scheduleConfig.forced.submitOrdersfalseOrders are automatically submitted to Controllers for the JS7 - Daily Plan. The setting is applied if a JIL file's date_condition setting specifies y or 1.

    Section: Calendar

    SettingDefaultExplanation
    calendarConfig.forcedFolderforced.folderRoot folder

    Specifies the folder where the calendars are generated.

    Example:

    calendarConfig.forcedFolderforced.folder = Calendars

    Section:

    ...

    This section includes settings specified for JobScheduler 1.x.

    ...

    Lock

    SettingDefaultExplanation
    lockConfig.forced.capacity

    Specifies the capacity of JS7 - Resource Locks.

    lockConfig.default.capacity1

    Default capacity for Resource Locks is based on AutoSys® resources

    Section: Boards

    This refers to a situation where there is only a JSON definition available for a job stream.

    Note: the converter should be restarted if the JS1 <job name>.job.xml files have been created.
    SettingDefaultExplanation
    js1.jobStream.generateJobFileIfNotExistsfalse
    boardConfig.forced.lifetime

    Specifies the lifetime of Notices created by JS7 - Notice Boards

    boardConfig.default.lifetime24*60

    Specifies the default lifetime for Notices. The default value is 24*60 (24 hours).

    Example:

    boardConfig.default.lifetime = 60d

    Recommendations

    It is recommended to create the following objects in the JS7 inventory prior to conversion:

    • Agents
      • At least one Agent has to be available. In the JS1 jobs can be executed with a Master, in JS7 an Agent is required.
      • The Converter offers to map Agent Names from JS1 process classes AutoSys® to JS7 Agents. Such Agents have to be available in the JS7 prior to conversion. Users can register Agents as Standalone Agents and as Cluster Agents, see JS7 - Agent Management.
    • Calendars
      • At lease one working day calendar has to be available. The calendar can be stored in an arbitrary folder. The name of the calendar can be specified with the scheduleConfig.forced.workingDayCalendarName and scheduleConfig.default.workingDayCalendarName settings or it will default to AnyDays.
      • Optionally a non-working day celandar can
      • At lease one working day calendar has to be available. The calendar can be stored in an arbitrary folder. The name of the calendar can be specified with the the 
      • scheduleConfig.forced.forcedWorkingDayCalendarNamenonWorkingDayCalendarName and scheduleConfig.defaultWorkingDayCalendarName settings or it can default to AnyDaysdefault.nonWorkingDayCalendarName settings. By default no non-working day Calendar will be applied.
      • If the calendar specified by converted schedules is not available in the JS7 then imported schedules become invalid. They can be individually assigned a calendar in the JS7 inventory.

    Delimitations

    At the time of writing the following configuration elements are not supported:

    • generateConfig.cyclicOrders

    ...

      • .

    Further

    ...

    Resources