78
IBM Tivoli Workload Scheduler Scheduling Workload Dynamically Version 8 Release 6 SC23-9856-03

Tivoli Workload Scheduler: Scheduling Workload Dynamically · 2 Tivoli Workload Scheduler: Scheduling Workload Dynamically If you want to create a dynamic workload broker job to be

  • Upload
    others

  • View
    29

  • Download
    3

Embed Size (px)

Citation preview

IBM Tivoli Workload Scheduler

Scheduling Workload DynamicallyVersion 8 Release 6

SC23-9856-03

���

IBM Tivoli Workload Scheduler

Scheduling Workload DynamicallyVersion 8 Release 6

SC23-9856-03

���

NoteBefore using this information and the product it supports, read the information in “Notices” on page 61.

This edition applies to version 9, release 1, modification level 0 of Tivoli Workload Scheduler (program number5698-WSH) and to all subsequent releases and modifications until otherwise indicated in new editions.

© Copyright IBM Corporation 1999, 2012.US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contractwith IBM Corp.

Contents

Figures . . . . . . . . . . . . . . . v

About this guide . . . . . . . . . . viiWhat is new in this release . . . . . . . . . viiWho should read this publication . . . . . . . viiPublications . . . . . . . . . . . . . . viiAccessibility . . . . . . . . . . . . . . viiiTivoli technical training . . . . . . . . . . viiiSupport information . . . . . . . . . . . viii

Chapter 1. Scheduling jobs . . . . . . 1Creating Tivoli Workload Scheduler jobs managed bydynamic workload broker . . . . . . . . . . 1Using variables in dynamic workload broker jobs . . 1Using variables in Workload Broker jobs . . . . . 3Defining affinity relationships . . . . . . . . 5Alias definition in Tivoli Workload Scheduler . . . 5Monitoring and canceling jobs . . . . . . . . 6

Chapter 2. Identifying the resources forjobs . . . . . . . . . . . . . . . . 9Checking physical resources on computers . . . . 10Creating logical resources. . . . . . . . . . 12Creating resource groups . . . . . . . . . . 14

Chapter 3. Writing JSDL definitionswith the Job Brokering DefinitionConsole . . . . . . . . . . . . . . 17Job definitions . . . . . . . . . . . . . 19Resources in the job definition . . . . . . . . 23Using variables in job definitions . . . . . . . 27Using JSDL job definition templates . . . . . . 27Scenarios for creating job definitions . . . . . . 30

Scenario: Creating a job definition using acomputer resource group . . . . . . . . . 31Scenario: Creating a job definition using a logicalresource group . . . . . . . . . . . . 31

Scenario: Creating a job definition for a job torun on x86 processors . . . . . . . . . . 32Scenario: Creating a job definition for a script torun on a specific operating system. . . . . . 34Scenario: Alternative operating systemrequirements . . . . . . . . . . . . . 35

Chapter 4. Submitting and trackingjobs . . . . . . . . . . . . . . . . 37Submitting jobs with affinity relationships . . . . 37

Submitting a job with affinity from the DynamicWorkload Console . . . . . . . . . . . 37Submitting a job with affinity from the commandline . . . . . . . . . . . . . . . . 38

Submitting jobs with variables . . . . . . . . 38Submitting a job with variables from thecommand line . . . . . . . . . . . . 38

Job statuses . . . . . . . . . . . . . . 39Monitoring submitted jobs . . . . . . . . . 39

Chapter 5. Using the command lineinterface . . . . . . . . . . . . . . 43Command-line configuration file . . . . . . . 44jobsubmit command - Submitting jobs . . . . . 47jobquery command - Performing queries on jobs . . 49jobdetails command - Viewing details on jobs . . . 52jobcancel command - Canceling jobs . . . . . . 54jobstore command - Managing job definitions . . . 55jobgetexecutionlog command - Viewing job output 57

Notices . . . . . . . . . . . . . . 61Trademarks . . . . . . . . . . . . . . 62

Index . . . . . . . . . . . . . . . 65

© Copyright IBM Corp. 1999, 2012 iii

|||||||||||||||

iv Tivoli Workload Scheduler: Scheduling Workload Dynamically

Figures

1. Computer Search Results page . . . . . . 11 2. Job Brokering Definition Console main page 22

© Copyright IBM Corp. 1999, 2012 v

||

vi Tivoli Workload Scheduler: Scheduling Workload Dynamically

About this guide

Provides an overview of the guide, with information about changes made to itsince the last release, and who should read it. It also supplies information aboutobtaining resources and support from IBM.

This guide explains how to dynamically allocate resources to run your workloadusing the services of the dynamic workload broker component of Tivoli WorkloadScheduler.

Dynamic workload broker is an on-demand scheduling infrastructure whichprovides dynamic management of your environment.

What is new in this releaseFor information about the new or changed functions in this release, see Tivoli®

Workload Automation: Overview, section Summary of enhancements.

For information about the APARs that this release addresses, see the TivoliWorkload Scheduler Release Notes at http://www-01.ibm.com/support/docview.wss?rs=672&uid=swg27038323 and the Dynamic Workload ConsoleRelease Notes at http://www-01.ibm.com/support/docview.wss?rs=672&uid=swg27038328.

Who should read this publicationDescribes the type of user who should read the documentation.

This guide is intended for administrators responsible for defining user roles andperforming high-level tasks and for operators responsible for creating andsubmitting jobs.

Readers should be familiar with the following topics:v Working knowledge of IBM Tivoli Workload Schedulerv PC and UNIX operating systemsv Graphical and command line interfaces

PublicationsFull details of Tivoli Workload Scheduler publications can be found in TivoliWorkload Automation: Publications. This document also contains information aboutthe conventions used in the publications.

A glossary of terms used in the product can be found in Tivoli Workload Automation:Glossary.

Both of these are in the Information Center as separate publications.

© Copyright IBM Corp. 1999, 2012 vii

AccessibilityAccessibility features help users with a physical disability, such as restrictedmobility or limited vision, to use software products successfully. With this product,you can use assistive technologies to hear and navigate the interface. You can alsouse the keyboard instead of the mouse to operate all features of the graphical userinterface.

For full information with respect to the Dynamic Workload Console, see theAccessibility Appendix in the IBM Tivoli Workload Scheduler User’s Guide andReference.

Tivoli technical trainingFor Tivoli technical training information, refer to the following IBM TivoliEducation website:

http://www.ibm.com/software/tivoli/education

Support informationIf you have a problem with your IBM software, you want to resolve it quickly. IBMprovides the following ways for you to obtain the support you need:v Searching knowledge bases: You can search across a large collection of known

problems and workarounds, Technotes, and other information.v Obtaining fixes: You can locate the latest fixes that are already available for your

product.v Contacting IBM Software Support: If you still cannot solve your problem, and

you need to work with someone from IBM, you can use a variety of ways tocontact IBM Software Support.

For more information about these three ways of resolving problems, see theappendix on support information in Tivoli Workload Scheduler: Troubleshooting Guide.

viii Tivoli Workload Scheduler: Scheduling Workload Dynamically

Chapter 1. Scheduling jobs

This chapter explains how to define and submit jobs.

This guide applies to customers which have been using Tivoli Workload Schedulerversion 8.5.1 and have now moved to version 8.6.

Creating Tivoli Workload Scheduler jobs managed by dynamicworkload broker

This section explains how to create Tivoli Workload Scheduler jobs to be managedby dynamic workload broker.

To create a Tivoli Workload Scheduler job and have resources allocateddynamically, perform the following steps:1. Create a JSDL job definition in dynamic workload broker using the Job

Brokering Definition Console. This job contains the instructions or program tobe run.

2. Create a job to be submitted in Tivoli Workload Scheduler. This job contains thereference to the job in dynamic workload broker defined in step 1. Define theTivoli Workload Scheduler job as follows:a. In the Dynamic Workload Console, from the navigation bar, click

Administration > Workload Design > Manage Workload Definitions.b. Select New > Job Definition > Cloud > Workload Broker.c. In the General tab, in the Workstation field specify the workload broker

workstation.d. In the Task tab, in the Workload Broker job name field specify the name of

the JSDL job definition you created in step 1.

When you submit the Tivoli Workload Scheduler job, this job causes the referencedjob to be submitted on dynamic workload broker. This method is known assubmission by reference because you only need to reference the job you want tosubmit, without having to write or import the whole job in Tivoli WorkloadScheduler.

Using variables in dynamic workload broker jobsThis section explains how to add variables to jobs you plan to run with dynamicworkload broker.

When importing jobs from Tivoli Workload Scheduler, you can add variables toobtain higher flexibility for your job.

The variables are assigned a value when you submit the job in Tivoli WorkloadScheduler. The supported Tivoli Workload Scheduler variables are as follows:

Table 1. Supported Tivoli Workload Scheduler variables in JSDL definitions.

Variables that can be inserted in thedynamic workload broker job definition

Description

tws.host.workstation Name of the host workstation

tws.job.date Date of the submitted job.

© Copyright IBM Corp. 1999, 2012 1

|

|

|

||

||

|

||

||

|||

|||

||

|

||

||

|||||

||

||

||

||

||

|||

||

||

Table 1. Supported Tivoli Workload Scheduler variables in JSDL definitions. (continued)

Variables that can be inserted in thedynamic workload broker job definition

Description

tws.job.fqname Fully qualified name of the job(UNISON_JOB)

tws.job.ia Input arrival time of the job

tws.job.interactive Job is interactive. Values can be true orfalse. Applies only to backward-compatiblejobs.

tws.job.logon Credentials of the user who runs the job(LOGIN). Applies only tobackward-compatible jobs.

tws.job.name Name of the submitted job

tws.job.num UNISON_JOBNUM

tws.job.priority Priority of the submitted job

tws.job.promoted Job is promoted. Values can be YES or No.For more information about promotion fordynamic jobs, see the section aboutpromoting jobs scheduled on dynamic poolsin Tivoli Workload Scheduler: User's Guide andReference.

tws.job.recnum Record number of the job.

tws.job.resourcesForPromoted Quantity of the required logical resourcesassigned on a dynamic pool to a promotedjob. Values can be 1 if the job is promoted or10 if the job is not promoted. For moreinformation about promotion for dynamicjobs, see the section about promoting jobsscheduled on dynamic pools in TivoliWorkload Scheduler: User's Guide andReference.

tws.job.taskstring Task string of the submitted job. Appliesonly to backward-compatible jobs.

tws.job.workstation Name of the workstation on which the job isdefined

tws.jobstream.id ID of the job stream that includes the job(UNISON_SCHED_ID)

tws.jobstream.name Name of the job stream that includes the job(UNISON_SCHED)

tws.jobstream.workstation Name of the workstation on which the jobstream that includes the job is defined

tws.master.workstation Name of the master domain manager(UNISON_MASTER)

tws.plan.date Start date of the production plan(UNISON_SCHED_DATE)

tws.plan.date.epoch Start date of the production plan, in epochformat (UNISON_SCHED_EPOCH)

tws.plan.runnumber Run number of the production plan(UNISON_RUN)

2 Tivoli Workload Scheduler: Scheduling Workload Dynamically

|

|||

|||

||

||||

||||

||

||

||

|||||||

||

||||||||||

|||

|||

|||

|||

|||

|||

|||

|||

||||

If you want to create a dynamic workload broker job to be submitted from TivoliWorkload Scheduler, you can add one or more of the variables listed in Table 1 onpage 1 in the Variables field of the Overview pane as well as in the Script field ofthe Application pane in the Job Brokering Definition Console.

If you plan to use the variables in a script, you also define the variables asenvironment variables in the Environment Variables field in the Application pane.Specify the Tivoli Workload Scheduler name of the variable as the variable value.You can find the Tivoli Workload Scheduler name of the variable in the Variablesinserted in the dynamic workload broker job definition column.

You then create a Tivoli Workload Scheduler job which contains the name of thejob definition, as explained in “Creating Tivoli Workload Scheduler jobs managedby dynamic workload broker” on page 1.

The following example illustrates a JSDL file with several of the supported TivoliWorkload Scheduler variables defined:...<jsdl:jobDefinition xmlns:jsdl="http://www.ibm.com/xmlns/prod/scheduling/1.0/jsdl" xmlns:jsdle="http://www.ibm.com/xmlns/prod/scheduling/1.0/jsdle"description="This jobs prints UNISON Variables receivedfrom TWS in standard OutPut "name="sampleUNISON_Variables">

<jsdl:annotation>This jobs prints UNISON Variablesreceived from TWS instandard OutPut </jsdl:annotation>

<jsdl:variables><jsdl:stringVariable name="tws.jobstream.name">none</jsdl:stringVariable><jsdl:stringVariable name="tws.job.fqname">none</jsdl:stringVariable><jsdl:stringVariable name="tws.master.workstation">none</jsdl:stringVariable><jsdl:stringVariable name="tws.plan.runnumber">none</jsdl:stringVariable><jsdl:stringVariable name="tws.plan.date">none</jsdl:stringVariable><jsdl:stringVariable name="tws.plan.date.epoch">none</jsdl:stringVariable><jsdl:stringVariable name="tws.job.logon">none</jsdl:stringVariable>

</jsdl:variables><jsdl:application name="executable">

<jsdle:executable output="${tws.plan.runnumber}"><jsdle:environment>

<jsdle:variable name="UNISON_SCHED">${tws.jobstream.name}</jsdle:variable>

<jsdle:variable name="UNISON_JOB">${tws.job.fqname}</jsdle:variable>

<jsdle:variable name="UNISON_MASTER">${tws.master.workstation}</jsdle:variable>

<jsdle:variable name="UNISON_RUN">${tws.plan.runnumber}</jsdle:variable>

<jsdle:variable name="UNISON_SCHED_DATE">${tws.plan.date}</jsdle:variable>

<jsdle:variable name="UNISON_SCHED_EPOCH">${tws.plan.date.epoch}</jsdle:variable>

<jsdle:variable name="LOGIN">${tws.job.logon}</jsdle:variable>

</jsdle:environment>...

Using variables in Workload Broker jobsThis section explains how to define and use variables in jobs for additionalflexibility.

Chapter 1. Scheduling jobs 3

||||

|||||

|||

||

|||||||||||||||||||||||||||||||||||||

||

||

Dynamic workload broker supports the use of variables in jobs for additionalflexibility. You can assign values to the variables or leave them blank, so that youcan define the value when the job is submitted.

When you define jobs that will be processed through dynamic scheduling, you caninclude variables that can be used at run time to valorize or override the variablesdefined in the JSDL job definition.

You define the variables in the Task String section of the Tivoli WorkloadScheduler job, as described in the following example:jobName -var var1Name=var1Value,...,varNName=varNValue

To define variables in the Tivoli Workload Scheduler job, perform the followingsteps:1. Create a JSDL job definition using the Job Brokering Definition Console.2. Define the variables for the job. For example, you can define the memory

variable to specify the amount of memory required for the job to run.3. Move to the Resources tab, Hardware Requirements section and type the

name of the variable in the Exact value field in the Physical Memory section.When the job is submitted, the value assigned to the memory variable definesthe amount of physical memory.

4. Save the job definition in the Job Repository database.5. Create a job to be submitted in Tivoli Workload Scheduler. This job contains

the reference to the job in dynamic workload broker created in step 1. Definethe Tivoli Workload Scheduler job as follows:a. In the Dynamic Workload Console, from the navigation bar, click

Administration > Workload Design > Manage Workload Definitions.b. Select New > Job Definition > Cloud > Workload Broker.c. In the General tab, in the Workstation field specify the workload broker

workstation.d. In the Task tab, in the Workload Broker job name field specify the name

of the JSDL job definition you created in step 1.6. Add the Tivoli Workload Scheduler job to a job stream.7. Submit or schedule the Tivoli Workload Scheduler job using either the

Dynamic Workload Console or conman.8. After any existing dependencies are resolved, the master domain manager

submits the Tivoli Workload Scheduler job to dynamic workload broker viathe workload broker workstation.

