[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [cgs-wg] Con Call Tuesday, May 20



Title: Message
Larry, I can't make the call again this week since I have been ill since Saturday.  I have updated the DMTF Change Request related to bugs #4-6 - and have marked these as FIXED (since the Change Request has been approved by the DMTF Technical Committee).   The CR details all the changes for recurring time - and that the SettingData class is not scoped.  Also, Priority is clearly specified in the CR, as we discussed on the earlier call.
 
Unless there are problems with the schema and/or CR - I think that this closes out items 4-6. 
 
Andrea
 
-----Original Message-----
From: owner-cgs-wg@gridforum.org [mailto:owner-cgs-wg@gridforum.org] On Behalf Of Larry Flon
Sent: Friday, May 16, 2003 10:33 AM
To: cgs-wg@gridforum.org
Subject: [cgs-wg] Con Call Tuesday, May 20

An early reminder of Tuesday's call, and the agenda, as always of late, is to deal with the open issues in Bugzilla http://bugzilla.gridforum.org/cgs-wg.
 
To that end, please update your assigned issues before the call.  I know that we all have other important work to do, but it is better to finish this work than to let it drag on...
 
I'm going to add a couple of new issues that have arisen.  Stay tuned.
 
    Larry

The CGS-WG has a bi-weekly teleconference on Tuesdays at these times:

08.00-09.00 US Pacific (e.g. Los Angeles)
09.00-10.00 US Mountain (e.g. Denver)
10.00-11.00 US Central (e.g. Chicago)
11.00-12.00 US Eastern (e.g. New York)
16.00-17.00 GMT UK (e.g. London)
17.00-18.00 Central Europe (e.g. Paris)
01.00-02.00 Japan (next day)

The next Telecon of the CGS-WG is scheduled for 8AM Pacific on Tuesday May 20, 2003.  The teleconference information is:

call-in number: 1 888 709 8699
international: 1 773 799 3951
passcode: 79215

 
2 nor P2 Oth flon@isi.edu NEW Merge latest JSIM schema into JSIM document
4 nor P2 All andreaw@cisco.com ASSI Job needs RecurringElapsedTime
5 nor P2 All andreaw@cisco.com ASSI JobScheduleSettingData not Scoped
6 nor P2 All andreaw@cisco.com NEW Address meaning of Priority
7 nor P2 All andreaw@cisco.com NEW BatchJobGroup - Need a use case
8 nor P2 All stokese@us.ibm.com NEW Need job completion statistics
9 nor P2 All andreaw@cisco.com ASSI Resolve DeleteOnCompletion with OGSA lifecycle
10 nor P2 All stokese@us.ibm.com NEW BatchService issues
11 nor P2 All flon@isi.edu NEW Examine brokering use case
12 nor P2 All stokese@us.ibm.com NEW Resolve statuses
13 nor P2 All stokese@us.ibm.com NEW Do we need more job information/detail?
14 nor P2 All mihajlov@de.ibm.com NEW Heidi Neumann's proposed class/association additions (Ope...
15 nor P2 All stokese@us.ibm.com NEW BatchJob class to provide description of the task
Title: DMTF Change Request

DMTF Change Request

DMTF Confidential

All changes to be submitted by the Working Group Chair (or designee) after approval by the working group.
 

DMTF Change Number

CR01016.001

Originator's Change Number

SysDev-Job Fixes

Errata

No 

 

 

Short Description

Job needs additional scheduling properties and JobScheduleSettingData needs to be renamed, cleaned up and expanded / A new JobProcessingStatistics class is defined

Spec, Document or Model(s) Affected

 SystemXx_Processing

Spec, Document or Model Version Incorporating the Change

2.8.0

Date Originated

 04/08/03

Date of Last Revision of the Change Request

 May 4, 2003

Background/Rationale (Explanation of the background and reason(s) for the requested change, and supporting documentation):

Work in the GGF on BatchJobs has highlighted several fixes to the V2.8 job model.

 

Requested Change (Change information such as details before/after the change, readable/indented MOF, and/or references to "Uploaded" MOF and other documents if the changes are too lengthy to include inline):

5 Changes are detailed below:

1.      Update the JobSchedule class to fix its class name (the properties are not just about scheduling and are settings – this should be reflected in the class name)

2.      Remove the scoping association on JobScheduleSettingData (since the setting data may apply to jobs in several scopes - coming into a service, being put on a queue, and/or a specific job, and these all might be on different systems)

3.      Also delete the property ReoccuringElapsedTime in lieu of more detailed scheduling info

 

The new MOF is:

// ===================================================================

// JobSettingData

// ===================================================================

[Abstract, Experimental, Version ("2.7.1000"), Description (

    "JobSettingData represents job characteristics and scheduling "

    "information for a CIM_Job. The settings may be applied to a "

    "job handling Service, a JobQueue or other destination to which jobs "

    "are submitted, and/or to individual CIM_Jobs. The applicability "

    "of the settings are defined using the ElementSettingData "

    "relationship. Since the Settings may be defined in several "

    "contexts and applied to many types of elements, this class is "

    "defined as a subclass of SettingData, versus ScopedSettingData.") ]

class CIM_JobSettingData : CIM_SettingData {

 

    [Write, Description (   <-Deleted

        "The length (represented as a time interval) of "

        "time between scheduled starts.  For example, if Scheduled"

        "StartTime indicates 8 pm, this property defines the intervals "

        "between executions - once (value of all zeroes), daily, "

        "weekly, monthly, etc.") ]

    datetime ReoccuringElapsedTime;

 

    [Write, Description (

        "Number of times that a Job should be run. A value "

        "of 1 indicates that the Job is NOT recurring, while any "

        "non-zero value indicates a limit to the number of times that "

        "the Job will recur. Zero indicates that there is no limit "

        "to the number of times that the Job can be processed, but that "

        "it is terminated either AFTER the UntilTime, or by manual "

        "intervention. By default, a Job is processed once."),

        ModelCorrespondence {"CIM_Job.JobRunTimes"} ]

    uint32 JobRunTimes = 1;

 

    [Write, Description (

        "The month during which a Job should be processed. "

        "Specify 0 for January, 1 for February, and so on."),

        ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",

            "10", "11"}, 

        Values {"January", "February", "March", "April",

            "May", "June", "July", "August", "September",

            "October", "November", "December"},

        ModelCorrespondence {"CIM_Job.RunMonth",

            "CIM_JobSettingData.RunDay",

            "CIM_JobSettingData.RunDayOfWeek",

            "CIM_JobSettingData.RunStartInterval"} ]

    uint8 RunMonth;

   

    [Write, MinValue (-31), MaxValue (31), Description (

        "The day in the month on which a Job should be processed. "

        "There are two different interpretations for this property, "

        "depending on the value of RunDayOfWeek. In one case, "

        "RunDay defines the day-in-month on which the Job is "

        "processed. This interpretation is used when the RunDayOfWeek "

        "is 0. A positive or negative integer indicates whether "

        "the RunDay should be calculated from the beginning or the "

        "end of the month. For example, 5 indicates the fifth day in "

        "RunMonth and -1 indicates the last day in the RunMonth. \n"

        "\n"

        "When RunDayOfWeek is not 0, RunDay is the day-in-month "

        "on which the Job is processed, defined in conjunction "

        "with RunDayOfWeek. For example, if RunDay is 15 and "

        "RunDayOfWeek is Saturday, then the Job is processed on "

        "the first Saturday on or AFTER the 15th day in the RunMonth "

        "(e.g., the third Saturday in the month). If RunDay is 20 "

        "and RunDayOfWeek is -Saturday, then this indicates the "

        "first Saturday on or BEFORE the 20th day in the RunMonth. "

        "If RunDay is -1 and RunDayOfWeek is -Sunday, then this "

        "indicates the last Sunday in the RunMonth."),

        ModelCorrespondence {"CIM_Job.RunDay",

            "CIM_JobSettingData.RunMonth",

            "CIM_JobSettingData.RunDayOfWeek",

            "CIM_JobSettingData.RunStartInterval"} ]

    sint8 RunDay;

    

    [Write, Description (

        "Positive or negative integer used in conjunction "

        "with RunDay to indicate the day of the week on which "

        "a Job is processed. RunDayOfWeek is set to 0 to indicate "

        "an exact day of the month, such as March 1. "

        "A positive integer (representing Sunday, Monday, ..., "

        "Saturday) means that the day of week is found on or "

        "AFTER the specified RunDay. A negative integer "

        "(representing -Sunday, -Monday, ..., -Saturday) "

        "means that the day of week is found on or BEFORE the "

        "RunDay."),

        ValueMap {"-7", "-6", "-5", "-4", "-3", "-2", "-1",

            "0", "1", "2", "3", "4", "5", "6", "7" },

        Values {"-Saturday", "-Friday", "-Thursday", "-Wednesday",

            "-Tuesday", "-Monday", "-Sunday", "ExactDayOfMonth",

            "Sunday", "Monday", "Tuesday", "Wednesday",

            "Thursday", "Friday", "Saturday" },

        ModelCorrespondence {"CIM_Job.RunDayOfWeek",

            "CIM_JobSettingData.RunMonth",

            "CIM_JobSettingData.RunDay",

            "CIM_JobSettingData.RunStartInterval"} ]

    sint8 RunDayOfWeek;

   

    [Write, Description (

        "The time interval after midnight when a Job should be "

        "processed. For example, \n"

        "   00000000020000.000000:000 \n"

        "indicates that the Job should be run on or after "

        "two o'clock, local time or UTC time (distinguished using "

        "the LocalOrUtcTime property."),

        ModelCorrespondence {"CIM_Job.RunStartInterval",

            "CIM_JobSettingData.RunMonth",

            "CIM_JobSettingData.RunDay",

            "CIM_JobSettingData.RunDayOfWeek",

            "CIM_JobSettingData.LocalOrUtcTime"}  ]

    datetime RunStartInterval;

 

    [Write, Description (  <-Deleted

        "The time that the Job should start. This may "

        "be represented by an actual date and time, or an interval "

        "relative to the time that this property is requested. A value "

        "of all zeroes indicates that the Job should not be scheduled."),

        ModelCorrespondence {"CIM_Job.ScheduledStartTime"} ]

    datetime ScheduledStartTime;

 

    [Write, Description (

        "This property indicates whether the times represented "

        "in the RunStartInterval and UntilTime properties "

        "represent local times or UTC times. Time values are "

        "synchronized worldwide by using the enumeration value "

        "2, \"UTC Time\"."),

        ValueMap {"1", "2"},

        Values {"Local Time", "UTC Time"} ]

    uint16 LocalOrUtcTime;

 

    [Write, Description (

        "The setting for a Job's UntilTime - the time after which an "

        "executing Job should be stopped or not be allowed to proceed. "

        "This may be represented by an actual date and time, or an "

        "interval relative to the ScheduledStartTime. A value of all "

        "nines indicates that the Job can run indefinitely."),

        ModelCorrespondence {"CIM_Job.UntilTime",

           "CIM_JobSettingData.LocalOrUtcTime"} ]

    datetime UntilTime;

  

. . .

 

    [Write, Description (

        "Indicates whether or not the Job should be "

        "automatically deleted upon completion. Note that the "

        "'completion' of a recurring job is defined by its "

        "JobRunTimes or UntilTime properties, OR when the Job "

        "is terminated by manual intervention."),

        ModelCorrespondence {"CIM_Job.DeleteOnCompletion"} ]

    boolean DeleteOnCompletion;

};

 

 