9. The workload broker workstation identifies the job definition to be submittedbased on the information on the Task String section of the Tivoli WorkloadScheduler job. It also creates an alias which contains the association with thejob.

10. The job definition is submitted to dynamic workload broker with the valuespecified for the memory variable.

11. Dynamic workload broker manages and monitors the whole job lifecycle.12. Dynamic workload broker returns status information on the job to the

workload broker workstation, which communicates it to the Master DomainManager. The job status is mapped to the Tivoli Workload Scheduler status asdescribed in Table 2 on page 6.

4 Tivoli Workload Scheduler: Scheduling Workload Dynamically

|||

|||

||

|

||

|

||

||||

|

|||

||

|

||

||

|

||

|||

||||

||

|

||||

Defining affinity relationshipsAffinity relationships cause jobs to run on the same resource. The resource onwhich the first job runs is chosen dynamically by dynamic workload broker, andthe affine job or jobs run on the same resource.

In dynamic workload broker, you can define affinity relationships between two ormore jobs when you want them to run on the same resource. When submitting thejob from the Tivoli Workload Scheduler environment, you can define affinity thatwill be resolved by dynamic workload broker by adding an affinity definition tothe Task String section of the Tivoli Workload Scheduler job in one of thefollowing ways:v Identifying affine job with the dynamic workload broker job IDv Identifying affine job with the dynamic workload broker job aliasv Identifying affine job with the Tivoli Workload Scheduler job name

Identifying affine job with the dynamic workload broker job IDjobName [-var varName=varValue,...,]-affinity jobid=jobid

Identifying affine job with the dynamic workload broker job aliasjobName [-var varName=varValue,...,]-affinity alias=alias

where

jobid Is the ID dynamic workload broker assigns when the job is submitted.

alias Is one of the following:v The alias defined by the user at submission time for dynamic workload

broker jobs.v The alias automatically generated by the workload broker workstation

when the job is submitted from Tivoli Workload Scheduler.

Identifying affine job with the Tivoli Workload Scheduler job nameThe jobs must belong to the same job streamjobName [-var varName=varValue,...,]-twsaffinity jobname=twsJobName

where

twsJobNameIs the name of the instance of the Tivoli Workload Scheduler jobwith which you want to establish an affinity relationship.

Alias definition in Tivoli Workload SchedulerWhen the Tivoli Workload Scheduler job is submitted to the workload brokerworkstation, an alias is automatically generated. This alias uniquely identifies thejob in the Tivoli Workload Scheduler environment and is displayed in the DynamicWorkload Console.

The syntax of the alias is as follows:cpuschedname#schedname.jobname.JNUM-nnnn

where:

cpuschednameIs the job stream workstation.

Chapter 1. Scheduling jobs 5

||

|||

||||||

|

|

|

||

||

|

||

||

||

||

||

|

|

|||

||

||||

|

|

|

||

schednameIs the job stream name

jobnameIs the job name.

JNUM Is the job number created by Tivoli Workload Scheduler before submittingthe job. Identifies a specific instance of a job within a given productiondate.

Monitoring and canceling jobsThis section explains how you can monitor and cancel jobs using the DynamicWorkload Console or the conman command.

You can use the Dynamic Workload Console or the conman command line tomonitor the status of submitted jobs, retrieve the job output, and cancel jobs ifnecessary, as you normally do in Tivoli Workload Scheduler. You can also use theDynamic Workload Console to view their status since it provides more detail onjobs processed through dynamic workload broker.

Job statuses in dynamic workload broker correspond to the following statuses inTivoli Workload Scheduler:

Table 2. Status mapping between dynamic workload broker and Tivoli Workload Scheduler

Dynamic workload broker job status Tivoli Workload Scheduler job status

1. Run failed

2. Unable to start

3. Resource allocation failed

4. Unknown

1. ABEND

2. FAILED

3. FAILED

4. ABEND

1. Submitted

2. Submitted to Agent

3. Resource Allocation Received

4. Waiting for Reallocation

5. Waiting for Resources

1. INTRO

2. WAIT

3. WAIT

4. WAIT

5. WAIT

1. Running 1. EXEC

1. Completed Successfully 1. SUCC

1. Canceled

2. Cancel Pending

3. Cancel Allocation

1. ABEND

2. The status is updated when the job reaches theCanceled state in dynamic workload broker

3. The status is updated when the job reaches theCanceled state in dynamic workload broker

Note: The + flag written beside the INTRO and EXEC statuses means that the jobis managed by the local batchman process.

You can view the job output by using both the Dynamic Workload Console or theconman command-line.

Consider the following Job Submission Description Language (JSDL) example,called BROKER_COMMAND_JOB:

6 Tivoli Workload Scheduler: Scheduling Workload Dynamically

||

||

||||

||

||

|||||

||

||

||

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

||

||

|

|

|

|

||

|||

||

||

||

<?xml version="1.0" encoding="UTF-8"?><jsdl:jobDefinition xmlns:jsdl="http://www.ibm.com/xmlns/prod/scheduling/1.0/jsdl"xmlns:jsdle="http://www.ibm.com/xmlns/prod/scheduling/1.0/jsdle"

name="BROKER_COMMAND_JOB"><jsdl:variables><jsdl:stringVariable name="command">dir<jsdl:stringVariable><jsdl:stringVariable name="params">d</jsdl:stringVariable></jsdl:variables><jsdl:application name="executable"><jsdle:executable interactive="false"><jsdle:script>${command} ${params}</jsdle:script></jsdle:executable></jsdl:application></jsdl:jobDefinition>

and the associated Tivoli Workload Scheduler job definition, calledTWS_COMMAND_JOB:TTANCRED_BRK#TWS_COMMAND_JOBSCRIPTNAME "BROKER_COMMAND_JOB -var command=ping,

params=ttancred.romelab.it.ibm.com"STREAMLOGON tws86masterTASKTYPE BROKERRECOVERY STOP

The following example displays the output of the previous job, submitted fromTivoli Workload Scheduler to the workload broker workstation.%sj TTANCRED_DWB#JOBS.TWS_COMMAND_JOB;std

===================================================================================== JOB : TTANCRED_DWB#JOBS[(0000 10/28/12),(JOBS)].TWS_COMMAND_JOB= USER : twa86master= TASK : <?xml version="1.0" encoding="UTF-8"?><jsdl:jobDefinition xmlns:jsdl="http://www.ibm.com/xmlns/prod/scheduling/1.0/jsdl"xmlns:jsdle="http://www.ibm.com/xmlns/prod/scheduling/1.0/jsdle"

name="BROKER_COMMAND_JOB"><jsdl:variables><jsdl:stringVariable name="command">dir<jsdl:stringVariable><jsdl:stringVariable name="params">d</jsdl:stringVariable></jsdl:variables><jsdl:application name="executable"><jsdle:executable interactive="false"><jsdle:script>${command} ${params}</jsdle:script></jsdle:executable></jsdl:application></jsdl:jobDefinition>= AGENT : TTAGENT= Job Number: 318858480= Wed Oct 24 15:58:24 CEST 2012====================================================================================Pinging ttancred.romelab.it.ibm.com [9.168.101.100] with 32 bytes of data:

Reply from 9.168.101.100: bytes=32 time<1ms TTL=128Reply from 9.168.101.100: bytes=32 time<1ms TTL=128Reply from 9.168.101.100: bytes=32 time<1ms TTL=128Reply from 9.168.101.100: bytes=32 time<1ms TTL=128

Ping statistics for 9.168.101.100:Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:Minimum = 0ms, Maximum = 0ms, Average = 0ms

===================================================================================== Exit Status : 0= Elapsed Time (Minutes) : 1= Job CPU usage (ms) : 1406

Chapter 1. Scheduling jobs 7

||||||||||||||

||

||||||

||

|||||||||||||||||||||||||||||||||||||||

= Job Memory usage (kb) : 3940= Wed Oct 24 15:58:27 CEST 2012====================================================================================

The keywords in the job output are as follows:

JOB Is the host name of the Tivoli Workload Scheduler agent to which the jobhas been submitted and the job name.

USER Is the Tivoli Workload Scheduler user who submitted the job to theworkload broker workstation. When a scheduled job is submitted, the username is retrieved from the STREAMLOGON keyword specified in the jobdefinition. When an ad-hoc job is submitted from conman and the logon isnot specified, the user name corresponds to the user who submitted thejob.

TASK Is the full JSDL job submitted with all the variables substituted.

AGENTIs the agent that run the job.

Job NumberIs the job number.

Exit StatusIs the status of the job when completed.

System TimeIs the time the kernel system spent for the job.

User TimeIs the time the system user spent for the job.

Note: The same job output format is used for JSDL template job types.

You can also kill the job after submitting it. Killing a job in Tivoli WorkloadScheduler performs the same operations as issuing the cancel command indynamic workload broker.

8 Tivoli Workload Scheduler: Scheduling Workload Dynamically

|||

|

|||

|||||||

||

||

||

||

||

||

|

|||

Chapter 2. Identifying the resources for jobs

To schedule jobs, dynamic workload broker first scans the computers in theenvironment to retrieve hardware and operating system information from theagent computers. You can also optionally create logical resources that representcharacteristics of the computers that are not gathered by the scan, such as softwarelicenses or installed applications, to further identify resources available in theenvironment.

After the Tivoli Workload Scheduler agent is installed, an automatic scan isperformed on the discovered computers where the agent is installed. The scanreturns hardware and operating system information which is stored in theResource Repository.

The hardware and operating system information returned by the scan is considereda physical resource. Physical resources collected from the agent computers includethe following:

Types of physical resources Examples

Computer system Computer system name, model, number ofprocessors, CPU speed

Operating system Operating system type and version, virtualmemory, physical memory, swap space

Network system IP address, network card, host name

File system File system storage capacity

The automatic discovery process of gathering physical resource information iscapable of identifying available computers with the resources required for jobs torun on. The scan is scheduled and configurable. You can configure the scan fromthe ResourceAdvisorAgentConfig.properties file on the master domain managerand from the JobManager.ini file on the agents. Ensure the scan runs at regulartimes to update any changes to resources. Refer to the Tivoli Workload Scheduler:Administration Guide, SC23-9113 for more information about this configuration file.

When the physical resources gathered by the scan do not supply enoughinformation to accurately address specific job requirements, you can define logicalresources or resource groups using the Dynamic Workload Console. The DynamicWorkload Console gives you the capability to set up additional logical resourcesand link them to computers where the resources are available. Logical resourceshelp identify resources required by jobs to make allocation more accurate. Logicalresources can also be used when expressing a consumable quantity of a resource.For example, you might use a logical resource to identify specific applications, andyou might also use them to define a limited number of software licenses available.When a job is submitted, the job definition includes the physical and logicalresource requirements, and with this information dynamic workload broker findsthe most suitable computer.

You can also use the Dynamic Workload Console to define a resource group. Aresource group is a combination of physical and logical resources defined toaccurately match and allocate resources to job requirements when the job issubmitted. After creating logical resources and resource groups, you can

© Copyright IBM Corp. 1999, 2012 9

subsequently edit them using the Dynamic Workload Console. If a computer,logical resource, or resource group becomes unavailable or you need to make itunavailable to perform maintenance tasks, for example, you can set the status tooffline. You can subsequently set the status online using the Dynamic WorkloadConsole.

The following are tasks for configuring resources:v “Creating logical resources” on page 12v “Creating resource groups” on page 14

Checking physical resources on computersYou can browse and display the physical resources discovered by the agent scanon the computers in your environment.

The automatically scheduled scan that runs on computers when the TivoliWorkload Scheduler agent is installed returns hardware and operating systeminformation from the agent computers to the Resource Repository. You can use theDynamic Workload Console to view the information collected by the agent, inaddition to the other information about the computers. The following informationcan be accessed:v Operating system informationv Computer availabilityv Processor informationv Machine informationv Free memory, free virtual memory, and free swap spacev System resources allocated to jobsv A history of job instances that ran on the computers and are currently running

To view information about the physical resources available on the computers inyour environment, do the following:1. In the Tivoli Dynamic Workload Broker navigation tree, expand System

Configuration and click Set Broker Server Connections

2. Define viable connections, test, and save them .3. Expand System Status and Health and click Monitor Computers on Broker.4. Specify the search criteria for the computers you want to find.5. Click Search. The computers that meet the search criteria are displayed in the

Monitor Computers on Broker page.6. To view the physical resources for a computer, select the display name link for

the computer. The Computer details page displays the physical resources onthe computer.

Figure 1 on page 11 shows the Monitor Computers on Broker page. From thisview you can perform the following tasks:v Set computers offline so that they cannot be allocated to run jobs.v Set offline computers back online so that they can be allocated to run jobs.v Delete computers so that they are no longer visible when you search for

computers. When you delete a computer, it is temporarily removed from thedatabase for a period of time defined in theResourceAdvisorAgentConfig.properties file. After the deletion, the TivoliWorkload Scheduler agent remains installed and running. Any jobs currently

10 Tivoli Workload Scheduler: Scheduling Workload Dynamically

||

|

||

||

|

|

|||||

allocated and running on the computer complete. To permanently delete acomputer, you must uninstall the Tivoli Workload Scheduler agent.

v Refresh the view of the computer search results to see updated informationabout computers.

v View the number of jobs currently allocated on a given computer in the ActiveJobs column. For each computer this column shows the number of jobs thathave selected the computer as a target system, as well as the number of jobs thatare currently allocating the computer as a related resource. In the specific caseyou defined a computer system as a type for a related resource required to run ajob (in the JSDL definition of the job), when the job is allocated it is displayedtwice in Active Jobs as follows:– If the same computer is selected both as a target system and as a related

resource, the column shows 2 jobs for that computer, even though there isonly one job running.

– If different computers are selected for the target system and the relatedresource, the column shows the same job twice (once for each computer).

v View additional information about a computer.

To perform these tasks, do the following:1. Select a computer in the Monitor Computers on Broker table.2. Select one of the following operations from the Actions menu:

v Set as online

v Set as offline

v Delete

v Refresh

3. Click Go to perform the operation.

You can display details on computers by clicking the computer name link in theMonitor Computers on Broker table.

In general, you can click links for job names, job instance names, and computersfrom the Dynamic Workload Console to display more details about them.

Figure 1. Computer Search Results page

Chapter 2. Identifying the resources for jobs 11

|

|||

||

||

|||||||

|||

||

|

|

|

|

|

|

|

|

|

|||

||

Creating logical resourcesUsing the Dynamic Workload Console, you can define logical resources andresource groups for workstations with properties that are not discovered with asystem scan. You create a logical resource specifying the characteristics of theresource that are required to run jobs.

To create a logical resource, perform the following steps:1. In the Tivoli Dynamic Workload Broker navigation tree, expand Administration

and click Create Logical Resources on Broker. The wizard helps you create anew resource and add it to computers in your environment.

2. In the General Properties page, define the general properties for the logicalresource:a. In the Name field, type the name to be assigned to the logical resource. This

field is required. The name must start with an alphabetical character, andcan contain underscore symbols ( _ ), minus symbols (-), and periods (.).Spaces, special characters, accented characters are not supported.

b. In the Type field, type a meaningful name for the logical resource type. Forexample, if the logical resource describes DB2® applications, you might callthe resource DB2. The name must start with an alphabetical character, andcan contain underscore symbols ( _ ), minus symbols (-), and periods (.).Spaces, special characters, accented characters are not supported.

c. In the Quantity field, specify a value that represents the availability of thelogical resource. For example, if the resource consists in a license server, youcan specify the number of licenses available on the server for a product.This field is optional.

d. Select the Set as Offline check box to mark the resource as not available.You can subsequently change the resource status by expanding SchedulingEnvironment in the left pane and selecting Logical Resources. You can thensearch for a resource and modify the status.

e. Click the Next button to proceed.3. In the Computer Search Criteria page, specify the criteria for searching the

computers to be added to the logical resource. In this page, you can eitherperform a search on all computers available in the dynamic workload brokerenvironment or you can search for specific computers. To search on allavailable computers, leave all fields blank. As an alternative, you can specifyone or more of the search criteria listed below. The search criteria arecumulative; each additional information you specify further refines the search:v In the Host Name field, specify the host name of a computer. Wildcards are

supported. The search is performed on computers with the specified hostname or section of the host name. For example, if you enter test* in the Hostname field, the test1 and testing host names are returned.

v In the Logical resources already on the computer area, specify the name andtype of logical resources already present on the computer, if any. In theName field, specify the logical resource name and in the Type field specifythe logical resource type. Wildcards are supported.

v In the Availability area, specify whether the computer is:

AvailableThe computer is available and can be assigned jobs.

UnavailableThe computer is not available. The network might be down or thecomputer might be switched off.

12 Tivoli Workload Scheduler: Scheduling Workload Dynamically

v In the Status area, define the status of the specified computer.

OnlineThe computer is online.

OfflineThe computer is offline. The administrator might have set thecomputer offline for maintenance purposes.

v In the Hardware Characteristics area, specify the number of processorsavailable on the computer:

Single processorThe computer contains one processor.

Double processorThe computer contains two processors.

Multi processorThe computer contains three or more processors.

v In the Operating System area, specify the operating system installed on thecomputers for which you want to search. The search is performed only forcomputers with the selected operating systems. Available operating systemsare:– Windows

– Linux

– AIX®

– Oracle Solaris

– HP-UX

– zOS

– IBM i

The results of the search are displayed in the Computer Search Results pages.4. In the Computer Search Results page, you specify to which computers you

want to add the logical resource you are creating. Your selections are displayedin the Summary page.

5. In the Summary page, you can optionally remove the selected computer fromthe logical resource you are defining. Click Finish to save the logical resource.

The logical resource has been created and can be accessed using the System Statusand Health > Monitor Logical Resources on Broker task. You can perform thefollowing operations using this task:v Set the online or offline status of the logical resource.v Delete the logical resource.v Edit the logical resource specifications, including the computers where the

logical resource is located, the online or offline status of the computers, and thelogical resource name, unless the logical resource was imported from the Changeand Configuration Management Database. A Change and ConfigurationManagement Database logical resource can be identified in the table of logicalresources by the value CCMDB in the Owner column.

Chapter 2. Identifying the resources for jobs 13

Creating resource groupsUsing the Dynamic Workload Console, you can create resource groups to groupcomputers, logical resources, or both. A resource group represents a logicalassociation between computers, logical resources, or both with similar hardware orsoftware characteristics. It is a combination of physical and logical resources toaccurately match and allocate resources to job requirements when the job issubmitted.

To create a resource group, perform the following steps:1. In the console navigation tree, expand Administration and click Create

Resource Groups on Broker. The wizard helps you create a new resourcegroup.

2. In the Group Type Selection page, specify a name, the status, and a type forthe resource group:a. In the Name field, type the name to be assigned to the resource group. The

name must start with an alphabetical character, and can contain underscoresymbols ( _ ), minus symbols (-), and periods (.). Spaces, special characters,and accented characters are not supported. This field is required.

b. Select the Set as Offline check box to mark the resource group as notavailable. You can subsequently change the resource group status byexpanding Scheduling Environment in the left pane and selecting ResourceGroups. You can then search for a resource group and modify the status.

c. In the Select items to be grouped area, select the elements the groupconsists of. Supported values are computers, logical resources or both. Thisfield is required.

d. Click the Next button to proceed.3. In the Computer Search Criteria page, specify the criteria for searching

available computers to be added to the resource group. In this page, you caneither perform a search on all computers available in the dynamic workloadbroker environment or you can search for specific computers. To search on allavailable computers, leave all fields blank. As an alternative, you can specifyone or more of the search criteria listed below. The search criteria arecumulative; each additional information you specify further refines the search:v In the Host Name field, specify the host name of a computer. Wildcards are

supported. The search is performed on computers with the specified hostname or section of the host name. For example, if you enter test* in the Hostname field, the test1 and testing host names are returned.

v In the Logical resources already on the computer area, specify the name andtype of logical resources already present on the computer, if any. In theName field, specify the logical resource name and in the Type field specifythe logical resource type. The name and type must start with an alphabeticalcharacter, and can contain underscore symbols ( _ ), minus symbols (-), orperiods (.). Spaces, special characters, and accented characters are notsupported.

v In the Availability area, specify whether the computer is:

AvailableThe computer is available to be allocated.

UnavailableThe computer is not available. The network might be down or thecomputer might be switched off.

v In the Status area, define the status of the specified computer.

14 Tivoli Workload Scheduler: Scheduling Workload Dynamically

OnlineThe computer is online.

OfflineThe computer is offline. The administrator might have set thecomputer offline for maintenance purposes.

v In the Hardware Characteristics area, specify the number of processorsavailable on the computer:

Single processorThe computer contains one processor.

Double processorThe computer contains two processors.

Multi processorThe computer contains three or more processors.

v In the Operating System area, specify the operating system installed on thecomputers for which you want to search. The search is performed only forcomputers with the selected operating systems. Available operating systemsare:– Windows

– Linux

– AIX

– Oracle Solaris

– HP-UX

– zOS

– IBM i

Click Next to perform the search based on the criteria specified. The results ofthe search are displayed in the Computer Search Result page.

4. In the Computer Search Result page, you specify to which computers youwant to add the group you are creating. Click Next.

5. If the resource group you are defining includes a logical resource, then theLogical Resource Search Criteria page prompts you to specify the followingsearch criteria:a. The name of the logical resource.b. The type of logical resource.

Click Next to display the Logical Resources Search Results page.6. Select the logical resource to add to the resource group you are defining and

click Next to display the Summary page.7. In the Summary page, you can optionally remove any computer or logical

resource that you included in the resource group. Click Finish to save theresource group.

The resource group has been created and can be accessed using the System Statusand Health > Monitor Resource Groups on Broker task. You can perform thefollowing operations using this task:v Set the online or offline status of the resource group.v Delete the resource group.v Edit the resource group specifications, including adding and removing

computers and logical resources from the group, changing their online or offlinestatus, and changing the resource group name.

Chapter 2. Identifying the resources for jobs 15

16 Tivoli Workload Scheduler: Scheduling Workload Dynamically

Chapter 3. Writing JSDL definitions with the Job BrokeringDefinition Console

The Job Brokering Definition Console provides an easy-to-use graphical interfacethat helps you create and edit JSDL job definitions for use with dynamic workloadbroker.

The Job Brokering Definition Console graphical interface helps you create and editjob definitions based on the Job Submission Definition Language (JSDL) schema.Each text field in the Job Brokering Definition Console corresponds to an elementor attribute in the JSDL file and vice versa. You can use the Job BrokeringDefinition Console to create existing job types. If you need to create job types withadvanced options, use the Dynamic Workload Console or composer command.

The Job Brokering Definition Console simplifies the task of creating a JSDL file byhiding the complexity of the file itself and validating the file structure against theJSDL schema. Information defined in the Job Brokering Definition Console isautomatically converted to the corresponding element or attribute in the JSDL file.

You can save a JSDL file locally or upload it as a job definition in the JobRepository where it becomes available for submission. When you save the file inthe Job Brokering Definition Console, the JSDL file is checked against an .xsd fileprovided with the product installation which contains the syntax rules. A messageis displayed if a syntax error is encountered in the JSDL file, allowing you tocorrect the error.

The Job Submission Description Language (JSDL) is an XML-based language usedfor specifying the characteristics and requirements of a job, as well as instructionson how to manage and run it. These include the following:v Job identification informationv Program running informationv Resource requirementsv Scheduling and running requirementsv Resource quantity to be allocated or requiredv Logical allocation of the resource quantity

Selecting target types

When creating a JSDL file, you can choose between the following resource types astargets for your job:

ResourcesA resource is a computer system. You can use this resource type to define abasic requirement for your job.

Related resourcesA related resource is a set of resource types. You can use this resource typeto define a basic requirement for your job. A related resource includes thefollowing resource types:v A set of hardware and software properties of a computer such as

operating system, file system and network system.

© Copyright IBM Corp. 1999, 2012 17

v Logical resources and logical entities that can be associated to one ormore computers to represent applications, groups, licenses, servers andso on.

Related resources have two main functions:v You can specify related resources as an additional requirement adding to

the resource requirement. In this case, you must create a relationshipbetween the resource and the related resource.

v You can use the related resource to indicate that the presence of a certainresource in your environment is a co-requisite for running the job. Inthis case, you must not create a relationship between the resource andthe related resource. A related resource having no relation to a resourceis a global resource. For example, if you want to move a file fromresource A to resource B, resource B is a co-requisite for running the jobwhich moves the file. Computers can only be defined as globalresources.

Selecting resource types

Dynamic workload broker manages the resource types listed in Table 3. For eachresource type, you can specify requirements on the properties listed in theAvailable properties column. Table 3 also lists consumable properties andproperties that can be optimized. Consumable properties can be allocatedexclusively to the job while it runs using the allocation mechanism. Properties thatcan be optimized can be used to provide a more effective load balancing on theresource property.

Table 3. Resource types and properties

Resource Type Available properties Is consumable Can be optimized Supports wildcards

ComputerSystem CPUUtilization No Yes No

HostName No No Yes

Manufacturer No No Yes

Model No No Yes

NumOfProcessors Yes Yes No

ProcessingSpeed No Yes No

ProcessorType No No No

LogicalResource DisplayName No No Yes

SubType No No Yes

Quantity Yes Yes No

OperatingSystem DisplayName No No Yes

FreePhysicalMemory No Yes No

FreeSwapSpace No Yes No

FreeVirtualMemory No Yes No

OperatingSystemType No No No

OperatingSystemVersion

No No No

TotalPhysicalMemory Yes Yes No

TotalSwapSpace Yes Yes No

TotalVirtualMemory Yes Yes No

18 Tivoli Workload Scheduler: Scheduling Workload Dynamically

Table 3. Resource types and properties (continued)

Resource Type Available properties Is consumable Can be optimized Supports wildcards

FileSystem DisplayName No No Yes

FileSystemRoot No No Yes

FileSystemType No No No

FreeStorageCapacity No Yes No

TotalStorageCapacity Yes Yes No

NetworkSystem NetworkAddress No No No

NetworkSystemHostName

No No Yes

When you define the requirements for a job definition, you can define the amountof a consumable property which will be allocated to the job. When a resourceproperty is allocated to a job, the amount you specify is logically reserved for thejob. If another job is submitted which allocates a value greater than the remainingcapacity of the same consumable property, this job cannot run on the sameresource as the previous job because the required property is already reserved. Ifno property allocation is specified in the job definition, the job can run on the sameresource as the previous job because the allocation mechanism applies only if bothjobs allocate the same property.

You can use the allocation mechanism to limit concurrent use of the same quantityby several jobs and improve system performance.

To allocate a property for a job, use the allocation element in the JSDL file or theSoftware Requirements and Hardware Requirements tabs in the Job BrokeringDefinition Console.

This allocation type applies to computer systems. To allocate a property for aresource other than a computer system, you define the resource whose propertyyou want to allocate in the Related resource pane and define the allocation settingfor one or more of its properties. You then define a relationship between theresource and the related resource you created. In this way you define the relatedresource and the allocated property as a requirement for the job to run.

Job definitionsThis topic provides an overview of the possible content of job definitions anddescribes how the different types of job definition content are added using the JobBrokering Definition Console.

A job definition contains all the information required to determine the computersystem or systems on which a job could run, any scheduling and job balancingrules that are to be applied when allocating resources, as well as the informationrequired to identify and run the application. It is defined using the Job SubmissionDescription Language (JSDL).

JSDL is an XML-based language used for specifying the characteristics andrequirements of a job, as well as instructions on how to manage and run the jobs.A JSDL file can include the following types of information

Chapter 3. Writing JSDL definitions with the Job Brokering Definition Console 19

Basic job informationIncludes the job name, any job categories to which you want to assign it,and any variables that are used in the job.

Variables can be used in several ways in a job definition. For example:v A set of variables can describe a command and its arguments. These can

be added to program running information and within the script of thejob.

v Variables can also be used to identify resources, for example, a targethost.

The default value assigned to the variable in the job definition is usedwhen the job is run, unless it is overridden at submission time. See “Usingvariables in job definitions” on page 27.

Program running informationIdentifies the script or executable to be run and, if necessary, standardinput, output, and error files and the working directory. If the job needs toprovide credentials these can also be specified.

You can define the required credentials to run a job if the credentials aredifferent from those under which the Tivoli Workload Scheduler agentruns.

On Windows targets, jobs with no specified credentials, run under the useraccount specified during the Tivoli Workload Scheduler agent installation,unless the agent runs under the Local System account. In this case, any jobsubmitted to the agent runs under the default administrator's account.

On UNIX targets, jobs with no specified credentials, run under root.

Required resource specificationsEnables dynamic workload broker to identify the computer systems onwhich the job can run based on hardware and software requirements.

Related requirementsAllow you to specify required relationships between resources andco-requisite resources for a job.

AllocationResource quantity to be allocated or required.

Optimization and load-balancing policies.

The following load balancing policies are available:

Balance load between resources by number of jobs runningJobs are assigned to targets based on the number of jobs currentlyrunning on each target. The objective is to ensure that eachresource runs the same number of jobs during the same timeinterval. This policy is the default. It is suitable for situationswhere many similar jobs, which consume similar quantities ofsystem resources, are to be run on a set of resources

Balance load between resources by optimization objectiveYou define an objective by selecting a resource type and relatedresource property and specifying the objective to maximize orminimize the property. For example, you could balance load withthe aim of keeping the amount of free physical memory availableon operating system resources as high as possible. The objectivewould be set to maximize free physical memory and when jobswith this objective are submitted, they are allocated to available

20 Tivoli Workload Scheduler: Scheduling Workload Dynamically

resources so that more jobs go to the resources that currently havethe greatest amount of free physical memory.

Select best resource by optimization objectiveYou define the optimization objective in exactly the same way asdescribed for the Balance load between resources by optimizationobjective. However, when a job with this policy is submitted, itwould always be assigned to the resource that best matched theobjective. For example, if the objective is to maximize free physicalmemory, the job would run on the resource that had the highestamount of free physical memory at submission time.

Enterprise Workload ManagerIf you have Enterprise Workload Manager installed, you can definejobs with an optimization policy to use the load-balancingcapabilities of this product.

In the JSDL schema, the Optimization page corresponds to theoptimization element.

Scheduling and running requirements.Allows you to define a priority, the time a job can wait for resources beforefailing, and recovery actions in the event of a failure.

The maximum priority is 100 and priority settings between 90 and 100should only be used for critical jobs. Jobs with these priorities are alwaysallocated resources ahead of other waiting jobs regardless of how long theother jobs have been waiting. At lower priorities than 90, jobs are allocatedresources based on the priority setting and the age of the job. As timepasses, jobs with a low priority setting increase their priority so that theyeventually are allocated resources even if jobs with higher initial prioritiesare waiting.

The Job Brokering Definition Console graphical interface allows you to create andedit job definitions based on the JSDL schema. Fields in the Job BrokeringDefinition Console correspond to elements in the JSDL schema. When creating ajob definition using the Job Brokering Definition Console, you can view the jobdefinition structure in the Outline pane.

Chapter 3. Writing JSDL definitions with the Job Brokering Definition Console 21

The JSDL schema offers great flexibility in defining jobs and their requirements. Ajob can have a very open definition, with few defined requirements, allowing it torun on a wide range of resources and to follow default rules for load balancing.Other jobs could have a much more detailed set of hardware and softwarerequirements, as well as specific resource allocations and a load balancing policy.Using the graphical interface simplifies the task of creating JSDL files andeliminates many of the risks of error that occur when the files are edited manually.The different elements that make up a job definition are available, in many caseswith a set of fixed values from which you can choose. Information defined in theJob Brokering Definition Console is validated, ensuring that any values you haveentered are correct and consistent with each other.