The MOF originally read:

// ===================================================================

// ScheduledJob

// ===================================================================

[Abstract, Experimental, Version ("2.7.0"), Description (

    "A ScheduledJob is a subclass of ScopedSettingData, representing "

    "the scheduling information for a recurring CIM_Job. This is a "

    "subclass of ScopedSettingData since the context for the scheduler "

    "is important.  The setting information should be defined in the "

    "context of a System - for example, a ComputerSystem or "

    "AdminDomain. This provides context for how the scheduling data "

    "is evaluated and acted upon. Note that when the Job is "

    "executed, CIM_Job should be related to its scheduling data using "

    "the association, ElementSettingData.  When instantiating the "

    "association, the IsCurrent property MUST be set to 1 "

    "\"Is Current\".") ]

class CIM_ScheduledJob : CIM_ScopedSettingData {

 

<DELETED>

    [Write, Description (

        "The length (represented as a time interval) of "

        "time between scheduled starts.  For example, if Scheduled"

        "StartTime indicates 8 pm, this property defines the intervals "

        "between executions - once (value of all zeroes), daily, "

        "weekly, monthly, etc.") ]

    datetime ReoccuringElapsedTime;

 

    [Write, Description (

        "The time that the ScheduledJob should start. This may "

        "be represented by an actual date and time, or an interval "

        "relative to the time that this property is requested. A value "

        "of all zeroes indicates that the Job should not be scheduled."),

        ModelCorrespondence {"CIM_Job.ScheduledStartTime"} ]