In addition, the Job Brokering Definition Console also includes content assistancethat provides server-side values for several fields on the interface, for example,candidate host names and logical resources, to name a few. Fields with contentassistance are identified by a light-bulb icon next to the field. Position your mouseover the light-bulb and press Ctrl + Space to display a list of possible values.Server-side values are populated using the server cache for the currently activeserver connection. Server data is cached automatically when the initial connectionto a server is made or each time the server connection is changed. You can refreshthe cache at any time, for example, if you have defined a new resourcerequirement on the server, by selecting Server > Refresh Server Data Cache.

When you save the file in the Job Brokering Definition Console, the JSDL file ischecked against an .xsd file provided with the product installation which containsthe syntax rules. A message is displayed if a syntax error is encountered in the

Figure 2. Job Brokering Definition Console main page

22 Tivoli Workload Scheduler: Scheduling Workload Dynamically

JSDL file, allowing you to correct the error. You can save the JSDL files locally orupload them as job definitions in the Job Repository where they become availablefor submission.

Resources in the job definitionThis topic provides an overview of how resources and their properties are used inthe job definition to identify possible targets, to reserve allocations of consumableresources, and to optimize load balancing between available resources.

An understanding of physical and logical resources and their properties is the keyto creating a job definition that accurately targets suitable resources for running thejob, determines the resource allocation requirement, and contributes to balancingthe load between available resources. Each resource has one or more propertiesassociated with it. Properties can have the following characteristics:

Is consumableProperties of resources that are consumable have finite amount associatedwith them which can be consumed by the jobs that are allocated to theresource. For example, a computer system has a finite number ofprocessors.

Can be optimizedSome properties can be used to define optimization objectives, whichdetermine how load is to be balanced when jobs are allocated to a group ofresources. For example, you could choose to allocate a job to the matchingresource that has the lowest CPU usage.

Supports wildcardsSome properties can be specified in the job definition using wildcards. Forexample, a requirement for a particular series of computer models could bedefined by specifying the model using wildcards.

Table 4 shows the different resource types that can be included in a job definitionand their available properties.

Table 4. Resource types and properties

Resource Type Available properties Is consumable Can be optimized Supports wildcards

ComputerSystem CPUUtilization No Yes No

HostName No No Yes

Manufacturer No No Yes

Model No No Yes

NumOfProcessors Yes Yes No

ProcessingSpeed No Yes No

ProcessorType No No No

LogicalResource DisplayName No No Yes

SubType No No Yes

Quantity Yes Yes No

Chapter 3. Writing JSDL definitions with the Job Brokering Definition Console 23

Table 4. Resource types and properties (continued)

Resource Type Available properties Is consumable Can be optimized Supports wildcards

OperatingSystem DisplayName No No Yes

FreePhysicalMemory No Yes No

FreeSwapSpace No Yes No

FreeVirtualMemory No Yes No

OperatingSystemType No No No

OperatingSystemVersion

No No No

TotalPhysicalMemory Yes Yes No

TotalSwapSpace Yes Yes No

TotalVirtualMemory Yes Yes No

FileSystem DisplayName No No Yes

FileSystemRoot No No Yes

FileSystemType No No No

FreeStorageCapacity No Yes No

TotalStorageCapacity Yes Yes No

NetworkSystem NetworkAddress No No No

NetworkSystemHostName

No No Yes

Resource properties can be used in the job definition in the following ways:

Identifying targets for the jobOn the Resources page of the Job Brokering Definition Console, you cansupply information about the resources required for the job. Using thisinformation, dynamic workload broker can identify the computer systemson which the job could run. In addition to the basic hardware and softwarerequirements, you can use the Advanced Requirements tab to includerequirements for specific resource properties. For example, you can add arequirement for a specific processor type or specify a required range ofprocessor speeds. In the JSDL schema, the Resources page corresponds tothe resources element.

When you define a resource requirement, the underlying relationshipbetween the required resource and the computer system which containsthe resource is automatically created by the Job Brokering DefinitionConsole to facilitate the usage of the product.

Resource property requirements to be used when identifying targets for jobcan also be specified on the Related Resources page. A related resourceincludes the following resource types:v A set of hardware and software properties of a computer such as

operating system, file system, and network system.v Logical resources, which are a flexible means of providing information

about your environment in addition to the information collected by thehardware scan. For example, you could create logical resources torepresent applications, groups, licenses, or database access. A logicalresource can be linked to one or more specified computers or it can be afreestanding global resource, available to all computers.

24 Tivoli Workload Scheduler: Scheduling Workload Dynamically

Related resources have two main functions:

To specify additional requirements, making the matching criteria forpossible targets more precise

Targets can only match if they either contain or are associated withthe specified resource. In addition to defining the related resourcein the job definition, you must also define its relationship to thetarget resource and specify the relationship type as contains orassociates with. Related resource that define hardware andsoftware properties always have a contains relationship whilelogical resources often have an associates with relationship. Forexample, if a related requirement for a logical resource thatrepresents a node-locked license is included, the target systemmust be one of those that is associated with this resource, andtherefore a target where the license is available.

To specify global resources that must be available for the job to runThese related resources are not related to the target resource andhave no role in finding matching resources for the job to run on.The resource must be available to the job at submission time. Forexample, if a license required to run the software used by the job isof a type that is not assigned to any computer, a logical resourcecould be created to identify it and to track the number of licensesthat exist and that are in use. No computers are associated withthis logical resource and so it is referred to as a global resource,available to all computers. The job definition includes a relatedresource identifying the floating license logical resource and thenumber of licenses required. Before the job can run, it must bepossible to meet this requirement.

In the JSDL schema, the Related Resources page corresponds to therelatedResources element.

When the resource requirements for the job are defined, logical rules areapplied to determine whether the requirements are alternatives to eachother (OR) or whether they are inclusive (AND). In general, the differenttypes of requirements have an AND relationship, for example, if youspecify an operating system type, CPU architecture, and a value forminimum physical memory, the target resource for the job must meet all ofthese requirements.

Within the following requirement types, you can specify alternatives thathave an OR relationship:v Candidate hostsv Candidate CPU architecturesv Candidate operating systems

If several entries are added for any of these requirement types, they areconsidered as alternatives. For example, if Linux, AIX, and HP-UX arespecified as candidate operating systems, the target resource for the jobmust have one of these operating system types.

Within the following requirement types, all requirements specified must bemet by the target resource for the job.v Logical resourcesv File systems

Chapter 3. Writing JSDL definitions with the Job Brokering Definition Console 25

For example, if you add Local Disk and CD ROM to the File systemrequirements, the target resource for the job must have both a local diskand a CD ROM.

Reserving resourcesWhen defining the requirements for a job definition, you can define theamount of a consumable property which will be allocated to the job. Whena resource property is allocated to a job, the amount you specify islogically reserved for the job. If another job is submitted which allocates avalue greater than the remaining capacity of the same consumableproperty, this job cannot run on the same resource as the previous jobbecause the required property is already reserved. If no property allocationis specified in the job definition, the job can run on the same resource asthe previous job because the allocation mechanism applies only if both jobsallocate the same property.

You can use the allocation mechanism to limit concurrent use of the samequantity by several jobs and improve system performance.

On the Job Brokering Definition Console, you can allocate a specifiedquantity of a consumable property. You can use the allocation pane fromthe Advanced Requirements tab of the Resources page or you can definea required resource and property in the Related resource page and specifythe amount of the property to be allocated. From the AdvancedRequirements tab on the Resources page, you can only allocateconsumable properties of computer system resources.

Defining load-balancing policiesYou can use the Optimization page in the Job Brokering DefinitionConsole to define custom rules for load-balancing to be applied when thejob is submitted. The default method of load-balancing is to aim toequalize the number of jobs running on each resource.

Dynamic workload broker provides two types of optimization policy typesthat use rules based on resource properties:v Balance load between resources by optimization objectivev Select best resource by optimization objective

For both policies, you define an objective to distribute jobs minimizing ormaximizing the property of a computer system, a file system, a logicalresource, or an operating system. For example, you could balance loadswith the aim of keeping the free physical memory available on operatingsystem resources as high as possible.

When the Balance load between resources by optimization objectivepolicy is used, jobs are distributed between matching resources based on astatistical probability that the resource currently has highest amount of freephysical memory of all matching resources. When the Select best resourceby optimization objective policy is used, the job is allocated to theresource that has the highest amount of free physical memory.

When defining an objective, you must select a resource that is included inthe job definition as part of the identification of targets for the job. Forexample, if you want to define the objective to minimize free physicalmemory, at least one operating system requirement must be included inthe job definition. This could be candidate operating systems, a physical orvirtual memory requirement, or a related requirement involving operatingsystem properties. Computer system properties are the exception to this

26 Tivoli Workload Scheduler: Scheduling Workload Dynamically

rule. Optimization objectives using computer system properties can bealways defined even if the job definition includes no explicit computersystem requirements.

For information about all available load balancing policies, see “Jobdefinitions” on page 19.

Using variables in job definitionsThis section explains how to use variables to add flexibility to the job definitions.

There are two types of variables in a job definition:

Job variablesThere are three types of job variables: String, Double, Integer. You candefine job variables in your job definition that are resolved or overwrittenat job submission time. This enables the job definition to be used fordifferent situations by specifying different values for the variable atsubmission time. You define variables in the variable element, but you canrefer to the variable from several other elements.

You define variables and assign them values from the Overview page onthe Job Brokering Definition Console. Job variables are referenced in thejob definition in the format ${variable_name}. For example, to use a variableto set the minimum amount of physical memory required for a job to 512MB, do the following:1. In the Variables pane of the Overview page, add the string variable

memory and assign it a value of 512.2. On the Hardware Requirements tab of the Resources page, select

Range value for Physical memory and set the Minimum value to${memory}.

When jobs are submitted, using Dynamic Workload Console, TivoliWorkload Scheduler Task field, or the dynamic workload broker CLI,default values for variables defined in the job definition can be overriddenand new variables can be added.

Environment variablesEnvironment variables are set in the run time environment for the dynamicworkload broker job definition. Environment variables can be used tochange the run time environment for the job on the assigned resource. Thisenables you to change only the values of the environment variables whenyou change the resources for the job definition. Environment variables arereferenced in the job definition in the format $variable_name wherevariable_name is the name of the environment variable.

Environment variable values cannot be set or overwritten when the job issubmitted.

Using JSDL job definition templatesUse job definition templates to be able to run multiple jobs based on a single JSDLdocument, or to turn a traditional job into a dynamic job without the need to createa specific JSDL definition for it.

You have two options for writing the JSDL job definitions for the workload youwant to submit with dynamic workload broker:v Writing a separate definition for each job

Chapter 3. Writing JSDL definitions with the Job Brokering Definition Console 27

v Writing a generalized definition that you can use as a template to run more jobs

Writing and using templates is an option that lets you reuse the same JSDLdocument on multiple jobs when they use the same resources and candidate hostsand share similar scheduling and optimization preferences. This requires that youalso define an extended agent workstation for each template you implement, sothat at runtime the JSDL template can be properly identified by selecting theextended agent on which the job you want to run is defined. In this way, you canmake up classes of jobs where all the jobs that belong to the same class are definedto run on the same extended agent and therefore select, by means of the workloadbroker workstation, the same JSDL document to submit to the broker.

Traditional Tivoli Workload Scheduler jobs can be routed to dynamic workloadbroker by simply changing their CPU to an appropriate extended agent, withoutchanging the job definition and without requiring a different JSDL definition foreach job. This is the recommended way for changing static workload into dynamicworkload in Tivoli Workload Scheduler.

Writing a JSDL job definition template

Specific, prepackaged JSDL templates that you can fill in do not exist. Rather, youwork a number of steps so that you can write in the Job Brokering DefinitionConsole a JSDL file that can be referenced by more Tivoli Workload Scheduler jobdefinitions.

To write a template you use the following:v The composer command line or the Dynamic Workload Console to define

extended agents (with their access method) and to create or modify jobdefinitions in Tivoli Workload Scheduler.

v The Job Brokering Definition Console to write the JSDL file that you then use asa template.

The steps are:1. In the Job Brokering Definition Console, you create a JSDL document, give it a

name, and save it in the Job Repository of dynamic workload broker. Like forregular job definitions, fill in the data throughout the pages of the JobBrokering Definition Console, specifying the required resources, andoptimization and scheduling details. Unlike you do in regular job definitions, inthe Application page, after setting the Type to Executable (or to Extended Job),specify the following variable name in the Script (or Task string) field:${tws.job.taskstring}

2. With composer or the Dynamic Workload Console define a workstation of typeextended agent hosted by the workload broker workstation.If you need background information about extended agents, see the TivoliWorkload Scheduler: User's Guide and Reference, SC32-1274. For the purpose ofcreating the template, however, you only need to know the following factsabout an extended agent:v It is a logical definition that must be hosted by a physical workstation. In

this case the physical workstation must always be the workload brokerworkstation. This workstation can host as many extended agents as youneed.

v It requires an access method. An access method can be a complex program,but in this case it is only a statement that references the name of the JSDL

28 Tivoli Workload Scheduler: Scheduling Workload Dynamically

file that will be your template. The access method statement is included inthe definition of the extended agent and must have the following syntax:ACCESS "/jsdl/filename_of_the_ JSDL_template -var name=value,name=value,..."

where -var name=value is optional and represents one or more variablespassed by the workload broker workstation to dynamic workload broker atjob submission time.

3. Add the extended agent to the plan as you do with any other workstation. Theworkload broker workstation has the task of managing the lifecycle of theextended agent, notifying the master domain manager that it is up andrunning.

When jobs are run on the extended agent, they are routed to the workload brokerworkstation, which handles them differently from other jobs. Instead of searchingfor the name of the JSDL definition in the task string of the job, the workloadbroker workstation:1. Gets the name of the target JSDL from the access method, and passes the task

string as a value for variable ${tws.job.taskstring}.2. The task string value is replaced in the script element of the target JSDL, and is

used as a command string to run on the target agent that is dynamicallyselected by the dynamic workload broker.Thus, the JSDL definition invoked by the workload broker workstation worksas a sort of template that you can use to run different task strings defined indifferent Tivoli Workload Scheduler jobs: the same JSDL document is reused formultiple jobs.

Example

You want to exploit dynamic workload broker to run a job named SUBMIT_JOBXAand you want to use a JSDL template. The following definitions accomplish this:1. The definition of the workload broker workstation. It is named DGCENTER_DWB

and it is of type BROKER. There can be only one workload broker workstationrunning at a time in a Tivoli Workload Scheduler network (this applies also tothe dynamic workload broker server).CPUNAME DGCENTER_DWB

OS OTHERNODE DGCENTER TCPADDR 41111ENGINEADDR 31111DOMAIN MASTERDMFOR MAESTRO

TYPE BROKERAUTOLINK ONBEHINDFIREWALL OFFFULLSTATUS OFF

END

2. The definition of extended agent DGCENTER_DWBXA. The extended agent must:v Be hosted by the workload broker workstation (DGCENTER_DWB in this

example).v Include the access method. While normally the ACCESS keyword is followed

by the name of the program that implements the specific access method, inthe case of JSDL templates it needs only to define the name of the JSDLdocument you use as template - that must be stored in the dynamicworkload broker Job Repository in the Tivoli Workload Scheduler databaseand available in a local folder in the workstation where you run the Job

Chapter 3. Writing JSDL definitions with the Job Brokering Definition Console 29

Brokering Definition Console- and whatever other parameters you want touse. These items must be enclosed between double quotes.This requires that you created the JSDL document you will be using as atemplate (named SJT in this example), defining the required resources,candidate hosts, and scheduling and optimization preferences, and specifying${tws.job.taskstring} in the Script field of the executable.