    datetime ScheduledStartTime;

<\DELETED>

 

<New scheduling properties inserted>

  

    [Write, Description (

        "The setting for a Job's UntilTime - the time after which an "

        "executing Job should be stopped or not be allowed to proceed. "

        "This may be represented by an actual date and time, or an "

        "interval relative to the ScheduledStartTime."),

        ModelCorrespondence {"CIM_Job.UntilTime"} ]

<Added ModelCorrespondence to LocalOrUtcTime>

    datetime UntilTime;

     

    [Write, Description (

        "The setting for a Job's Notify property - the user/email "

        "to be notified upon a scheduled Job's completion or failure."),

        ModelCorrespondence {"CIM_Job.Notify"} ]

    string Notify;

     

    [Write, Description (

        "The setting for a Job's Owner property - the user, service "

        "method, etc. that defined this setting data and causes the "

        "Job to be created."),

        ModelCorrespondence {"CIM_Job.Owner"} ]

    string Owner;

     

    [Write, Description (

        "Indicates the urgency or importance of execution of the "

        "Job, when it is scheduled. The lower the number, the "

        "higher the priority."),

        ModelCorrespondence {"CIM_Job.Priority"} ]

    uint32 Priority;

 

<Modified Description>

    [Write, Description (

        "Indicates whether or not the scheduled Job should be "

        "automatically deleted upon completion."),

        ModelCorrespondence {"CIM_Job.DeleteOnCompletion"} ]