CPUNAME DGCENTER_DWBXAOS OTHERNODE DGCENTER TCPADDR 41111FOR MAESTRO HOST DGCENTER_DWB ACCESS "/jsdl/SJT -var

target=D:\vmware,RES=RES1"TYPE X-AGENTAUTOLINK OFFBEHINDFIREWALL OFFFULLSTATUS OFF

END

3. The definition of job SUBMIT_JOBXA in Tivoli Workload Scheduler:DGCENTER_DWBXA#SUBMIT_JOBXASCRIPTNAME "C:\TWS\Utils\Jobs\javacount_on.bat"STREAMLOGON AdministratorDESCRIPTION "Added by composer."TASKTYPE WINDOWSRECOVERY STOP

The fact that the job is defined to run on extended agent DGCENTER_DWBXA,hosted by the workload broker workstation and matched with the SJT JSDLdefinition, drives the process that:a. Submits the job via dynamic workload brokerb. Uses the specifications of the SJT JSDL definitionc. Replaces variable ${tws.job.taskstring} in SJT with the task string of

SUBMIT_JOBXA, that is:C:\TWS\Utils\Jobs\javacount_on.bat

Scenarios for creating job definitionsThese scenarios provide examples of creating job definitions with different types ofrequirements.

JSDL and the Job Brokering Definition Console provide very flexible tools fordefining jobs. The following scenarios provide examples of how to set up a jobdefinition to achieve your objectives for identification of targets, resourceallocation, and load balancing:v “Scenario: Creating a job definition using a computer resource group” on page

31.This scenario demonstrates the use of a resource group to specify candidatetarget systems.

v “Scenario: Creating a job definition using a logical resource group” on page 31.This scenario demonstrates the use of a resource group to specify logicalresources required for the job..

v “Scenario: Creating a job definition for a job to run on x86 processors” on page32This scenario demonstrates the use of advanced requirements for resources andthe use of resource properties for defining load-balancing rules.

v “Scenario: Creating a job definition for a script to run on a specific operatingsystem” on page 34

30 Tivoli Workload Scheduler: Scheduling Workload Dynamically

This scenario demonstrates the creation of relationships between an operatingsystem type software resource and an additional resource requirement.

v “Scenario: Alternative operating system requirements” on page 35This scenario demonstrates the definition of two resource requirements related tospecific operating system types and a minimum free physical memoryrequirement.

Scenario: Creating a job definition using a computer resourcegroup

In this scenario, a job is created to run the inventory update program, selecting thetarget system from the invadmin resource group set up to include the computersthat are suitable for running the script.

To create a job definition that does this, perform the following steps:1. In the Job Brokering Definition Console select File > New > Job brokering

definition and create a new job definition named compgroupjob. The jobdefinition opens at the Overview page with the job name assigned.

2. Open the Application page and identify and attach the script, as follows:a. In the Type menu, select Executable.b. In the Executable pane, select the Executable File radio button.c. Click Browse and locate the executable file.d. Click OK.

3. Open the Resources page and specify the resource group, as follows:a. Select the Advanced Requirements tab.b. In the Resource Group pane, click Add. The Resource Group Details dialog

box is displayed.c. In the Group Name field, type invadmin (the resource group name, as

defined in the Dynamic Workload Console).4. Select File > Save to save the job definition file.

The JSDL file created for this scenario has the following syntax:<jsdl:jobDefinition xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:jsdl="http://www.ibm.com/xmlns/prod/scheduling/1.0/jsdl"xmlns:jsdle="http://www.ibm.com/xmlns/prod/scheduling/1.0/jsdle"xsi:schemaLocation="http://www.ibm.com/xmlns/prod/scheduling/1.0/jsdl JSDL.xsdhttp://www.ibm.com/xmlns/prod/scheduling/1.0/jsdle JSDL-Native.xsd"description="Run inventory update script on a computer from theinvadmin resource group." name="compgroupjob">

<jsdl:application name="executable"><jsdle:executable path="/opt/invupdate">

</jsdle:executable></jsdl:application><jsdl:resources>

<jsdl:group name="invadmin"/></jsdl:resources>

</jsdl:jobDefinition>

Scenario: Creating a job definition using a logical resourcegroup

In this scenario, the target for the job is determined by several requirementsdefined as logical resources. A resource group has been created to include all thelogical resources required for the job.

Chapter 3. Writing JSDL definitions with the Job Brokering Definition Console 31

To create a job definition that does this, perform the following steps:1. In the Job Brokering Definition Console selectFile > New > Job brokering

definition and create a new job definition named loggroupjob. The jobdefinition opens at the Overview page with the job name assigned.

2. Open the Application page and define the required information for theapplication that the job is to run.

3. Open the Related Resources page and create a requirement for a logicalresource, as follows:a. In the Resource Requirements pane, click Add. The Resource Requirement

Details dialog box is displayed.b. In the ID field, specify a meaningful ID, in this example, loggroup.

4. Open the Resources page and create a relationship to the resource requirement,as follows:a. Select the Advanced Requirements tab.b. In the Relationships pane, click Add. The Relationship Details dialog box is

displayed.c. In the Type menu, select Associates with.d. In the Target menu, select the resource requirement that you created and

click OK.5. Switch back to the Related Resources page and add the logical resource group

as follows:a. In the Resource Group pane, click Add. The Resource Group Details dialog

box is displayed.b. In the Group Name field, type the resource group name, as defined in the

Dynamic Workload Console.6. Select File > Save to save the job definition file.

The JSDL file created for this scenario has the following syntax:<jsdl:jobDefinition xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:jsdl="http://www.ibm.com/xmlns/prod/scheduling/1.0/jsdl"xsi:schemaLocation="http://www.ibm.com/xmlns/prod/scheduling/1.0/jsdl JSDL.xsd"description="A job whose requirements are defined by a number of logicalresources. " name="loggroupjob">

<jsdl:application name="executable"><jsdle:executable path="/opt/myExecutable"></jsdle:executable>

</jsdl:application><jsdl:resources>

<jsdl:relationship target="loggroup" type="AssociatesWith"/></jsdl:resources><jsdl:relatedResources id="loggroup" type="LogicalResource">

<jsdl:group name="logresgroup"/></jsdl:relatedResources>

</jsdl:jobDefinition>

Scenario: Creating a job definition for a job to run on x86processors

In this scenario, a job is created to run the application, appx86. The applicationmust run on a workstation with an x86 processor where the CPU usage between 3and 30%. Load balancing is to be defined by an objective to keep CPU use onmatching resources to a minimum.

To create the job definition, perform the following steps:

32 Tivoli Workload Scheduler: Scheduling Workload Dynamically

1. In the Job Brokering Definition Console select File > New > Job brokeringdefinition and create a new job definition named x86job. The job definitionopens at the Overview page with the job name assigned.

2. Open the Application page and define the required information for the appx86application that the job is to run.

3. Open the Resources page and specify the processor and CPU usagerequirements as follows:a. Select the Advanced Requirements tab.b. Click Add Requirement. The Resource Property Details dialog box is

displayed.c. In the Property Name menu, select CPU Utilization.d. In the Property Value section, select the Range Value radio button and

assign values of 3 to Minimum and 30 to Maximum.e. Click Add Requirement. The Resource Property Details dialog box is

displayed.f. In the Property Name menu, select Processor type.g. In the Property Value section, select the Exact Value radio button and

assign a values of x86.4. Open the Optimization page and specify the load balancing requirement as

follows:a. In the Type menu, select Balance load between resources by optimization

objective.b. In the Resource Type menu, select Computer System.c. In the Resource Property menu, select CPU Utilization.d. In the Optimization Objective menu, select the Minimize.

5. Select File > Save to save the job definition file.

The JSDL file created for this scenario has the following syntax:<jsdl:jobDefinition xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:jsdl="http://www.ibm.com/xmlns/prod/scheduling/1.0/jsdl"xsi:schemaLocation="http://www.ibm.com/xmlns/prod/scheduling/1.0/jsdl JSDL.xsd"description="Job to run on X86 processors" name="x86job"><jsdl:application name="executable">

<jsdle:executable path="/opt/appx86"></jsdle:executable>

</jsdl:application><jsdl:resources>

<jsdl:properties><jsdl:requirement propertyName="CPUUtilization">

<jsdl:range><jsdl:minimum>3</jsdl:minimum><jsdl:maximum>30</jsdl:maximum>

</jsdl:range></jsdl:requirement><jsdl:requirement propertyName="ProcessorType">

<jsdl:exact>x86</jsdl:exact></jsdl:requirement>

</jsdl:properties></jsdl:resources><jsdl:optimization name="JPT_JSDLOptimizationPolicyType">

<jsdl:objective propertyObjective="minimize"resourcePropertyName="CPUUtilization"resourceType="ComputerSystem"/>

</jsdl:optimization></jsdl:optimization></jsdl:jobDefinition>

Chapter 3. Writing JSDL definitions with the Job Brokering Definition Console 33

Scenario: Creating a job definition for a script to run on aspecific operating system

In this scenario, a job is created to run a script on a Red Hat Enterprise Linuxsystem.

By specifying candidate operating systems, you can define the type of operatingsystem on which a job is to run, in this case Linux. To direct the job to a specificflavor of Linux, you must define a related resource and link it to the job resourcesby creating a relationship. To create a job definition that does this, perform thefollowing steps:1. In the Job Brokering Definition Console select File > New > Job brokering

definition and create a new job definition named rhjob. The job definitionopens at the Overview page with the job name assigned.

2. Open the Application page and define the required information for theapplication that the job is to run.

3. Open the Resources page and specify the operating system type requirement,as follows:a. Select the Software Requirements tab.b. In the Candidate Operating Systems pane, click Add. The Operating

System Details dialog box is displayed.c. In the Type menu, select LINUX and click OK.

4. Open the Related Resources page and create a resource requirement for the RedHat flavor of Linux, as follows:a. In the Resource Requirements pane, click Add. The Resource Requirement

Details dialog box is displayed.b. In the ID field, specify a meaningful ID, in this example, redhat.c. In the Type menu, select Operating System.d. In the Resource Properties pane, click Add Requirement. The Resource

Property details dialog box is displayed.e. In the Property Name menu, select Display Name.f. In the Property Value , type Red*.

5.

6. Switch back to the Resources page to link the resource requirement to theoperating system resource.a. Select the Advanced Requirements tab.b. In the Relationships pane, click Add. The Relationship Details dialog box is

displayed.c. In the Type menu, select Contains.d. In the Target menu, select the Red Hat resource requirement that you

created and click OK.7. Select File > Save to save the job definition file.

The JSDL file created for this scenario has the following syntax:<jsdl:jobDefinition xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:jsdl="http://www.ibm.com/xmlns/prod/scheduling/1.0/jsdl"xsi:schemaLocation="http://www.ibm.com/xmlns/prod/scheduling/1.0/jsdlJSDL.xsd" description="Job to run on Red Hat Linux" name="rhjob">

<jsdl:application name="executable"><jsdle:executable path="/opt/myExecutable"></jsdle:executable>

</jsdl:application>

34 Tivoli Workload Scheduler: Scheduling Workload Dynamically

<jsdl:resources> <jsdl:resources><jsdl:candidateOperatingSystems>

<jsdl:operatingSystem type="LINUX"/></jsdl:candidateOperatingSystems><jsdl:relationship target="redhat" type="Contains"/>

</jsdl:resources><jsdl:relatedResources id="redhat" type="OperatingSystem">

<jsdl:properties><jsdl:requirement propertyName="DisplayName">

<jsdl:exact>red*</jsdl:exact></jsdl:requirement>

</jsdl:properties></jsdl:relatedResources>

</jsdl:jobDefinition>

Scenario: Alternative operating system requirementsIn this scenario, a definition is created for a job that can run on either a Linux oran AIX computer.

The job can run on Linux operating systems with a minimum of 512 MB of RAMor on AIX operating systems with a minimum of 1024 MB of RAM. The jobdefinition must include a resource requirement that specifies the two alternativerequirements.

To create job definition for this job, perform the following steps:1. In the Job Brokering Definition Console select File > New > Job brokering

definition and create a new job definition named jobWithRequirementsByOS.The job definition opens at the Overview page with the job name assigned.

2. Open the Application page and define the required information for theapplication that the job is to run.

3. Open the Related Resources page.4. In the Resource Requirements pane, click Add then specify a meaningful value

for the ID field. In this example it is OperatingSystemType.5. In the Resource Properties pane, define the logic that describes the two

alternative operating system requirements, as follows:a. Click Add OR Operand to indicate that you are defining alternatives.b. Highlight the OR operand and click Add AND Operand to indicate that the

alternative includes more than requirement.c. Highlight the AND operand and click Add Requirement.d. In the Resource Property Details dialog, select Operating System Type from

the Property Name menu and type LINUX in the Property value field.e. Highlight the AND operand again and click Add Requirement.f. In the Resource Property Details dialog, select Total Physical Memory from

the Property Name menu and type 512 in the Property value field.g. Highlight the OR operand again and click Add AND Operand to add the

requirements for the second alternative.h. Highlight the new AND operand and click Add Requirement.i. In the Resource Property Details dialog, select Operating System Type from

the Property Name menu and type AIX in the Property value field.j. Highlight the AND operand again and click Add Requirement.k. In the Resource Property Details dialog, select Total Physical Memory from

the Property Name menu and type 1024 in the Property value field.

Chapter 3. Writing JSDL definitions with the Job Brokering Definition Console 35

6. Open the Resources page and create a relationship to the resource requirement,as follows:a. Select the Advanced Requirements tab.b. In the Relationships pane, click Add. The Relationship Details dialog box is

displayed.c. In the Type menu, select Contains.d. In the Target menu, select the resource requirement OperatingSystemType

and click OK.7. Select File > Save to save the job definition file.

The JSDL file created for this scenario has the following syntax:<jsdl:jobDefinition xmlns:jsdl="http://www.ibm.com/xmlns/prod/scheduling/

1.0/jsdl" xmlns:jsdle="http://www.ibm.com/xmlns/prod/scheduling/1.0/jsdle"xmlns:xmi="http://www.omg.org/XMI" xmi:version="2.0" description="This jobhas different requirements for memory based on the operating system it willrun on " name="jobWithRequirementsByOS">

<jsdl:application name="executable"><jsdle:executable path="/opt/myExecutable"></jsdle:executable>

</jsdl:application><jsdl:resources>

<jsdl:relationship target="OperatingSystemType" type="Contains"/></jsdl:resources><jsdl:relatedResources id="OperatingSystemType" type="OperatingSystem">

<jsdl:properties><jsdl:or>

<jsdl:and><jsdl:requirement propertyName="OperatingSystemType">

<jsdl:exact>LINUX</jsdl:exact></jsdl:requirement><jsdl:requirement propertyName="TotalPhysicalMemory">

<jsdl:range><jsdl:minimum>512</jsdl:minimum>

</jsdl:range></jsdl:requirement>

</jsdl:and><jsdl:and>

<jsdl:requirement propertyName="OperatingSystemType"><jsdl:exact>AIX</jsdl:exact>

</jsdl:requirement><jsdl:requirement propertyName="TotalPhysicalMemory">

<jsdl:range><jsdl:minimum>1024</jsdl:minimum>

</jsdl:range></jsdl:requirement>

</jsdl:and></jsdl:or>

</jsdl:properties></jsdl:relatedResources>

</jsdl:jobDefinition>

36 Tivoli Workload Scheduler: Scheduling Workload Dynamically

Chapter 4. Submitting and tracking jobs

Although you should normally use the standard Tivoli Workload Scheduler meansto schedule and submit workload, there is also an additional way to submit jobsdirectly to dynamic scheduling using either the Dynamic Workload Console or thedynamic workload broker command line, described in the next chapter. Thisimplies that you only need to write a JSDL job definition. You do not need to writea job definition in Tivoli Workload Scheduler and the workload broker workstationdoes not come into play. Choosing to do so, however, results in not exploiting thescheduling and choreography services of Tivoli Workload Scheduler. This chapterexplains how to submit and track jobs using the Dynamic Workload Console.

Job definitions are stored in the Job Repository and you search for them and selectthem when the job needs to be submitted. At submission time, you can also specifythat a job run on the same resource as a job that has previously run. The jobdefinition provides all necessary parameters for a job to run, however, you can addto and change the parameters defined in the job definition for the job instance youare submitting. This does not change the job definition stored in the JobRepository.

The lifecycle of a job involves the following sequence of phases:

Using the Dynamic Workload Console, you can manage the whole lifecycle of a jobby performing the following task:v “Monitoring submitted jobs” on page 39

Submitting jobs with affinity relationshipsAn affinity relationship is established between two or more jobs when you wantthem to run on the same resource.

An affinity relationship is useful when the results of one job are required for thenext job to run. You can define an affinity relationship between two or more jobs inthe following ways:v “Submitting a job with affinity from the Dynamic Workload Console”v “Submitting a job with affinity from the command line” on page 38v “Defining affinity relationships” on page 5 in Tivoli Workload Scheduler.

Submitting a job with affinity from the Dynamic WorkloadConsole

To submit a job to run on the same resources as a previous job, do the following:1. In the console navigation tree, expand Definitions and click Jobs.2. Search for a job definition stored in the Job Repository database.3. Select the job definition that you want to submit.4. Click Submit...5. Click Go. The Job Definitions wizard starts.6. You can optionally define an alias for the job by selecting Provide an alias to

the job for this submission. Subsequently, you can use the alias name tosubmit a new job using the jobsubmit command to define an affinityrelationship with the job you are submitting now. You can also use the alias as

© Copyright IBM Corp. 1999, 2012 37

a user-friendly alternative to the job ID when performing queries on jobs fromthe command line or tracking job instances.

7. In the Target Resource area, select the option Specify that this job runs onthe same resources as a previous job.

8. Click Next. If you selected to specify an alias, then you are prompted toprovide the alias name. Click Next.

9. Search and select the job with which you want to establish an affinityrelationship. The current job will then run on the same resource as the job youselect. Click Next.

10. On the summary page, review your selections and click Finish to submit thejob.

The job is submitted on the same resources as the job you selected. You can nowcheck the job status by selecting Tracking > Job Instances from the navigation. See“Monitoring submitted jobs” on page 39 for more information.

Submitting a job with affinity from the command lineThe jobsubmit command requires a job ID or an alias name for the affine job.

Submit the following command to make the job defined in job definitionWinJob2.jsdl, with the alias WJ220070606, run on the same resource as thepreviously run job, WinJob1, which was submitted with the alias, WJ120070606:jobsubmit -jsdl WinJob2.jsdl -alias WJ220070606 -affinity alias=WJ120070606

Submitting jobs with variablesWhen you submit a job, you can define or change a variable to be used by the job.

During job submission, you can define variables that are to be used by the jobitself or to assign the job to a resource. You can add new variables or override thedefault values for variables that are included in the job definition. For moreinformation about including variables in the job definitions see “Using variables injob definitions” on page 27.

Submitting a job with variables from the command lineThe jobsubmit command submits jobs from the command line interface. You caninclude arguments to change the value of predefined variables and add new ones.For example, the job definition for Job1 includes the variable memory with the value512 which is used to set the free physical memory requirement. To increase therequirement to 1024 when submitting the job, issue the following command:jobsubmit -jdname Job1 -var memory=1024

38 Tivoli Workload Scheduler: Scheduling Workload Dynamically

Job statusesThis section describes all supported statuses for a job as returned both by thecommand line interface and by the Dynamic Workload Console. It also lists theoperations a user can perform depending on the status the job is in.

Table 5. Job statuses and supported operations

DynamicWorkloadConsole status

Icon Command line statusYou can cancelthe job

You can browsethe job output

You candefineaffinity

Run failed RED FAILED_EXECUTION

' '

Resourceallocation failed

RED RESOURCE_ALLOCATION_FAILED

Unable to start RED NOT_EXECUTED '

Unknown YELLOW UNKNOWN ' '

Submitted WAITING SUBMITTED '

Waiting forresources

WAITING WAITING_FOR_RESOURCES

'

Resourceallocationreceived

WAITING RESOURCE_ALLOCATION_RECEIVED

'

Submitted toagent

WAITING SUBMITTED_TO_ENDPOINT

' '

Waiting forreallocation

WAITING RESOURCE_REALLOCATE

'

Cancel pending ABORT PENDING_CANCEL

' '

Cancel allocation ABORT CANCEL_ALLOCATION

' '

Canceled ABORT CANCELLED ' '

Running RUNNING EXECUTING ' ' '

Completedsuccessfully

GREEN SUCCEEDED_EXECUTION

' '

Note: You can define an affinity relationship with a job in Canceled state only ifthe job was canceled while running.

Monitoring submitted jobsA job instance is a job that is submitted to run at a specific time. You can track theoutcome of a submitted job from the Dynamic Workload Console.

Prerequisite:A job must be submitted to dynamic workload broker before you canview its instances. Submitted jobs are stored in the Job Repository for a defaulttime interval. See the Tivoli Workload Scheduler: Administration Guide, SC23-9113 forinformation about configuring this interval in the JobDispatcherConfig.propertiesfile. You can access the following information about job instances:v Status of the job instance.v The host name of the computer where the job instance ran.

Chapter 4. Submitting and tracking jobs 39

v The return code of the job instance.v The date and time the job was submitted.v The date and time the job started and finished running.

For example, to view all jobs that have resulted in error within the last 24 hours,follow these steps:1. In the console navigation tree, expand Tracking and click Job Instances. The

Track Job Instance Search Criteria page is displayed2. Specify the search criteria for the job instances as follows:

a. In the Submission Time section, select the Last 24 Hours radio button.b. In the Job Status section, select Error Conditions.c. Click Search.

The results are displayed in the Job Tracking page.

As an alternative, you can take the following steps:1. In the console navigation tree, expand Definitions and click Jobs. The Job

Definition Search Criteria page is displayed.2. Specify the search criteria for the job definition associated with the job instance

that you want to view.3. Select the job for which you want to show instances.4. Click Show Instances. The results are displayed in the Job Definitions Search

Result page.

Once a job is submitted to the Job Dispatcher, it goes through the phases of jobscheduling, allocation of resources, and finally, job execution. Problems might occuralong the way, and there are specific job statuses that identify at which pointthings went wrong. The following is a list of job statuses that a job can assumeafter it is submitted to be run:

Job completing successfullyThe job goes through the following statuses: Submitted > Waiting forresources > Resource allocation received > Submitted to agent > Running> Completed successfully.

Job being canceledThe job goes through the following statuses: Submitted > Waiting forresources > Resource allocation received > Submitted to agent > Running> Cancel pending > Canceled.

Job being reallocatedThe job is allocated to a computer which is temporarily unreachable, forexample because of a network problem. The job goes through thefollowing statuses: Submitted > Waiting for resources > Resourceallocation received > Waiting for reallocation > Waiting for resources .

Job encountering an errorThere can be several reasons for the error. Here are some examples:v The job encounters an error because the selected working directory does

not exist on the target system. The job goes through the followingstatuses: Submitted > Waiting for resources > Resource allocationreceived > Submitted to agent > Unable to start. As the job cannotstart, no output is available.

40 Tivoli Workload Scheduler: Scheduling Workload Dynamically

v The job requires an operating system which is not available in theenvironment. The job goes through the following statuses: Submitted >Waiting for resources > Resource allocation failed.

v The job encounters an error because one of the parameters specified inthe job is not supported on the target system. The job goes through thefollowing statuses: Submitted > Waiting for resources > Resourceallocation received > Submitted to agent > Running > Run failed.

When viewing the job instance details for this job Job Tracking page, thereason for the error is displayed. You can also use the ID indicated in theIdentifier field to retrieve more information on the job results, which isstored in a series of log files on the computer where the job ran. The nameof the computer where the job ran is also indicated in the Job Trackingpage. Locate the computer and analyze the log files available in the foldernamed with the job ID in the following path:TWA_home/TWS/stdlist/JM/yyyy.mm.dd/archive

Every job has a compressed file whose name is the job ID, for example:ed1d4933-964b-3f5e-8c73-f720919491d6.zip

The compressed file contains the following:

diagnostics.logMay or may not include diagnostic information.

jm_exit.propertiesIncludes the return code as well as other job statistics, like CPUand memory usage.

out.logIncludes the full job output.

trace.logIncludes the output trace of the task launcher process spawned bythe Tivoli Workload Scheduler agent to run the job.

trace.log_cmdIncludes the command used to run the task launcher.

Chapter 4. Submitting and tracking jobs 41

42 Tivoli Workload Scheduler: Scheduling Workload Dynamically

Chapter 5. Using the command line interface

Dynamic workload broker provides a command line for running a set ofcommands. You can use the command line interface to save, submit, query,monitor, cancel jobs, and view the job output. You can also archive database tables.

Commands are stored in the following location on the master domain manager:TWA_home/TDWB/bin

The following commands are available:

Table 6. Dynamic workload broker commands

Command Purpose See

exportserverdata Downloads the list ofdynamic workload brokerinstances from the TivoliWorkload Scheduler databaseto a temporary file. Use torecord a port number or hostname change.

the section aboutexportserverdata commandin Tivoli Workload Scheduler:User's Guide and Reference

importserverdata Uploads the list of dynamicworkload broker instancesfrom the temporary file tothe Tivoli WorkloadScheduler database after youare done recording a portnumber or host namechange.

the section aboutimportserverdata commandin Tivoli Workload Scheduler:User's Guide and Reference

jobsubmit Submits a job to the JobDispatcher.

“jobsubmit command -Submitting jobs” on page 47

jobdetails Returns property informationfor the specified job.

“jobdetails command -Viewing details on jobs” onpage 52

jobquery Returns a list of submittedjobs matching the selectioncriteria.

“jobquery command -Performing queries on jobs”on page 49

jobcancel Cancels a submitted job. “jobcancel command -Canceling jobs” on page 54

jobstore Manages job definitions. “jobstore command -Managing job definitions” onpage 55

jobgetexecutionlog Displays the results ofsubmitted jobs.

“jobgetexecutionlogcommand - Viewing joboutput” on page 57

movehistorydata Moves data present in theJob Repository database tothe archive tables.

the section aboutmovehistorydata commandin Tivoli Workload Scheduler:User's Guide and Reference

resource Creates and managesresources and groups.Manages associatedcomputers.

the section about resourcecommand in Tivoli WorkloadScheduler: User's Guide andReference

© Copyright IBM Corp. 1999, 2012 43

Command-line syntax

This chapter uses the following special characters to define the syntax ofcommands:

[] Identifies optional attributes. Attributes not enclosed in brackets arerequired.

... Indicates that you can specify multiple values for the previous attribute.

| Indicates mutually exclusive information. You can use the attribute to theleft of the separator or the attribute to its right. You cannot use bothattributes in a single use of the command.

{} Delimits a set of mutually exclusive attributes when one of the attributes isrequired. If the attributes are optional, they are enclosed in square brackets([]).

\ Indicates that the syntax in an example wraps to the next line.

Command-line configuration fileThe CLIConfig.properties file contains configuration information which is usedwhen typing commands. By default, arguments required when typing commandsare retrieved from this file, unless explicitly specified in the command syntax.

The CLIConfig.properties file is created at installation time and is located on themaster domain manager in the following path:TWA_home/TDWB/config

The CLIConfig.properties file contains the following set of parameters:

Dynamic workload broker default properties

ITDWBServerHostSpecifies the IP address of dynamic workload broker.

ITDWBServerPortSpecifies the number of the dynamic workload broker port. Thedefault value is 9550.

ITDWBServerSecurePortSpecifies the number of the dynamic workload broker port whensecurity is enabled. The default value is 9551.

use_secure_connectionSpecifies whether secure connection must be used. The defaultvalue is false.

KeyStore and trustStore file name and path

keyStoreSpecifies the name and path of the keyStore file containing privatekeys. A keyStore file contains both public keys and private keys.Public keys are stored as signer certificates while private keys arestored in the personal certificates. The default value is/Certs/TDWBClientKeyFile.jks.

trustStoreSpecifies the name and path of the trustStore file containing public

44 Tivoli Workload Scheduler: Scheduling Workload Dynamically

keys. A trustStore file is a key database file that contains publickeys. The public key is stored as a signer certificate. The keys areused for a variety of purposes, including authentication and dataintegrity. The default value is /Certs/TDWBClientTrustFile.jks.

Passwords for keyStore and trustStore files

keyStorepwdSpecifies the password for the keyStore file.

trustStorepwdSpecifies the password for the trustStore file.

File types for keyStore and trustStore files

keyStoreTypeSpecifies the file type for the keyStore file. The default value is JKS.

trustStoreTypeSpecifies the file type for the trustStore file. The default value isJKS.

Default user ID and password for dynamic workload broker

tdwb_userSpecifies the user name for a user authorized to performoperations on dynamic workload broker when security is enabled.The default value is ibmschedcli. This password must bepreviously defined on IBM WebSphere. For more information onsecurity considerations, see the Tivoli Workload Scheduler:Administration Guide, SC23-9113.

tdwb_pwdSpecifies the password for a user authorized to perform operationson dynamic workload broker when security is enabled. Thispassword must be previously defined on IBM WebSphere . Formore information on security considerations, refer to TivoliWorkload Scheduler: Administration Guide.

Detail level for command-line log and trace information

logger.LevelSpecifies the detail level for the command-line trace and log files.The command-line trace and log files are created in the followinglocation:

log fileTWA_home/TDWB/logs/Msg_cli.log.log

trace fileTWA_home/TDWB/logs/Trace_cli.log

The default value is INFO.

logger.consoleLevelSpecifies the detail level for the log and trace information to bereturned to standard output. The default value is FINE. Supportedvalues for both the consoleLevel and loggerLevel parameters areas follows:

ALL Indicates that all messages are logged.

SEVEREIndicates that serious error messages are logged.

Chapter 5. Using the command line interface 45

WARNINGIndicates that warning messages are logged.

INFO Indicates that informational messages are logged.

CONFIGIndicates that static configuration messages are logged.

FINE Indicates that tracing information is logged.

FINERIndicates that detailed tracing information is logged.

FINESTIndicates that highly detailed tracing information is logged.

OFF Indicates that logging is turned off.

logger.limitSpecifies the maximum size of a log file in bytes. The default valueis 400000. When the maximum size is reached, a new file iscreated, until the maximum number of files is reached. When allfiles reach the maximum size and the maximum number of files isexceeded, the oldest file is re-written.

logger.countSpecifies the maximum number of log files. The default value is 6.When the maximum size is reached, a new file is created, until themaximum number of files is reached. When all files reach themaximum size and the maximum number of files is exceeded, theoldest file is re-written. When a new file is created the 0 suffix isappended after the file extension. The file with the 0 suffix isalways the current file. Any older files are renumbered accordingly.

java.util.logging.FileHandler.patternSpecifies that the trace information for the Java™ Virtual Machine islogged in the Trace_cli.log file. The default value is INFO.

java.util.logging.FileHandler.limitSpecifies the maximum size of a trace file in bytes. The defaultvalue is 400000. When the maximum size is reached, a new file iscreated, until the maximum number of files is reached. When allfiles reach the maximum size and the maximum number of files isexceeded, the oldest file is re-written.

java.util.logging.FileHandler.countSpecifies the maximum number of trace files. The default value is6. When the maximum size is reached, a new file is created, untilthe maximum number of files is reached. When all files reach themaximum size and the maximum number of files is exceeded, theoldest file is re-written. When a new file is created the 0 suffix isappended after the file extension. The file with the 0 suffix isalways the current file. Any older files are renumbered accordingly.

java.util.logging.FileHandler.formatterSpecifies the formatter to be used for the Trace_cli.log file. Thedefault value is com.ibm.logging.icl.jsr47.CBEFormatter.