    boolean DeleteOnCompletion;

};

 

4.      Add the scheduling properties to CIM_Job (since they are only in SettingData and the actual elapsed time may be different than the setting).

5.      Update property descriptions where values are duplicated in the new JobProcessingStatitstics class.

 

The updated MOF is (changes in red):

 

// ===================================================================

// Job

// ===================================================================

[Abstract, Version ("2.7.1000"), Description (

    "A Job is a LogicalElement representing an executing unit of work, "

    "such as a script or a print job. A Job is distinct from a Process "

    "in that a Job can be scheduled, queued, and its execution is not "

    "limited to a single system.") ]

class CIM_Job : CIM_LogicalElement {

     

. . .

 

    [Deprecated {"CIM_Job.RunMonth", "CIM_Job.RunDay",

            "CIM_Job.RunDayOfWeek", "CIM_Job.RunStartInterval"},

        Write, Description (

        "The time that the current Job is scheduled to start. This may "

        "be represented by the actual date and time, or an interval "

        "relative to the time that this property is requested. A value "

        "of all zeroes indicates that the Job is already executing. The "

        "property is deprecated in lieu of the more expressive scheduling "

        "properties, RunMonth, RunDay, RunDayOfWeek and RunStartInterval.") ]

    datetime ScheduledStartTime;

  

    [Description (

        "The time that the Job was actually started.  This "

        "may be represented by an actual date and time, or by an "

        "interval relative to the time that this property is "

        "requested. Note that this property is also present in the "

        "JobProcessingStatistics class. This is necessary to capture "

        "the processing information for recurring Jobs, since only "

        "the 'last' run time can be stored in this single-valued "

        "property.") ]

    datetime StartTime;

     