DAO common configurationThis section defines the RDBMS settings for the exportserverdata,importserverdata, and movehistorydata commands. These commands usethe RDBMS installed on dynamic workload broker These parameters are

46 Tivoli Workload Scheduler: Scheduling Workload Dynamically

valorized at installation time and should not be modified, except forcom.ibm.tdwb.dao.rdbms.useSSLConnections as noted below.

com.ibm.tdwb.dao.rdbms.rdbmsNameSpecifies the RDBMS name.

com.ibm.tdwb.dao.rdbms.useDataSourceSpecifies the data source to be used.

com.ibm.tdwb.dao.rdbms.jdbcPathSpecifies the path to the JDBC driver.

com.ibm.tdwb.dao.rdbms.jdbcDriverSpecifies the JDBC driver.

com.ibm.tdwb.dao.rdbms.userNameSpecifies the name of the RDBMS user.

com.ibm.tdwb.dao.rdbms.passwordSpecifies the password of the RDBMS user.

com.ibm.tdwb.dao.rdbms.useSSLConnectionsSpecifies that access to the Tivoli Workload Scheduler DB2database by some of the CLI commands is over SSL. Is set to FALSEby default. You must set to TRUE, if the database is DB2 and youuse FIPS security, for the following commands to work:v exportserverdata

v importserverdata

v movehistorydata

jobsubmit command - Submitting jobsUse the jobsubmit command to submit jobs to the Job Dispatcher.

Syntax

jobsubmit ?

jobsubmit [-usr user_name -pwd password] {-jsdl jsdl_file | -jdnamejob_definition_name} [-alias job_alias] [-var variable=value...] [-affinity {jobid=job_id |alias=alias}] [-configFile configuration_file]

Description

This command submits a job to the Job Dispatcher. When the job is submitted, it isassigned a unique ID, which can be used for retrieving information on andcanceling jobs.

You can use this command to submit jobs saved locally on the dynamic workloadbroker server or saved in the Job Repository. To submit a local job, use the -jsdloption and specify the path to the JSDL file. To submit a job saved in the JobRepository, use the -jdname option and specify the job definition name.

When submitting jobs, you can also define an alias to be used as an alternative tothe job ID when performing queries on the job, or for defining subsequent jobs asaffine. To define affinity between two or more jobs, use the -affinity option whensubmitting the subsequent jobs. You define jobs as affine when you want them torun on the same resource, for example when the second job must use the resultsgenerated by the previous job.

Chapter 5. Using the command line interface 47

Options

? Displays help information.

-usr user_nameSpecifies the username for a user authorized to perform operations on thecommand line. This parameter is required when security is enabled and theusername is not defined in the CLIConfig.properties configuration file (withthe tdwb_user keyword).

-pwd passwordSpecifies the password for a user authorized to perform operations on thecommand line. This parameter is required when security is enabled and thepassword is not defined in the CLIConfig.properties configuration file (withthe tdwb_pwd keyword).

-jsdl jsdl_fileSpecifies the name and path to a local JSDL file which provides the parametersfor a job when it is submitted. This parameter is required when the jdnameparameter is not specified.

-jdname job_definition_nameSpecifies the name of a job definition stored in the Job Repository database.The job definition name is defined within the JSDL file and can be modifiedonly by editing the JSDL file. This parameter is required when the jsdlparameter is not specified. To obtain this name, you can use the Definitions >Jobs task from the Dynamic Workload Console console navigation tree, or thejobstore command specifying one or more of the query options. For moreinformation on the jobstore command, see “jobstore command - Managing jobdefinitions” on page 55.

-alias job_aliasIndicates that an alias must be generated for the job being submitted. You canuse the alias as a user-friendly alternative to the job ID when performingqueries on the job. You can also use the alias when submitting new jobs so thatthe new job is affine to the job having this alias. To define affinity between twoor more jobs, use the -affinity option when submitting the new jobs. Youdefine jobs as affine when you want them to run on the same resource. OnWindows systems, the maximum length for the alias is 200 characters, if youused the default installation paths for WebSphere Application Server anddynamic workload broker.

-var variable=valueSpecifies a variable and the associated value. You can also specify a list ofvariables by separating them with a comma. This value overrides the valuespecified when creating the JSDL file. You can also specify new variableswithout previously defining them in the JSDL file.

-affinity jobid=job_idSpecifies that the current job is affine to a previously submitted job. Toestablish the affinity relationship, specify the job ID for the previous job. Thejob ID is automatically generated at submission time.

-affinity alias=aliasSpecifies that the current job is affine to a previously submitted job. Toestablish the affinity relationship, specify the job alias for the previous job. Thejob alias is generated at submission time when you specify the -alias option.

-configFile configuration_fileSpecifies the name and path of a custom configuration file. This parameter is

48 Tivoli Workload Scheduler: Scheduling Workload Dynamically

optional. If this parameter is not specified, the default configuration file isassumed. For more information on the configuration file, see “Command-lineconfiguration file” on page 44.

Authorization

The user name and password for the command are defined in theCLIConfig.properties file. To override the settings defined in this file, you can enterthe user name and password when typing the command. For more information onthe CLIConfig.properties file, see “Command-line configuration file” on page 44.

Return Values

The jobsubmit command returns one of the following values:0 Indicates that jobsubmit completed successfully.< > 0 Indicates that jobsubmit failed.

Examples1. To submit the local job test_job located in the /staging_area/accounts/ path

using the configuration parameters specified in the custom_config.propertiesconfiguration file, type the following command:jobsubmit -jsdl /staging_area/accounts/test_job -configFile/opt/test/custom_config.properties

2. To submit the job definition domestic_accounts saved in the Job Repository,type the following command:jobsubmit -jdname domestic_accounts

See Also

“jobdetails command - Viewing details on jobs” on page 52

jobquery command - Performing queries on jobsUse the jobquery command to perform advanced queries on submitted jobs.

Syntax

jobquery ?

jobquery [-usr user_name -pwd password] {[-status status...] [-submitter submitter][-name job_definition_name] [-alias job_alias] [-sdf submit_date_from] [-sdtsubmit_date_to] [-jsdf job_start_date_from] [-jsdt job_start_date_to ] [-jedfjob_end_date_from] [-jedt job_end_date_to]} [-configFile configuration_file]

Description

This command performs advanced queries on submitted jobs based on thefollowing attributes:v job statusv name of the user who submitted the jobv job namev job aliasv job submission datev job start date

Chapter 5. Using the command line interface 49

v job completion date

You can also use this command to retrieve the job ID generated at submissiontime, which is required when running the jobstatus, jobdetails and jobcancelcommands. To retrieve the job ID, specify the -name option.

Options

? Displays help information.

-usr user nameSpecifies the user name for a user authorized to perform operations on thecommand line. This option is required when security is enabled and the username is not defined in the CLIConfig.properties configuration file (with thetdwb_user keyword).

-pwd passwordSpecifies the password for a user authorized to perform operations on thecommand line. This option is required when security is enabled and thepassword is not defined in the CLIConfig.properties configuration file (withthe tdwb_pwd keyword).

-status statusSpecifies the status of the jobs to be searched. Separate statuses using commas;spaces are not supported. Supported statuses are as follows:

0 all supported statuses

1 submitted

2 waiting for resources

3 resource allocation received

4 submitted to agent

5 running

6 cancel pending

7 canceling allocation

8 waiting for reallocation

10 bound

41 resource allocation failed

42 run failed

43 completed successfully

44 canceled

45 unknown job

46 job not started

48 error

-submitter submitterSpecifies the name of the user who submitted the job.

-name job_definition_nameSpecifies the job name. This option returns the unique job ID, which can beused for retrieving information on and canceling jobs. This option supports theasterisk (*) wildcard character as described below:

50 Tivoli Workload Scheduler: Scheduling Workload Dynamically

as a single parameterit must be enclosed in inverted commas, for exampleC:\Program Files\TDWB\bin>jobquery -name "*"

This command returns a list of all submitted jobs.

to complete a job nameit does not require inverted commas, for exampleC:\Program Files\TDWB\bin>jobquery -name batchsub*

This command returns a list of all submitted jobs starting with thebatchsub suffix.

-alias job_aliasSpecifies the job alias. The job alias is generated at submission time using the-alias option. For more information see “jobsubmit command - Submittingjobs” on page 47.

-sdf submit_date_fromSpecifies a time range starting from the date when the job was submitted. Thequery is performed starting from the date you specified to the present date,unless the -sdt option is specified. Use both the -sdf and -sdt options to definea specific time range. Specify the date in the dd/MM/yyyy-hh:mm:ss format.

-sdt submit_date_toSpecifies a time range starting from the date when the job was submitted. Thequery is performed starting from the date when the dynamic workload brokerdatabase was populated to the date you specified, unless the -sdf option isspecified. Use both the -sdf and -sdt options to define a specific time range.Specify the date in the dd/MM/yyyy-hh:mm:ss format.

-jsdf job_start_date_fromSpecifies a time range starting from the date when the job started. The query isperformed starting from the date you specified to the present date, unless the-jsdt option is specified. Use both the -jsdf and -jsdt options to define aspecific time range. Specify the date in the dd/MM/yyyy-hh:mm:ss format.

-jsdt job_start_date_toSpecifies a time range starting from the date when the job started. The query isperformed starting from the date when the dynamic workload broker databasewas populated to the date you specified, unless the -jsdf option is specified.Use both the -jsdf and -jsdt options to define a specific time range. Specify thedate in the dd/MM/yyyy-hh:mm:ss format.

-jedf job_end_date_fromSpecifies a time range starting from the date when the job completed. Thequery is performed starting from the date you specified to the present date,unless the -jedt option is specified. Use both the -jedf and -jedt options todefine a specific time range. Specify the date in the dd/MM/yyyy-hh:mm:ssformat.

-jedt job_end_date_toSpecifies a time range starting from the date when the job completed. Thequery is performed starting from the date when the dynamic workload brokerdatabase was populated to the date you specified, unless the -jedf option isspecified. Use both the -jedf and -jedt options to define a specific time range.Specify the date in the dd/MM/yyyy-hh:mm:ss format.

-configFile configuration_fileSpecifies the name and path of a custom configuration file. This option is

Chapter 5. Using the command line interface 51

optional. If this option is not specified, the default configuration file isassumed. For more information on the configuration file, see “Command-lineconfiguration file” on page 44.

Authorization

The user name and password for the command are defined in theCLIConfig.properties file. To override the setting defined in this file, you can enterthe user name and password when typing the command. For more information onthe CLIConfig.properties file, see “Command-line configuration file” on page 44.

Return Values

The jobquery command returns one of the following values:0 Indicates that jobquery completed successfully.< > 0 Indicates that jobquery failed.

Examples1. To retrieve the job ID for a job named CLIJSB11, type the following command:

jobquery -usr john -pwd BCA12EDF -name CLIJSB11

The following output is displayed. The job ID is associated to the Job Identifierkey:Call Job Dispatcher to query jobs. There are 10 Jobs found for your requestDetails are as follows:

Job Name: CLIJSB11Job Alias: aliasJob Identifier: 617c9bf7095787c83e1c36744e569cebStatus: FAILED_runningJob EPR: http://lab135200.romelab.it.ibm.com:955/JDServiceWS/services/JobJob Submitter Name:Submit Time: Tue May 23 15:41:54 CEST 2006Start Time: Tue May 23 14:48:09 CEST 2006End Time: Tue May 23 14:48:09 CEST 2006Job Last Status Message:Job Duration: PT0SReturncode: 0Job Resource Name: LAB237010Job Resource Type: ComputerSystem

2. To retrieve all jobs submitted by test_user in submitted, resource allocationfailed, and canceled state, type the following command:jobquery -status 1,3,44 -submitter test_user

See Also

“jobsubmit command - Submitting jobs” on page 47

jobdetails command - Viewing details on jobsUse the jobdetails command to view details on submitted jobs.

Syntax

jobdetails ?

52 Tivoli Workload Scheduler: Scheduling Workload Dynamically

jobdetails [-usr user_name -pwd password] -id job_ID [-v ][-configFileconfiguration_file]

Description

This command displays details on submitted jobs using the unique ID created atjob submission. To retrieve the job ID after submitting the job, use the jobquerycommand specifying the -name parameter.

Options

? Displays help information.

-usr usernameSpecifies the username for a user authorized to perform operations on thecommand line. This parameter is required when security is enabled and theusername is not defined in the CLIConfig.properties configuration file (withthe tdwb_user keyword).

-pwd passwordSpecifies the password for a user authorized to perform operations on thecommand line. This parameter is required when security is enabled and thepassword is not defined in the CLIConfig.properties configuration file (withthe tdwb_pwd keyword).

-id job_IDSpecifies the unique job ID created at submission time. This parameter isrequired.

-vDisplays job details.

-configFile configuration_fileSpecifies the name and path of a custom configuration file. This parameter isoptional. If this parameter is not specified, the default configuration file isassumed. For more information on the configuration file, see “Command-lineconfiguration file” on page 44.

Authorization

The user name and password for the command are defined in theCLIConfig.properties file. To override the setting defined in this file, you can enterthe user name and password when typing the command. For more information onthe CLIConfig.properties file, see “Command-line configuration file” on page 44.

Return Values

The jobdetails command returns one of the following values:0 Indicates that jobdetails completed successfully.< > 0 Indicates that jobdetails failed.

Examples1. To view run information on a job with ID 617c9bf7095787c83e1c36744e569ceb,

type the following command:jobdetails -id 617c9bf7095787c83e1c36744e569ceb

An output similar to the following is displayed:

Chapter 5. Using the command line interface 53

Call Job Dispatcher to get the job properties.Success return from Job Dispatcher.Job Identifier: 617c9bf7095787c83e1c36744e569cebJob Name: CLIJSB11Job Alias: aliasJob State: SUBMITTEDJob Submitter: nullClient Notification: http://lab135200.romelab.it.ibm.com:9550/RAServiceWS/services/AllocationJob Last Status Message:Job Submit Time: Tue May 23 15:43:44 CET 2009Job Start Time: Tue May 23 14:49:51 CET 2009Job End Time: Tue May 23 14:49:51 CET 2009Job Duration: PT0SJob Return Code: 0Job Resource Name: LAB237010Job Resource Type: ComputerSystemJob Usage Metric Name: StartTimeJob Usage Metric Type: nullJob Usage Metric Value: 1148388591000Job Usage Metric Name: EndTimeJob Usage Metric Type: nullJob Usage Metric Value: 1148388591000

2. To submit the job with ID 617l9jw7095787g83f1c36744e569glf using theconfiguration parameters specified in the custom_config.propertiesconfiguration file, type the following command:jobdetails -id 617l9jw7095787g83f1c36744e569glf -configFile/opt/test/custom_config.properties

3. To view the status of a job with ID 617c9bf7095787c83e1c36744e569ceb, typethe following command:jobdetails -id 617c9bf7095787c83e1c36744e569ceb

An output similar to the following is displayed:Call Job Dispatcher to get the job properties.Success return from Job Dispatcher.Job ID: 617c9bf7095787c83e1c36744e569cebStatus: SUBMITTED

4. To view details on the job with ID 617c9bf7095787c83e1c36744e569ceb usingthe configuration parameters specified in the custom_config.propertiesconfiguration file, type the following command:jobdetails -jsdl 617c9bf7095787c83e1c36744e569ceb -configFile/opt/test/custom_config.properties

See Alsov “jobsubmit command - Submitting jobs” on page 47v “jobquery command - Performing queries on jobs” on page 49

jobcancel command - Canceling jobsUse the jobcancel command to cancel a submitted job.

Syntax

jobcancel ?

jobcancel [-usr user_name -pwd password] -id job_ID [-configFile configuration_file]

54 Tivoli Workload Scheduler: Scheduling Workload Dynamically

Description

This command cancels the running of submitted jobs using the unique ID createdat job submission. To retrieve the job ID after submitting the job, you can use thejobquery command specifying the job name.

Options

? Displays help information.

-usr user_nameSpecifies the username for a user authorized to perform operations on thecommand line. This parameter is required when security is enabled and theusername is not defined in the CLIConfig.properties configuration file (withthe tdwb_user keyword).

-pwd passwordSpecifies the password for a user authorized to perform operations on thecommand line. This parameter is required when security is enabled and thepassword is not defined in the CLIConfig.properties configuration file (withthe tdwb_pwd keyword).

-id job_IDSpecifies the unique job ID created at submission time. This parameter isrequired.

-configFile configuration_fileSpecifies the name and path of a custom configuration file. This parameter isoptional. If this parameter is not specified, the default configuration file isassumed. For more information on the configuration file, see “Command-lineconfiguration file” on page 44.

Authorization

The user name and password for the command are defined in theCLIConfig.properties file. To override the settings defined in this file, you can enterthe user name and password when typing the command. For more information onthe CLIConfig.properties file, see “Command-line configuration file” on page 44.

Return Values

The jobcancel command returns one of the following values:0 Indicates that jobcancel completed successfully.< > 0 Indicates that jobcancel failed.

Examples1. To cancel the running of a job with ID 617l9jq7037529f83x1w36185e569fwl, type

the following command:jobcancel -id 617l9jq7037529f83x1w36185e569fwl

See Also

“jobsubmit command - Submitting jobs” on page 47

jobstore command - Managing job definitionsUse the jobstore command to manage job definitions.

Chapter 5. Using the command line interface 55

Syntax

jobstore ?

jobstore [-usr user_name -pwd password]{[ -create jsdl_file ] | [ -update jsdl_file ] |[-del job_definition_name ] | [ -get job_definition_name ] | [-queryall ] | [[-queryname job_definition_name...] [ -querydesc job_definition_desc...] [-queryownerjob_definition_owner... ]]} [ -configFile configuration_file }

Description

This command saves and updates JSDL files in the Job Repository. JSDL files aresaved in the database as job definitions with unique names. After saving JSDL filesin the database, you can perform the following operations on job definitions:v Delete job definitionsv Print job definitions to standard output or save them to a filev Perform queries on job definitions based on several attributes

You can submit job definitions using the jobsubmit command. For moreinformation about the jobsubmit command, see “jobsubmit command - Submittingjobs” on page 47.

Options

? Displays help information.

-usr usernameSpecifies the user name for a user authorized to perform operations on thecommand line. This parameter is required when security is enabled and theuser name is not defined in the CLIConfig.properties configuration file (withthe tdwb_user keyword).

-pwd passwordSpecifies the password for a user authorized to perform operations on thecommand line. This parameter is required when security is enabled and thepassword is not defined in the CLIConfig.properties configuration file (withthe tdwb_pwd keyword).

-create jsdl_fileSpecifies the name and path to a JSDL file to be saved in the Job Repositorydatabase. The JSDL file is saved as a job definition. The name for the jobdefinition is saved within the JSDL file and can be only modified by editingthe JSDL file. Delete and retrieve (get) operations are performed on the jobdefinition.

-update jsdl_fileSpecifies the name and path to a JSDL file to be updated in the Job Repositorydatabase. The JSDL file must be existing in the database.

-del job_definition_nameDeletes a job definition from the Job Repository database.

-get job_definition_namePrints the JSDL file contained in the job definition to standard output or to afile you specify. You can use this command for performing minor editing onjob definitions.

56 Tivoli Workload Scheduler: Scheduling Workload Dynamically

-queryallPerforms a query without any filters. This query returns all job definitionsstored in the dynamic workload broker database.

-queryname job_definition_namePerforms a search on job definitions based on the job definition name. The jobdefinition name is unique. This parameter is case-sensitive. Wildcards (*, ?) aresupported.

-querydesc job_definition_descPerforms a search on job definitions based on the job definition description.Wildcards are supported.

-queryowner job_definition_ownerPerforms a search on job definitions based on the user who created the jobdefinition.

-configFile configuration_fileSpecifies the name and path of a custom configuration file. This parameter isoptional. If this parameter is not specified, the default configuration file isassumed. For more information about the configuration file, see“Command-line configuration file” on page 44.

Authorization

The user name and password for the command are defined in theCLIConfig.properties file. To override the setting defined in this file, you can enterthe user name and password when typing the command. For more informationabout the CLIConfig.properties file, see “Command-line configuration file” on page44.

Return Values

The jobstore command returns one of the following values:0 Indicates that jobstore completed successfully.< > 0 Indicates that jobstore failed.

Examples1. To retrieve all jobs created by user Administrator, type the following

command:jobstore -queryuser Administrator

2. To update the job branch_update already stored in the Job repository database,type the following command:jobstore -update ../jsdl/branch_update.xml

See Alsov “jobsubmit command - Submitting jobs” on page 47v “jobquery command - Performing queries on jobs” on page 49

jobgetexecutionlog command - Viewing job outputUse the jobgetexecutionlog command to view the output of a submitted job.

Syntax

jobgetexecutionlog ?

Chapter 5. Using the command line interface 57

jobgetexecutionlog [-usr user_name -pwd password] -id job_ID -sizePage size Page-offset offset [-configFile configuration_file]

Description

This command displays the job output for submitted jobs using the unique IDcreated at job submission. To retrieve the job ID after submitting the job, you canuse the jobquery command specifying the job name. You can also specify thelength of the output page to be displayed and the number of the byte in the joboutput from where you want to start displaying the output.

Options

? Displays help information.

-usr user_nameSpecifies the username for a user authorized to perform operations on thecommand line. This parameter is required when security is enabled and theusername is not defined in the CLIConfig.properties configuration file (withthe tdwb_user keyword).

-pwd passwordSpecifies the password for a user authorized to perform operations on thecommand line. This parameter is required when security is enabled and thepassword is not defined in the CLIConfig.properties configuration file (withthe tdwb_pwd keyword).

-id job_IDSpecifies the unique job ID created at submission time. This parameter isrequired.

-sizePage size PageSpecifies the number of bytes to be displayed in the job output page.

-offset offsetSpecifies the number of the first byte to be displayed in the job output page.This option can be used to view large job outputs.

-configFile configuration_fileSpecifies the name and path of a custom configuration file. This parameter isoptional. If this parameter is not specified, the default configuration file isassumed. For more information on the configuration file, see “Command-lineconfiguration file” on page 44.

Authorization

The user name and password for the command are defined in theCLIConfig.properties file. To override the settings defined in this file, you can enterthe user name and password when typing the command. For more information onthe CLIConfig.properties file, see “Command-line configuration file” on page 44.

Return Values

The jobgetexecutionlog command returns one of the following values:0 Indicates that jobgetexecutionlog completed successfully.< > 0 Indicates that jobgetexecutionlog failed.

58 Tivoli Workload Scheduler: Scheduling Workload Dynamically

Examples1. To view the output of a job with ID 617l9jq7037529f83x1w36185e569fwl

displaying the output in pages containing 400® bytes starting from the first bytein the page, type the following command:jobgetexecutionlog -id 617l9jq7037529f83x1w36185e569fwl -sizePage 400 -offset 1

The following output is displayed:Call Job Dispatcher to get the output of the jobSuccess returned from Job DispatcherGet Execution Log request submittedThe Execution Log Page requested is:al 5drwxrwxrwx 7 root root 200 Aug 24 16:39 .drwxrwxrwx 8 root root 208 Aug 22 15:11 ..drwxrwxrwx 6 root root 248 Aug 22 15:11 eclipse-rw-rw-rw- 1 root root 139 Aug 24 16:39 jsdefdrwxr-xr-x 2 root root 552 Aug 24 16:54 logsdrwxrwxrwx 5 root root 240 Aug 22 15:11 rcpdrwxrwxrwx 3 root root 72 Aug 22 15:11 shareddrwxrwxrwx 3 root root 80 Aug 22 15:11 workspace

The file size is:381

See Alsov “jobsubmit command - Submitting jobs” on page 47v “jobquery command - Performing queries on jobs” on page 49

Chapter 5. Using the command line interface 59

60 Tivoli Workload Scheduler: Scheduling Workload Dynamically

Notices

This information was developed for products and services offered in the U.S.A.IBM® may not offer the products, services, or features discussed in this documentin other countries. Consult your local IBM representative for information on theproducts and services currently available in your area. Any reference to an IBMproduct, program, or service is not intended to state or imply that only that IBMproduct, program, or service may be used. Any functionally equivalent product,program, or service that does not infringe any IBM intellectual property right maybe used instead. However, it is the user's responsibility to evaluate and verify theoperation of any non-IBM product, program, or service.

IBM may have patents or pending patent applications covering subject matterdescribed in this document. The furnishing of this document does not give youany license to these patents. You can send license inquiries, in writing, to:

IBM Director of LicensingIBM CorporationNorth Castle DriveArmonk, NY 10504-1785 U.S.A.

For license inquiries regarding double-byte (DBCS) information, contact the IBMIntellectual Property Department in your country or send inquiries, in writing, to:

Intellectual Property LicensingLegal and Intellectual Property LawIBM Japan, Ltd.19-21, Nihonbashi-Hakozakicho, Chuo-kuTokyo 103-8510, Japan

The following paragraph does not apply to the United Kingdom or any othercountry where such provisions are inconsistent with local law:

INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THISPUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHEREXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIEDWARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESSFOR A PARTICULAR PURPOSE.

Some states do not allow disclaimer of express or implied warranties in certaintransactions, therefore, this statement might not apply to you.

This information could include technical inaccuracies or typographical errors.Changes are periodically made to the information herein; these changes will beincorporated in new editions of the publication. IBM may make improvementsand/or changes in the product(s) and/or the program(s) described in thispublication at any time without notice.

Any references in this information to non-IBM websites are provided forconvenience only and do not in any manner serve as an endorsement of thosewebsites. The materials at those websites are not part of the materials for this IBMproduct and use of those websites is at your own risk.

© Copyright IBM Corp. 1999, 2012 61

IBM may use or distribute any of the information you supply in any way itbelieves appropriate without incurring any obligation to you.

Licensees of this program who wish to have information about it for the purposeof enabling: (i) the exchange of information between independently createdprograms and other programs (including this one) and (ii) the mutual use of theinformation which has been exchanged, should contact:

IBM Corporation2Z4A/10111400 Burnet RoadAustin, TX 78758 U.S.A.

Such information may be available, subject to appropriate terms and conditions,including in some cases payment of a fee.

The licensed program described in this document and all licensed materialavailable for it are provided by IBM under terms of the IBM Customer Agreement,IBM International Program License Agreement or any equivalent agreementbetween us.

This information contains examples of data and reports used in daily businessoperations. To illustrate them as completely as possible, the examples include thenames of individuals, companies, brands, and products. All of these names arefictitious and any similarity to the names and addresses used by an actual businessenterprise is entirely coincidental.

TrademarksProvides information about the trademarks and registered trademarks of IBM andof the companies with which IBM has trademark acknowledgement agreements.

IBM, the IBM logo, and ibm.com® are trademarks or registered trademarks ofInternational Business Machines Corporation in the United States, other countries,or both. If these and other IBM trademarked terms are marked on their firstoccurrence in this information with a trademark symbol (® or ™), these symbolsindicate U.S. registered or common law trademarks owned by IBM at the time thisinformation was published. Such trademarks may also be registered or commonlaw trademarks in other countries. A current list of IBM trademarks is available onthe Web at "Copyright and trademark information" at http://www.ibm.com/legal/copytrade.shtml.

Intel is a trademark of Intel Corporation in the United States, other countries, orboth.

Java and all Java-based trademarks and logos are trademarks or registeredtrademarks of Oracle and/or its affiliates.

Linux is a trademark of Linus Torvalds in the United States, other countries, orboth.

62 Tivoli Workload Scheduler: Scheduling Workload Dynamically

Microsoft and Windows are registered trademarks of Microsoft Corporation in theUnited States, other countries, or both.

UNIX is a registered trademark of The Open Group in the United States and othercountries.

Notices 63

64 Tivoli Workload Scheduler: Scheduling Workload Dynamically

Index

Aaccessibility viiiaffine jobs

defining 47submitting 37

affinitydefining 5, 37, 47syntax 5

affinity relationshipdefining 5

affinity with job alias 5affinity with job ID 5affinity with job name 5alias

creating when submitting 37defining when submitting 37

Ccanceling TWS jobs

kill command 6checking

scan results 10CLIConfig.properties file

command-line configuration 44command line

command location 43command usage 43managing jobs 43setting the environment 43

command line job statuses 39command line syntax 44command-line configuration

CLIConfig.properties file 44commands

jobcancel 54jobdetails 52jobgetexecutionlog 57jobquery 49jobstore 56jobsubmit 47

computerresource 23

computersconfiguring 9physical resources 10

conman commandmonitoring TWS jobs 6viewing job output 6

consumable resourceresource quantity 19, 26

conventions used in publications viicreating job definitions

templates 27creatng jobs 17credentials 19critical dynamic workload broker jobs 1critical job

prioritization 1promotion 1

critical job priorityenhancing 1

critical pathjob promotion 1

Ddynamic workload broker

critical jobs 1critical path 1

dynamic workload broker jobsprioritizing 1

Dynamic Workload Consoleaccessibility viii

Eediting job definitions 31, 32education viiienvironment variables 27

Ffile system

related resource 23

Gglobal resources

definition 25glossary vii

Jjob alias

alternative to job ID 37defining 47

job associationdefining 5

Job Brokering Definition Console 19editing job definitions 31, 32, 34, 35writing job definitions 17

job cancelingTWS kill command 6

job definitioncreating 31, 32, 34, 35

job dependencydefining 5

job IDjobcancel command 50jobdetails command 50jobquery command 50jobstatus command 50retrieving 50

job instancesshowing 40status 40

job monitoring 39

job priorityassigning 19

job promotion 1job status mapping 6

TWS job status 6job statuses

job statusesmonitoring 39

mapping 39supported operations 39

job submission 39Job Submission Description

Language 19job targets

defining 19, 23job variables 4

creating 37, 38editing 37, 38

jobcancel command 54jobdetails command 52jobgetexecutionlog command 57jobquery command 49jobs

allocation 19, 23creating 19, 23defining 19, 23jobs

consumable properties 23optimizable properties 23

optimization 19, 23scheduling 19using variables 19

jobstore command 56jobsubmit command 47jsdl

template 27JSDL 19

Kkill command

job canceling 6

Lload-balancing policies 19

defining 26logical resource

related resource 23logical resources

configuring 9creating 12defining 12software information 9

Mmonitoring TWS jobs

conman command 6

© Copyright IBM Corp. 1999, 2012 65

Nnetwork system

related resource 23

Ooperating system

related resource 23optimization policies 19

Pphysical resources

checking 10priority 19

assigning to jobs 19publication

who should read viipublications vii

Rread the publication, who should viirelated resource

file system 23logical resource 23network system 23operating system 23

resourcecomputer 23

resource groupscreating 14definition 9

resource quantityconsumable resource 19, 26defining 19, 26

resource typesconsumable 23

resourcesoptimizable 23

Sscan results 10submission by reference 1submitted jobs

showing 40submitting dynamic jobs from Tivoli

Workload Scheduler 1syntax

command line 44

Ttechnical training viiiTivoli technical training viiiTivoli Workload Scheduler agent

computer scan 9environment scan 9

trademarks 62training

technical viiiTWS job status

job status mapping 6

TWS kill commandjob canceling 6

Uuser credentials 19using variables 27

Vvariable management 4variables 19

defining 38defining and using 4Dynamic workload broker 4

variables in jobdefining at submission 38defining at submissions 37defining in job definition 27editing at submission 37, 38

viewing job outputconman command 6

WWeb Console job statuses 39workload service assurance 1writing job definitions

templates 27

66 Tivoli Workload Scheduler: Scheduling Workload Dynamically

����

Product Number: 5698-WSH

Printed in USA

SC23-9856-03