    [Description (

        "The time interval that the Job has been executing or the "

        "total execution time if the Job is complete. Note that "

        "this property is also present in the JobProcessingStatistics "

        "class. This is necessary to capture the processing "

        "information for recurring Jobs, since only the 'last' "

        "run time can be stored in this single-valued property.") ]

    datetime ElapsedTime;

 

    [Write, Description (

        "Number of times that the Job should be run. A value "

        "of 1 indicates that the Job is NOT recurring, while any "

        "non-zero value indicates a limit to the number of times that "

        "the Job will recur. Zero indicates that there is no limit "

        "to the number of times that the Job can be processed, but that "

        "it is terminated either AFTER the UntilTime, or by manual "

        "intervention. By default, a Job is processed once.") ]

    uint32 JobRunTimes = 1;

 

    [Write, Description (

        "The month during which the Job should be processed. "

        "Specify 0 for January, 1 for February, and so on."),

        ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",

            "10", "11"}, 

        Values {"January", "February", "March", "April",

            "May", "June", "July", "August", "September",

            "October", "November", "December"},

        ModelCorrespondence {"CIM_Job.RunDay",

            "CIM_Job.RunDayOfWeek", "CIM_Job.RunStartInterval"} ]

    uint8 RunMonth;

   

    [Write, MinValue (-31), MaxValue (31), Description (

        "The day in the month on which the Job should be processed. "

        "There are two different interpretations for this property, "

        "depending on the value of DayOfWeek. In one case, "

        "RunDay defines the day-in-month on which the Job is "

        "processed. This interpretation is used when the DayOfWeek "

        "is 0. A positive or negative integer indicates whether "

        "the RunDay should be calculated from the beginning or the "

        "end of the month. For example, 5 indicates the fifth day in "

        "RunMonth and -1 indicates the last day in the RunMonth. \n"

        "\n"

        "When RunDayOfWeek is not 0, RunDay is the day-in-month "

        "on which the Job is processed, defined in conjunction "

        "with RunDayOfWeek. For example, if RunDay is 15 and "

        "RunDayOfWeek is Saturday, then the Job is processed on "

        "the first Saturday on or AFTER the 15th day in the RunMonth "

        "(e.g., the third Saturday in the month). If RunDay is 20 "

        "and RunDayOfWeek is -Saturday, then this indicates the "

        "first Saturday on or BEFORE the 20th day in the RunMonth. "

        "If RunDay is -1 and RunDayOfWeek is -Sunday, then this "

        "indicates the last Sunday in the RunMonth."),

        ModelCorrespondence {"CIM_Job.RunMonth",

            "CIM_Job.RunDayOfWeek", "CIM_Job.RunStartInterval } ]

    sint8 RunDay;

    

    [Write, Description (

        "Positive or negative integer used in conjunction "

        "with RunDay to indicate the day of the week on which "

        "the Job is processed. RunDayOfWeek is set to 0 to indicate "

        "an exact day of the month, such as March 1. "

        "A positive integer (representing Sunday, Monday, ..., "

        "Saturday) means that the day of week is found on or "

        "AFTER the specified RunDay. A negative integer "

        "(representing -Sunday, -Monday, ..., -Saturday) "

        "means that the day of week is found on or BEFORE the "

        "RunDay."),

        ValueMap {"-7", "-6", "-5", "-4", "-3", "-2", "-1",

            "0", "1", "2", "3", "4", "5", "6", "7" },

        Values {"-Saturday", "-Friday", "-Thursday", "-Wednesday",

            "-Tuesday", "-Monday", "-Sunday", "ExactDayOfMonth",

            "Sunday", "Monday", "Tuesday", "Wednesday",

            "Thursday", "Friday", "Saturday" },

        ModelCorrespondenc{"CIM_Job.RunMonth", "CIM_Job.RunDay",

            "CIM_Job.RunStartInterval"} ]

    sint8 RunDayOfWeek;

   

    [Write, Description (

        "The time interval after midnight when the Job should be "

        "processed. For example, \n"

        "   00000000020000.000000:000 \n"

        "indicates that the Job should be run on or after "

        "two o'clock, local time or UTC time (distinguished using "

        "the LocalOrUtcTime property."),

        ModelCorrespondence {"CIM_Job.RunMonth", "CIM_Job.RunDay",

            "CIM_Job.RunDayOfWeek", "CIM_Job.RunStartInterval"} ]

    datetime RunStartInterval;

 

    [Write, Description (

        "This property indicates whether the times represented "

        "in the RunStartInterval and UntilTime properties "

        "represent local times or UTC times. Time values are "

        "synchronized worldwide by using the enumeration value "

        "2, \"UTC Time\"."),

        ValueMap {"1", "2"},

        Values {"Local Time", "UTC Time"} ]

    uint16 LocalOrUtcTime;

 

    [Write, Description (

        "The time after which the Job is invalid or should be "

        "stopped.  This may be represented by an actual date and time, "

        "or by an interval relative to the time that this property is "

        "requested.  A value of all nines indicates that the Job "

        "can run indefinitely."),

        ModelCorrespondence {"CIM_Job.LocalOrUtcTime"} ]

    datetime UntilTime;

 

. . .

 

    [Write, Description (

        "Indicates the urgency or importance of execution of the "

        "Job.  The lower the number, the higher the priority."

        "Note that this property is also present in the "

        "JobProcessingStatistics class. This is necessary to capture "

        "the setting information that would influence a Job's results.") ]

    uint32 Priority;

   

    [Description(

        "The percentage of the job that has completed at the time "

        "that this value is requested. Note that this property is "

        "also present in the JobProcessingStatistics class. This "

        "is necessary to capture the processing information for "

        "recurring Jobs, since only the 'last' run data can be "

        "stored in this single-valued property."),

        MaxValue (101), MinValue (0), Units ("Percent") ]

    uint16 PercentComplete;

   

    [Write, Description(

        "Indicates whether or not the job should be automatically "

        "deleted upon completion. Note that the "

        "'completion' of a recurring job is defined by its "

        "JobRunTimes or UntilTime properties, OR when the Job "

        "is terminated by manual intervention. If this property is "

        "set to false and the job completes, then the extrinsic "

        "method DeleteInstance MUST be used to delete the job versus "

        "updating this property.") ]

    boolean DeleteOnCompletion;

   

    [Description(

        "A vendor specific error code. This MUST be set to zero "

        "if the Job completed without error. Note that this property "

        "is also present in the JobProcessingStatistics class. This "

        "is necessary to capture the processing information for "

        "recurring Jobs, since only the 'last' run error can be "

        "stored in this single-valued property."),

        ModelCorrespondence {"CIM_Job.ErrorDescription"} ]

    uint16 ErrorCode;

 

    [Description(

        "A free form string containing the vendor error description. "

        "Note that this property is also present in the "

        "JobProcessingStatistics class. This is necessary to capture "

        "the processing information for recurring Jobs, since only "

        "the 'last' run error can be stored in this single-valued "

        "property."),

        ModelCorrespondence {"CIM_Job.ErrorCode"} ]

    string ErrorDescription;

   

. . .

};

 

Originally, the MOF read:

// ===================================================================

// Job

// ===================================================================

[Abstract, Version ("2.7.0"), Description (

    "A Job is a LogicalElement representing an executing unit of work, "

    "such as a script or a print job. A Job is distinct from a Process "

    "in that a Job can be scheduled, queued, and its execution is not "

    "limited to a single system.") ]

class CIM_Job : CIM_LogicalElement {

     

    [Description (

        "A free form string representing the Job's status.  "

        "The primary status is reflected in the inherited "

        "OperationalStatus property. JobStatus provides additional, "

        "implementation-specific details."),

        ModelCorrespondence {

            "ManagedSystemElement.OperationalStatus"} ]

    string JobStatus;

  

    [Description (

        "The time that the Job was submitted to execute. A value of all "

        "zeroes indicates that the owning element is not capable of "

        "reporting a date and time.  Therefore, the ScheduledStartTime "

        "and StartTime are reported as intervals relative to the time "

        "their values are requested.") ]

    datetime TimeSubmitted;

 

<Deprecated>     

    [Write, Description (

        "The time that the current Job is scheduled to start. This may "

        "be represented by the actual date and time, or an interval "

        "relative to the time that this property is requested. A value "

        "of all zeroes indicates that the Job is already executing.") ]

    datetime ScheduledStartTime;

 

<DESCRIPTIONS MODIFIED>  

    [Description (

        "The time that the Job was actually started.  This "

        "may be represented by an actual date and time, or by an "

        "interval relative to the time that this property is requested.") ]

    datetime StartTime;

     

    [Description (

        "The time interval that the Job has been executing or the "

        "total execution time if the Job is complete.") ]

    datetime ElapsedTime;

<\DESCRIPTIONS MODIFIED>

    

    [Write, Description (

        "The time after which the Job is invalid or should be "

        "stopped.  This may be represented by an actual date and time, "

        "or by an interval relative to the time that this property is "

        "requested.  A value of all nines indicates that the Job "

        "can run indefinitely.") ]

<ModelCorrespondence added>

    datetime UntilTime;

     

    [Write, Description (

        "User to be notified upon the Job completion or failure.") ]

    string Notify;

     

    [Description (

        "The User that submitted the Job or the Service/method name/etc. "

        "that caused the job to be created."),

     ModelCorrespondence {"CIM_OwningJobElement"} ]

    string Owner;

 

<DESCRIPTIONS MODIFIED>

    [Write, Description (

        "Indicates the urgency or importance of execution of the "

        "Job.  The lower the number, the higher the priority.") ]

    uint32 Priority;

   

    [Description(

        "The percentage of the job that has completed at the time "

        "that this value is requested. "),

        MaxValue (101), MinValue (0), Units ("Percent") ]

    uint16 PercentComplete;

 

    [Write, Description(

        "Indicates whether or not the job should be automatically "

        "deleted upon completion.  If this property is set to false"

        "and the job completes, then the extrinsic method DeleteInstance"

        "MUST be used to delete the job versus updating this property.") ]

    boolean DeleteOnCompletion;

   

    [Description(

        "A vendor specific error code. This will be set to zero "

        "if the job completed without error."),

        ModelCorrespondence {"CIM_Job.ErrorDescription"} ]

    uint16 ErrorCode;

 

    [Description(

        "A free form string containing the vendor error "

        "description."),

        ModelCorrespondence {"CIM_Job.ErrorCode"} ]

    string ErrorDescription;

<\DESCRIPTIONS MODIFIED>

 

    [Description(

        "A method to kill this job and any underlying processes, and "

        "to remove any 'dangling' associations."),

        ValueMap {"0", "1", "2", "3", "4", "6", "7",

            "..", "32768..65535"},

        Values {"Success", "Not Supported", "Unknown", "Timeout",

            "Failed", "Access Denied", "Not Found", "DMTF Reserved",

            "Vendor Specific"} ]

    uint32 KillJob(

        [IN, Description ("Indicates whether or not the Job "

            "should be automatically deleted upon termination. "

            "This parameter takes precedence over the property, "

            "DeleteOnCompletion.") ]

        boolean DeleteOnKill);

};

 

6.      Add a new class, JobProcessingStatistics to the SystemXx_Processing MOF. The class is defined as follows:

 

// ===================================================================

// JobProcessingStatistics

// ===================================================================

[Experimental, Version ("2.7.1000"), Description (

    "This class records the completion statistics (such as "

    "ElapsedTime) and other information for its associated Job. The "

    "class will be extended in a future release to include statistics "

    "regarding resource utilization. Note that there may be many "

    "instances of this class if the Job is recurring (i.e., if its "

    "JobRunTimes property is not 1).") ]

class CIM_JobProcessingStatistics : CIM_StatisticalData {

 

    [Description (

        "The time that this invocation of the Job was started. This "

        "SHOULD be represented by an actual date and time, and not in "

        "interval format."),

        ModelCorrespondence {"CIM_Job.StartTime"} ]

    datetime StartTime;

     

    [Description (

        "The total execution time of the Job. This MUST be "

        "represented in interval format."),

        ModelCorrespondence {"CIM_Job.ElapsedTime"} ]

    datetime ElapsedTime;

 

    [Description (

        "Indicates the urgency or importance of execution of the "

        "Job.  The lower the number, the higher the priority."),

        ModelCorrespondence {"CIM_Job.Priority"} ]

    uint32 Priority;

   

    [Description(

        "The percentage of the job that was completed at the time "

        "that the Job terminated. Note that this value will be less "

        "than 100 if the Job terminated prematurely."),

        MaxValue (101), MinValue (0), Units ("Percent"),

        ModelCorrespondence {"CIM_Job.PercentComplete"} ]

    uint16 PercentComplete;

 

    [Description(

        "A vendor specific error code related to the processing of "

        "the Job. This MUST be set to zero if the Job completed "

        "without error."),

        ModelCorrespondence {"CIM_Job.ErrorCode",

           "CIM_JobProcessingStatistics.ErrorDescription"} ]

    uint16 ErrorCode;

 

    [Description(

        "A free form string containing the vendor error "

        "description for the property, ErrorCode."),

        ModelCorrespondence {"CIM_Job.ErrorDescription",

           "CIM_JobProcessingStatistics.ErrorCode"} ]

    string ErrorDescription;

};

 

Discussion Points (Summary of decisions and discussions of the WG in creating this CR):

Ballot comments:

481 – ScheduledJob – Comments from ballot on 4/22
· The version appears incorrect. The CR states 2.8 but the class states it
is 2.7. – FIXED

· This proposal handles a special case of a more general problem. The issue
is that RecurringElapsedTime does not deal with the common cases like:
"Every week on a Monday and a Thursday". – DELETED RecurringElapsedTime FROM THE MODEL AND REPLACED IT WITH PROPERTIES SIMILAR TO THOSE DEFINED IN CIM_TimeZone.

 · It sounds like these settings are in the context of a specific CIM_JOB, so
shouldn't the scoped setting data association be used? – NO, COULD BE DEFINED RELATIVE TO A SYSTEM, SERVICE, QUEUE, OR JOB (AND THIS CAN BE CONVEYED USING ElementSettingData), AND SINCE JOBS CAN MOVE AROUND – THIS COULD NOT BE SCOPED BY ANY SYSTEM.

· What does it mean for the start time to be relative to when the property
is requested? – THE DESCRIPTION STATES THAT THIS IS TRUE IF INTERVAL FORMAT IS RETURNED. IT INDICATES THAT THE JOB STARTS ON OR AFTER THE INTERVAL IS ELAPSED.

· If I request the propery more than once, does this then become a recurring
job? – NO, BUT THE WHOLE RECURRING THING NEEDS TO BE CLARIFIED.  AMBIGUITY SHOULD BE REMOVED BY THE JobRunTimes PROPERTY.

· One small nit - the version should be 2.8 instead of 2.7. – FIXED

· Instead of RecurringElapsedTime, would a property name like
ScheduledJobInterval be clearer? – REMOVED RecurringElapsedTime FROM THE MODEL.

· If DeleteOnCompletion is true, the value of the RecurringElapsedTime
property doesn't matter, right? – IT DOES, THE DESCRIPTION IS UPDATED TO CLARIFY THIS.

· RecurringElapsedTime alone is awkward as a datetime. Schedules that recur
are often daily, weekly, bi-weekly, etc. although a specific datetime as a
period is also needed. Setting a datetime value to all zeros is not a friendly way of testing whether a schedule repeats. – ANSWERED ABOVE.

· Need an enumeration with common recurrances, as well as an
OtherRecurringElapsedTime that uses the datetime. A value of None indicates
no recurrence. – THE CHANGES TO THE MODEL SHOULD PROVIDE EQUIVALENT FUNCTIONALITY.

 

Change History (Mandatory after submission to the TC, May be used by the WGs):
 

Initial Version

04/08/03

Initial submission

Version .001 

05/04/03

Changes to address ballot comments.

 

 

 

Note that this document is labeled as "DMTF Confidential". It is intended only for DMTF member companies and alliance partners.

This Change Request may be withdrawn or modified by subsequent CRs.