<<

1 Control Profile

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23 Document Number: DCIM1034 24 Document : Specification Document Status: Published 25 Document Language: E 26 Date: 2012-03-08 27 Version: 1.2.0 28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51 THIS PROFILE IS FOR INFORMATIONAL PURPOSES ONLY, AND MAY CONTAIN TYPOGRAPHICAL 52 ERRORS AND TECHNICAL INACCURACIES. THE CONTENT IS PROVIDED AS IS, WITHOUT 53 EXPRESS OR IMPLIED WARRANTIES OF ANY KIND. ABSENT A SEPARATE AGREEMENT 54 BETWEEN YOU AND DELL™ WITH REGARD TO FEEDBACK TO DELL ON THIS PROFILE 55 SPECIFICATION, YOU AGREE ANY FEEDBACK YOU PROVIDE TO DELL REGARDING THIS 56 PROFILE SPECIFICATION WILL BE OWNED AND CAN BE FREELY USED BY DELL.

57

58 © 2010 - 2012 Dell Inc. All rights reserved. Reproduction in any manner whatsoever without the express 59 written permission of Dell, Inc. is strictly forbidden. For information, contact Dell.

60

61 Dell and the DELL logo are trademarks of Dell Inc. Microsoft and WinRM are either trademarks or 62 registered trademarks of Microsoft in the United States and/or other countries. Other 63 trademarks and trade names may be used in this document to refer to either the entities claiming the 64 marks and names or their products. Dell disclaims proprietary interest in the marks and names of others. 65

2 Version 1.2.0

66 CONTENTS 67 1 Scope ...... 5 68 2 Normative References ...... 5 69 3 Terms and Definitions ...... 5 70 4 Symbols and Abbreviated Terms ...... 7 71 5 Synopsis ...... 7 72 6 Description ...... 8 73 6.1 Job Types ...... 9 74 6.2 Creating ...... 9 75 6.3 Grouping Jobs ...... 10 76 6.4 Jobs ...... 10 77 6.5 Canceling Jobs ...... 10 78 6.6 Auto-Deleting Completed Jobs ...... 10 79 6.7 Maintenance Windows ...... 10 80 6.8 Job Status Lifecycle ...... 10 81 6.9 Completed Jobs Auto-deletion ...... 14 82 7 Implementation Requirements ...... 15 83 7.1 DCIM_JobService ...... 15 84 7.2 DCIM_LifecycleJob ...... 16 85 7.3 DCIM_LCRegisteredProfile ...... 22 86 8 Methods ...... 23 87 8.1 DCIM_JobService.SetupJobQueue() ...... 24 88 8.2 DCIM_JobService.DeleteJobQueue() ...... 26 89 8.3 DCIM_JobService.SetDeleteOnCompletionTimeout () ...... 27 90 8.4 DCIM_JobService.CreateRebootJob () ...... 28 91 9 Use Cases ...... 29 92 10 CIM Elements ...... 29 93 11 Privilege and License Requirement ...... 29 94

Version 1.2.0 3 95 Figures 96 Figure 1 – Profile: Class Diagram...... 9 97 Figure 2 – Job Workflow for RAID Attributes ...... 11 98 Figure 3 – Job Workflow for IDRAC Card Attributes ...... 12 99 Figure 4 – Configuration Job Timing Diagram ...... 13 100 Figure 5 – Update Job Workflow ...... 14 101

102 Tables 103 Table 1 – Related Profiles ...... 8 104 Table 2 – CIM Elements: Job Control Profile ...... 15 105 Table 3 – DCIM_JobService – Operations ...... 16 106 Table 4 – Class: DCIM_JobService ...... 16 107 Table 5 – DCIM_LifecycleJob - Operations ...... 16 108 Table 6 – Class: DCIM_LifecycleJob ...... 18 109 Table 7 – Job Types ...... 20 110 Table 8 – JobStatus Property Values ...... 21 111 Table 9 – DCIM_LCRegisteredProfile - Operations ...... 23 112 Table 10 – Class: DCIM_LCRegisteredProfile ...... 23 113 Table 11 – DCIM_JobService.SetupJobQueue() Method: Return Code Values ...... 25 114 Table 12 – DCIM_JobService.SetupJobQueue() Method: Parameters ...... 25 115 Table 13 – DCIM_JobService.SetupJobQueue() Method: Standard Messages ...... 25 116 Table 14 – DCIM_JobService.DeleteJobQueue() Method: Return Code Values ...... 26 117 Table 15 – DCIM_JobService.DeleteJobQueue() Method: Parameters ...... 26 118 Table 16 – DCIM_JobService.DeleteJobQueue() Method: Standard Messages ...... 27 119 Table 17 – DCIM_JobService.CreateRebootJob() Method: Return Code Values ...... 27 120 Table 18 – DCIM_JobService.CreateRebootJob() Method: Parameters ...... 27 121 Table 19 – DCIM_JobService.CreateRebootJob() Method: Standard Messages ...... 28 122 Table 20 – DCIM_JobService.CreateRebootJob() Method: Return Code Values ...... 28 123 Table 21 – DCIM_JobService.CreateRebootJob() Method: Parameters ...... 28 124 Table 22 – DCIM_JobService.CreateRebootJob() Method: Standard Messages ...... 29 125 Table 23 – Privilege and License Requirements ...... 29

126

4 Version 1.2.0

127 Job Control Profile

128 1 Scope 129 The Dell Job Control Profile extends the capabilities of referencing profiles by adding the 130 capability to create, schedule, track, and manage jobs that represent platform management operations.

131 2 Normative References 132 Refer to the following documents for more information.

133 NOTE: For dated references, only the edition cited applies. For undated references, the latest edition of 134 the referenced document (including any amendments) applies.

135 • DMTF DSP1033, Profile Registration Profile 1.0.0

136 • DMTF DSP0200, CIM Operations over HTTP 1.2.0

137 • DMTF DSP0004, CIM Infrastructure Specification 2.3.0

138 • DMTF DSP1000, Management Profile Specification Template

139 • DMTF DSP1001, Management Profile Specification Usage Guide

140 • DMTF DSP0226, Web Services for Management (WS-Management) Specification 1.1.0

141 • DMTF DSP0227, WS-Management CIM Binding Specification 1.0.0

142 • Dell Lifecycle Controller Best Practices Guide 1.0, 143 http://en.community.dell.com/techcenter/extras/m/white_papers/20066173.aspx

144 • Dell WSMAN Licenses and Privileges 1.0

145 • ISO/IEC Directives, Part 2, Rules for the structure and drafting of International Standards, 146 http://isotc.iso.org/livelink/livelink.exe?func=ll&objId=4230456&objAction=browse&=subtype

147 • Unified Modeling Language (UML) from the Open Management Group (OMG), 148 http://www.uml.org

149 • Dell Tech Center MOF Library: http://www.delltechcenter.com/page/DCIM.Library.MOF 150 • Related Managed Object Format (MOF) files:

151 o DCIM_JobService.mof

152 o DCIM_LifeCycleJob.mof

153 o DCIM_LCElementConformsToProfile.mof

154 o DCIM_LCRegisteredProfile.mof

155 3 Terms and Definitions 156 For the purposes of this document, the following terms and definitions apply.

Version 1.2.0 5 157 3.1 158 Conditional – Indicates requirements to be followed strictly in order to conform to the document when the 159 specified conditions are met.

160 3.2 161 Mandatory – Indicates requirements to be followed strictly in order to conform to the document and from 162 no deviation is permitted.

163 3.3 164 May – Indicates a course of action permissible within the limits of the document.

165 3.4 166 Optional – Indicates a course of action permissible within the limits of the document.

167 3.5 168 can – Used for statements of possibility and capability, whether material, physical, or causal.

169 3.6 170 cannot – Used for statements of possibility and capability, whether material, physical, or causal.

171 3.7 172 need not – Indicates a course of action permissible within the limits of the document.

173 3.8 174 referencing profile – Indicates a profile that owns the definition of this class and can include a reference 175 to this profile in its “Related Profiles” table.

176 3.9 177 shall – Indicates requirements to be followed strictly in order to conform to the document and from which 178 no deviation is permitted.

6 Version 1.2.0

179 3.10 180 shall not – Indicates requirements to be followed strictly in order to conform to the document and from 181 which no deviation is permitted.

182 3.11 183 should – Indicates that among several possibilities, one is recommended as particularly suitable, without 184 mentioning or excluding others, or that a certain course of action is preferred but not necessarily required.

185 3.12 186 should not – Indicates that a certain possibility or course of action is deprecated but not prohibited

187 3.13 188 FQDD – Fully Qualified Device Descriptor is used to identify a particular component in a system.

189 3.14 190 Interop Namespace – Interop Namespace is where instrumentation instantiates classes to advertise its 191 capabilities for client discovery.

192 3.15 193 Implementation Namespace – Implementation Namespace is where instrumentation instantiates 194 classes relevant to executing core management tasks.

195 3.16 196 ENUMERATE – Refers to WS-MAN ENUMERATE operation as described in Section 8.2 of 197 DSP0226_V1.1 and Section 9.1 of DSP0227_V1.0

198 3.17

199 GET – Refers to WS-MAN GET operation as defined in Section 7.3 of DSP00226_V1.1 and Section 7.1 200 of DSP0227_V1.0

201 4 Symbols and Abbreviated Terms

202 4.1 203 CIM – Common Information Model

204 4.2 205 iDRAC – Integrated Dell Remote Access Controller is a management controller for blades and rack and 206 tower servers

207 4.3 208 CMC – Chassis Management Controller is a management controller for the modular chassis

209 4.4 210 iSCSI – Internet Small System Interface, an Internet Protocol (IP)-based storage networking 211 standard for linking data storage facilities.

212 5 Synopsis 213 Profile Name: Job Control 214 Version: 1.2.0 215 : Dell

Version 1.2.0 7 216 CIM Schema Version: 2.26 Experimental 217 Central Class: DCIM_JobService 218 Scoping Class: CIM_ComputerSystem 219 The Job Control Profile extends the management capability of the referencing profiles by adding the 220 capability to create, schedule, track, and otherwise manage system management tasks, hereafter 221 referred to as “jobs”. In this profile, a job is represented by an instance of a Dell subclass of 222 CIM_ConcreteJob, DCIM_LifecycleJob. DCIM_JobService shall be the Central Class. 223 CIM_ComputerSystem shall be the Scoping Class. Table 1 identifies profiles that are related to this 224 profile.

225 Table 1 – Related Profiles

Profile Name Organization Version Relationship Profile Registration DCIM 1.0 Reference

226 6 Description 227 The Job Control Profile describes the job control service, the job types, their behavior, and state 228 transitions and results representation. The profile also describes the relationship of the job service to the 229 profile version information.

230 Figure 1 represents the class schema for the Job Control Profile. The job service in a managed system is 231 represented by the instance of DCIM_JobService class. The jobs names, status, and error messages are 232 represented by the DCIM_LifeCycleJob class.

233 The Job Control Profile information is represented with the instance of DCIM_LCRegisteredProfile.

8 Version 1.2.0

DCIM_LCRegisteredProfile RegisteredProfile = “Job Control” “interop” OwningEntity = “DCIM” namespace

DCIM_LCElementConformsToProfile “root/dcim” Implementation namespace DCIM_ JobService

DCIM_LifeCycleJob

234

235 Figure 1 – Job Control Profile: Class Diagram

236 6.1 Job Types 237 Different kinds of system management tasks, such as firmware updates, reboots, configurations, and so 238 on often take a while to complete. In order to provide a means of performing and tracking tasks and task 239 results, individual tasks are defined as jobs that can be run immediately or a scheduled .

240 Tasks of different types typically have state sequences that are unique to the task performed and the 241 state is represented as the job status. For the purposes of managing these tasks as jobs, several job 242 types have been identified; these include firmware download, firmware update, and reboot. Each job type 243 has a different sequence of states it may pass through. The job may contain one action, or there may be 244 a series of actions taken as part of the job execution.

245 Refer to Table 7 for a list of job types.

246 6.2 Creating Jobs 247 Platform management jobs are created as the result of invoking an extrinsic method for performing a 248 specific task. Jobs that are created as the result of an extrinsic method invocation are initially created 249 without a start time defined and require a management client script or application to subsequently set the 250 scheduled start time by specifying job(s) and start time in a job queue. Note that the reset of the iDRAC 251 itself due to a requested reset or hard reboot does not cause the created jobs to be cancelled. The 252 created jobs will persist and could be executed.

Version 1.2.0 9 253 6.3 Grouping Jobs 254 One or more jobs are be grouped together in job queues to define job order, start time, and to prepare the 255 job grouping for execution in another environment such as Unified Extensible Firmware Interface(UEFI). If 256 the Lifecycle Controller is to perform the system reboot needed to execute update jobs, a reboot job is 257 included in the job queue definition.

258 6.4 Scheduling Jobs 259 Jobs, such as firmware updates, that are created as a result of extrinsic method invocations are initially 260 unscheduled. One or more job can be scheduled to start immediately or at a specified start time by 261 setting up a job queue. Job queues are setup by calling the SetupJobQueue() method on the job service.

262 6.5 Canceling Jobs 263 Jobs may be canceled by management application. Job can be cancelled either by calling delete instance 264 method on a job instance or through invoking DeleteJobQueue() method but note that using the 265 “JID_CLEARALL” parameter value in the DeleteJobQueue() method will delete all the jobs including the 266 completed or failed ones.

267 When a pending job is cancelled, all the tasks related to the job will be deleted. If the job is already 268 running, then the instrumentation will delete all the job’s pending tasks and will attempt to undo all the 269 job’s completed tasks. If the job was already completed, cancelling the job will not undo its tasks.

270 6.6 Auto-Deleting Completed Jobs 271 Completed jobs will be deleted as a result of the auto-delete policy. Management applications may 272 specify the threshold for activating the auto-delete policy and the time criterion for auto-deleting 273 completed jobs. Once the auto-delete policy is activated, it will delete the jobs that have been completed 274 for more than the specified time criterion. The DCIM_JobService.DeleteOnCompletionTimeout property 275 represents the time criterion for the auto-delete policy with default value of 2880 minutes that can be 276 modified through the SetDeleteOnCompletionTimeout() method. The 277 DCIM_JobService.StartAutoDeleteAtThreshold represents the auto-delete policy activation threshold and 278 has a default value of 50% of the maximum number of jobs possible in the job queue.

279 6.7 Maintenance Windows 280 A client script or application that performs platform hardware management, may define specific 281 maintenance time slots. Time slot specification includes being able to specify a scheduled job start time 282 and a duration interval after which, if the job has not been executed, then the job has failed.. The time slot 283 is defined using the StartTimeInterval and Untiltime parameters on the extrinsic method.

284 6.8 Job Status Lifecycle 285 LC jobs have a specific workflow associated with their lifecycle. These workflows are provided as a 286 sample to clarify the job lifecycle and the changes to the job status as it progresses from creation to 287 completion. Typically, LC jobs fall within two categories configuration jobs and update jobs.

288 6.8.1 Configuration Job 289 The workflow below details the configuration job workflow for setting RAID attributes. NIC and BIOS 290 attribute configuration follows a similar workflow with an additional terminal state, “Completed with Errors”.

291 Importantly, in all the configuration job workflows, the CreateTargetedConfigJob() method can schedule 292 both the reboot and the created job at the same time. If the CreateTargetConfigJob() method is invoked 293 with parameter values to schedule both the reboot and the created job, then the job state transitions 294 directly from “No Job” to the “JobStatus=Scheduled.”

10 Version 1.2.0

DCIM_RAIDService. SetAttribute() SetAttributes()

No Job

DCIM_RAIDService. CreateTargetedConfigJob () returns 4096 (Job Created)

JobStatus = Ready for DCIM_JobService. Execution CreateRebootJob () returns 0 (Successful)

DCIM_JobService. SetupJobQueue() returns 0 (Successful)

JobStatus = “Scheduled”

Reboot

JobStatus = “Running”

Job Execution

JobStatus = JobStatus = Completed Failed

295

296 Figure 2 – Job Workflow for RAID Attributes

297 The workflow below details the configuration job workflow for setting IDRAC card attributes. System 298 attribute configuration follows a similar workflow.

Version 1.2.0 11 DCIM_IDRACCardService. SetAttribute() SetAttributes()

No Job

DCIM_IDRACCardService. CreateTargetedConfigJob () returns 4096 (Job Created)

JobStatus = Ready for DCIM_JobService. Execution SetupJobQueue() returns 0 (Successful)

Job Execution Job Execution

JobStatus = JobStatus = JobStatus = Completed with Completed Failed Errors

299

300 Figure 3 – Job Workflow for IDRAC Card Attributes

301 Figure 4 shows the timing diagram for configuration job executions. The upper diagram shows the state 302 transitions of a successful configuration job, while the bottom diagram shows the state transitions of the 303 Remote Services (Data Manager) state as affected by the job execution.

304 For 12G systems, management applications can query for the change (such as enumeration of affected 305 attributes) once the job is completed regardless the Remote Services (Data Manager) state. 306 NOTE: In 11G, the job completion does not indicate that management applications can query for the completed 307 job’s changes but only indicates that all the pending tasks associated with the job have been completed. The Remote 308 Service (Data Manager) needs to reload for the LC interface to reflect new changes. Thus, the Remote Service (Data 309 Manager) status has to transition from “Reloading” to “Ready” to indicate that the LC interface has been updated, and 310 management applications have to check both the job completion as well as the Remote Service (Data Manager) 311 status transition.

312 6.8.1.1 Lifecycle Log 313 Configuration job results are also logged in the Lifecycle Log (LCL). Please refer to the Dell Record Log 314 Profile for in detail description on how to retrieve the LCL and its entries through the WSMAN interface.

315 6.8.1.2 Remote Services Status 316 The Remote Service (Data Manager) status can be queried using DCIM_LCService.GetRSStatus()and 317 GetRemoteServicesAPIStatus() methods (as described in the Lifecycle Controller (LC) Management 318 Profile). The GetRemoteServicesAPIStatus() method is more robust because it details not only the 319 Remote Service (Data Manager) status (as reflected in the LCStatus output parameter) but also the

12 Version 1.2.0

320 system’s status (as reflected in the ServerStatus output parameter) and overall API status (as reflected in 321 the Status output parameter). 322 NOTE: In 11G, management applications have to invoke DCIM_LCService.GetRSStatus() or 323 GetRemoteServicesAPIStatus() method (as described in the LC Management Profile) to determine that the 324 completed job changes have been successfully reflected in the LC instrumentation API interface. 325

READY FOR EXECUTION

SCHEDULED

Job Status RUNNING

COMPLETED

DM Status / RS RELOADING Status READY READY

SYNC TIME

Time 326

327 Figure 4 – Configuration Job Timing Diagram

328 6.8.2 Update Job 329 The workflow below details the update job lifecycle (DCIM_SoftwareInstallationService.InstallFromURI() 330 invocation). The direct update jobs that do not required reboot transition from “Downloading” state to a 331 terminal state of “Failed” or “Completed”. Update jobs that require a reboot will go from state of 332 “Downloading” to a state of “Downloaded” or “Failed”. Once in “Downloaded” state, the update job needs 333 to be scheduled using the SetupJobQueue() method in the LC Management Profile (similar to 334 configuration jobs).

Version 1.2.0 13 No Job

DCIM_SoftwareInstallatioService. InstallFromURI () returns 4096 (Job Created)

JobStatus = “New”

Download Started

JobStatus = “Downloading”

Download Finished

JobStatus = “Downloaded” DCIM_JobService. CreateRebootJob () returns 0 (Successful)

DCIM_JobService. SetupJobQueue() returns 0 (Successful)

for direct updates that do not require reboot JobStatus = “Scheduled”

Reboot

JobStatus = “Running”

Job Execution Job Execution Job Execution

JobStatus = JobStatus = Completed Failed

335

336 Figure 5 – Update Job Workflow

337 6.9 Completed Jobs Auto-deletion 338 Completed jobs will be deleted as a result of the auto-delete policy. Management applications may 339 specify the threshold for activating the auto-delete policy and the time criterion for auto-deleting 340 completed jobs (including failed jobs). Once the auto-delete policy is activated, it will delete the jobs that 341 have been completed for more than the specified time criterion. The 342 DCIM_JobService.DeleteOnCompletionTimeout property represents the time criterion for the auto-delete 343 policy with default value of 2880 minutes that can be modified through the

14 Version 1.2.0

344 SetDeleteOnCompletionTimeout() method. The DCIM_JobService.StartAutoDeleteAtThreshold 345 represents the auto-delete policy activation threshold and has a default value of 128 jobs representing the 346 half of the maximum number of jobs possible in the job queue.

347

348 7 Implementation Requirements 349 This section describes the requirements and guidelines for implementing Dell Job Control Profile

350 Table 2 – CIM Elements: Job Control Profile

Element Name Requirement Description Classes DCIM_JobService Mandatory The class shall be implemented in the Implementation Namespace. See section 7.1 DCIM_LifeCycleJob Mandatory The class shall be implemented in the Implementation Namespace. See section 7.2 DCIM_LCElementConformsToProfile Mandatory The class shall be implemented in the Implementation Namespace. See section 7.1 and 7.3 DCIM_LCElementConformsToProfile Mandatory The class shall be implemented in the Interop Namespace. See section 7.1 and 7.3 DCIM_LCRegisteredProfile Mandatory The class shall be implemented in the Interop Namespace. See section 7.3 Indications None defined in this profile

351 7.1 DCIM_JobService 352 The DCIM_LCElementConformsToProfile association(s)’ ManagedElement property shall reference the 353 DCIM_JobService instance(s).

354 7.1.1 Resource URIs for WinRM® 355 The class Resource URI shall be “http://schemas.dell.com/wbem/wscim/1/cim- 356 schema/2/DCIM_JobService?__cimnamespace=root/dcim”

357 The key properties shall be the SystemCreationClassName, CreationClassName, SystemName, and 358 Name.

359 The instance Resource URI for DCIM_JobService instance shall be: 360 “http://schemas.dell.com/wbem/wscim/1/cim- 361 schema/2/DCIM_JobService?__cimnamespace=root/dcim+SystemCreationClassName=DCIM_ComputerSyst 362 em+CreationClassName=DCIM_JobService+ SystemName=Idrac+Name= JobService”

363 7.1.2 Operations 364 The following table lists the operations implemented on DCIM_JobService.

Version 1.2.0 15 365 Table 3 – DCIM_JobService – Operations Operation Name Requirements Required Input Get Mandatory Instance URI Enumerate Mandatory Class URI Invoke Mandatory Instance URI

366

367 7.1.3 Class Properties

368 Table 4 – Class: DCIM_JobService

Properties Type Requirement Additional Requirments SystemCreationClassName String Mandatory Key: Value shall be “DCIM_ComputerSystem” SystemName String Mandatory Key: Value shall be “Idrac” CreationClassName String Mandatory Key: Value shall be “DCIM_JobService” Name String Mandatory Key: Value shall be “JobService” ElementName String Mandatory Value shall be “Job Service” CurrentNumberOfJobs uint16 Mandatory The property shall represent the current number of jobs in the job store. MaximumNumberOfJobs uint16 Mandatory The property shall represent the maximum number of jobs that the job store supports. DeleteOnCompletionTimeout uint16 Mandatory The property shall represent the timeout period in minutes for completed jobs to qualify for auto deletion. If the time taken to complete a job is more than the DeleteOnCompletionTimeout, the job shall be deleted during the auto-delete. StartAutoDeleteAtThreshold uint16 Mandatory The property shall represent the percentage of the MaximumNumberOfJobs which, when reached, shall cause all jobs that have taken more time than the DeleteOnCompletetionTimeout to be deleted.

369 7.2 DCIM_LifecycleJob

370 7.2.1 Resource URIs for WinRM® 371 The class Resource URI shall be “http://schemas.dell.com/wbem/wscim/1/cim- 372 schema/2/DCIM_LifecycleJob?__cimnamespace=root/dcim”

373 The key property shall be the InstanceID.

374 The instance Resource URI for DCIM_LifecycleJob instance shall be: 375 “http://schemas.dell.com/wbem/wscim/1/cim- 376 schema/2/DCIM_LifecycleJob?__cimnamespace=root/dcim+InstanceID=

377 7.2.2 Operations 378 The following table details the implemented operations on DCIM_LifecycleJob.

379 Table 5 – DCIM_LifecycleJob - Operations Operation Name Requirements Required Input

16 Version 1.2.0

Get Mandatory Instance URI Enumerate Mandatory Class URI

Version 1.2.0 17 380 7.2.3 Class Properties 381 The following table lists the implemented properties for DCIM_LifecycleJob instance representing a 382 system in a system. The “Requirements” column shall denote whether the property is implemented (for 383 requirement definitions, see section 3). The “Additional Requirements” column shall denote either 384 possible values for the property, or requirements on the value formulation.

385 Table 6 – Class: DCIM_LifecycleJob

Properties and Methods Type Requirement Additional Requirments InstanceID String Mandatory Dynamic value returned as an output parameter from the extrinsic operation that created the job. Name String Mandatory The property shall have value from the “Value” column of Table 7. JobStatus String Mandatory The property shall have value from the “Status Value” column of Table 8. JobStartTime String Mandatory The property shall represent the timestamp to start processing the job. JobStartTime shall be in the format: “yyyymmddhhmmss” and the string "TIME_NOW" means immediate JobUntilTime String Mandatory The property shall represent the time interval after a job has started that it is permitted to run. If the job has not run when the time interval has passed, the job shall be canceled. Canceling a job causes the schedule start time properties to be set to NULL and the JobStatus to be set to Failed. The property value shall be in the following format: “YYYYMMDDHHMMSS”. PercentComplete String Mandatory The property shall represent the percentage of job completion. ElapsedTimeSinceCompletion String Mandatory The property shall represent the time interval in minutes since the job has been completed. Message String Mandatory If an error occurs during the processing of a job, more detailed error information is provided for subsequent inspection of the job completion status. The Message property of the job contains the error message describing the job failure detail. MessageID String Mandatory An identifier for the error message that can be used to index into Dell Lifecycle Controller Message Registry xml files. The Message Registry files are available in languages such as English, French, Spanish, German, Japanese and Chinese. They also contain more detailed descriptions of the error condition and recommended response actions. MessageArguments String Mandatory An error message may contain substitution variables that are filled in dynamically at runtime. To support localizing versions of the message, the values of the substitution variables are set in the MessageArguments array in the order they are defined in the Message Registry.

18 Version 1.2.0

386 The management tasks requested by the management application shall be represented by instances of a 387 subclass of the DCIM_LifecycleJob class which is a subclass of the CIM_ConcreteJob class. The 388 DCIM_LifecycleJob class is further subclassed as the DCIM_SoftUpdateConcreteJob for BIOS, firmware, 389 and embedded software update jobs. Software update related methods (see the Dell Software Update 390 Profile) return references to the DCIM_SoftUpdateConcreteJob class. of the system management 391 tasks require a reboot of the system, which can be scheduled as a job or the reboot can be performed by 392 other means after the job tasks have reached their scheduled start time.

393 To accomplish these offline platform management actions, several specific job types are defined to 394 represent types of remote enablement actions:

395 • Image Update

396 • Image Rollback

397 • Reboot

398 7.2.3.1 Name 399 The DCIM_LifeCycleJob.Name property represents the job type and is formulated as follows:

Version 1.2.0 19 400 Table 7 – Job Types

JobType Description Value Update The flashing of FW into the target device , Update:DCIM:InstanceID of SoftwareIdentity Rollback The flashing of Available FW into the Rollback:DCIM:InstanceID of SoftwareIdentity device. Reboot Restart of system • Reboot1 = “PowerCycle” • Reboot2 = “Graceful Reboot without forced ” • Reboot3 = “Graceful Reboot with forced shutdown” vFlash Initialize vFlash VFlashInitialize:Media vFlash Create partition VFlashCreate:Partition Where n is equal to number of vFlash partition indices (1 to 16) vFlash Create partition using image VFlashCreateUsingImage:Partition1 Where n is equal to number of vFlash partition indices (1 to 16) vFlash Format partition VFlashFormat:Partition1 Where n is equal to number of vFlash partition indices (1 to 16) vFlash Attach partition VFlashAttach:Partition1 Where n is equal to number of vFlash partition indices (1 to 16) vFlash Detach partition VFlashDetach:Partition1 Where n is equal to number of vFlash partition indices (1 to 16) vFlash Export data from partition VFlashExportData:Partition1 Where n is equal to number of vFlash partition indices (1 to 16) LC Export LCL log export LC Export HW Export Hardware Inventory export HW Export Factory configuration export FACTORY CONFIG Export configuration export RAID Applying the pending RAID configuration ConfigRAID:< RAID Controller FQDD> configuration Each RAID controller has an FQDD and is part of the DCIM_ControllerView instance. (DCIM_ControllerView.FQDD) • For example, ConfigRAID :RAID.Integrated.1-1 • For example, DCIM_ControllerView.FQDD = RAID.Integrated.1-1 BIOS Applying the pending BIOS configuration configuration ConfigBIOS: BIOS.Setup.1-1 NIC Applying the pending NIC configuration ConfigNIC:< NIC FQDD> configuration Each NIC has an FQDD and is part of the DCIM_NICView instance (DCIM_NICView.FQDD). • For example, DCIM_NICView.FQDD = NIC.Embedded.1-1 • For example, ConfigNIC: NIC.Embedded.1-1 iDRAC Card Applying the pending iDRAC iDRACConfig: Configuration configuration. • For example, iDRACConfig: iDRAC.Embedded.1

20 Version 1.2.0

JobType Description Value System Applying the pending system SYSConfig: Configuration configuration. • For example, SYSConfig: System.Embedded.1

401 7.2.3.2 JobStatus 402 The value of DCIM_LifeCycleJob.JobStatus represents the current state of the specific job. The following 403 table lists the different status values that are valid for different job types, see Table 2 for a list of job types:

404 Table 8 – JobStatus Property Values

Status Value Description Job Type: Update New New Job has been created. Downloading Job is Downloading firmware image. Downloaded Job Downloaded the firmware image. Note this status is not applicable to the direct update jobs. Scheduled Job has been scheduled. Note this status is not applicable to the direct update jobs. Running Job is being executed. Note this status is not applicable to the direct update jobs. Completed Job has been completed. Failed Job failed. Deleted Job has been deleted. Job Type: Rollback New New Job has been created. Scheduled Job has been scheduled. Running Job is being executed. Completed Job has been completed. Failed Job has Failed. Job Type: Reboot Pending Reboot Reboot Pending for this job. Reboot Completed Reboot Job completed. Reboot Failed Reboot Job failed. Job Type: vFlash New or NEW New Job has been created. Completed Job has been completed. Failed Job failed. Job Type: LC Export, HW Export, FACTORY CONFIG Export New New Job has been created. Completed Job has been completed. Failed Job failed. Job Type: RAID Configuration New New Job has been created. Ready For Execution Job is ready for execution. Scheduled Job has been scheduled. Running Job is being executed.

Version 1.2.0 21 Status Value Description Completed Job has been completed. Failed Job failed. Job Type: NIC Configuration New New Job has been created. Ready For Execution Job is ready for execution. Scheduled Job has been scheduled. Running Job is being executed. Completed Job has been completed. Completed with Errors Job has been completed with one or more errors. Failed Job failed. Job Type: BIOS Configuration New New Job has been created. Ready For Execution Job is ready for execution. Scheduled Job has been scheduled. Running Job is being executed. Completed Job has been completed. Completed with Errors Job has been completed with one or more errors. Failed Job failed. Job Type: IDRAC Card Configuration New New Job has been created. Ready For Execution Job is ready for execution. Completed Job has been completed. Completed with Errors Job has been completed with one or more errors. Failed Job failed. Job Type: System Configuration New New Job has been created. Ready For Execution Job is ready for execution. Completed Job has been completed. Completed with Errors Job has been completed with one or more errors. Failed Job failed.

405 7.3 DCIM_LCRegisteredProfile 406 The CIM_RegisteredProfile class is defined by the Profile Registration Profile. The requirements denoted 407 in this profile are in addition to those mandated by the Profile Registration Profile.

408 7.3.1 Resource URIs for WinRM® 409 The class Resource URI shall be "http://schemas.dmtf.org/wbem/wscim/1/cim- 410 schema/2/CIM_RegisteredProfile?__cimnamespace=root/interop"

411 The key property shall be the InstanceID property.

412 The instance Resource URI shall be: “http://schemas.dell.com/wbem/wscim/1/cim- 413 schema/2/DCIM_LCRegisteredProfile?__cimnamespace=root/interop+InstanceID= DCIM:JobControl:1.0.0”

22 Version 1.2.0

414 7.3.2 Operations 415 The following table lists the operations implemented on DCIM_SystemView.

416 Table 9 – DCIM_LCRegisteredProfile - Operations Operation Name Requirements Required Input Get Mandatory Instance URI Enumerate Mandatory Class URI

417 7.3.3 Class Properties 418 The following table lists the implemented properties for DCIM_LCRegisteredProfile instance representing 419 Job Control Profile implementation. The “Requirements” column shall denote whether the property is 420 implemented (for requirement definitions, see section 3). The “Additional Requirements” column shall 421 denote either possible values for the property, or requirements on the value formulation.

422 Table 10 – Class: DCIM_LCRegisteredProfile

Properties Type Requirement Additional Requirements InstanceID string Mandatory This property shall have a value of “DCIM:LCManagement:1.0.0” RegisteredName string Mandatory This property shall have a value of “Job Control”. RegisteredVersion string Mandatory This property shall have a value of “1.2.0”. RegisteredOrganization uint16 Mandatory This property shall have a value of 1 (Other). OtherRegisteredOrganization string Mandatory This property shall match “DCIM” AdvertiseTypes[] uint16 Mandatory This property array shall have values “1(Other)” and “1(Other)” AdvertiseTypeDescriptions[] string Mandatory This property array shall have values “WS-Identify” and “Interop Namespace” This property array shall describe the required licenses for this profile.

If no license is required for the profile, the ProfileRequireLicense[] string Mandatory property shall have value NULL. This property array shall contain the status for the corresponding license in the same element index of the ProfileRequireLicense array property. Each array element shall contain: • “LICENSED” • “NOT_LICENSED” If no license is required for the profile, the ProfileRequireLicenseStatus[] string Mandatory property shall have value NULL.

423 8 Methods 424 This section details the requirements for supporting intrinsic operations and extrinsic methods for the CIM 425 elements defined by this profile.

Version 1.2.0 23 426 8.1 DCIM_JobService.SetupJobQueue()

427 The SetupJobQueue() method is used for creating a job queue that shall contain one or more 428 DCIM_LyfecycleJobs with a specified order of execution within the queue.

24 Version 1.2.0

429 Table 11 – DCIM_JobService.SetupJobQueue() Method: Return Code Values

Value Description 0 Request was successfully executed. 1 Method is unsupported. 2 Error occurred

430 Table 12 – DCIM_JobService.SetupJobQueue() Method: Parameters

Qualifiers Name Type Description/Values IN JobArray string[] Array containing the value of the InstanceID property of the instances of DCIM_LifeCycleJob that represent the set of jobs to add to the job queue. This is an ordered array that represents the sequence in which the jobs are run. IN StartTimeInterval string Start time for the job execution in format: yyyymmddhhmmss. The string "TIME_NOW" means immediate. IN UntilTime string End time for the job execution in format: yyyymmddhhmmss. If this parameter is not NULL, then StartTimeInterval parameter shall also be specified.. OUT Message string Error Message OUT MessageID string Error Message ID- can be used to index into Dell Message registry files. OUT MessageArguments string[] Substitution variables for dynamic error messages.

431 Table 13 – DCIM_JobService.SetupJobQueue() Method: Standard Messages

MessageID (OUT parameter) Message MessageArguments[] JCP010 The command was successful JCP011 Invalid parameter value JCP012 Resource allocation failure JCP013 Required parameter not found Maximum number of jobs per JCP014 queue exceeded The job cannot be deleted as it is JCP015 currently in The scheduled time window must JCP016 be at least 1 hour SUP011 Invalid Job ID SUP017 Invalid Start Time SUP018 Invalid Until Time JobQueue Exceeds the size limit. SUP022 Delete unwanted JobID(s) SUP023 Duplicate JobID Entries

Version 1.2.0 25 432 8.2 DCIM_JobService.DeleteJobQueue()

433 The DeleteJobQueue() method is used for deleting one or all jobs from the JobQueue (or job store).

434 Clearing all the jobs may be accomplished using the keyword JID_CLEARALL for the JobID. Note that 435 the successful execution of this method with the JID_CLEARALL parameter value shall all the 436 pending attribute values as well.

437 When the number of jobs in the JobQueue reaches the maximum limit, jobs in the “Completed” state shall 438 be automatically deleted. 439 NOTE: In 11G, jobs in the “Failed” state shall not be automatically deleted and shall be manually removed one at a 440 time, or using the keyword JID_CLEARALL as mentioned above.

441 Table 14 – DCIM_JobService.DeleteJobQueue() Method: Return Code Values

Value Description 0 Request was successfully executed. 1 Method is unsupported. 2 Error occurred

442

443 Table 15 – DCIM_JobService.DeleteJobQueue() Method: Parameters

Qualifiers Name Type Description/Values IN JobID string The InstanceID property of the instances of DCIM_LifeCycleJob that represent the job to be deleted. The value “JID_CLEARALL” for the JobID will clear all the jobs.

OUT Message string Error Message

OUT MessageID string Error Message ID- can be used to index into Dell Message registry files

OUT MessageArguments string[] Substitution variables for dynamic error messages

444

26 Version 1.2.0

445 Table 16 – DCIM_JobService.DeleteJobQueue() Method: Standard Messages

MessageID (OUT parameter) Message MessageArguments[] JCP012 Resource allocation failure JCP013 Required parameter not found The job cannot be deleted as it is JCP015 currently in process SUP011 Invalid Job ID SUP020 The specified job was deleted 446

447 8.3 DCIM_JobService.SetDeleteOnCompletionTimeout ()

448 This method will set the job store auto-delete policy. After successful execution, the jobs that have been 449 completed for longer than the DeleteOnCompletionTimeout parameter specifies shall be deleted when 450 the auto-delete threshold is reached. The auto-delete threshold is specified in the 451 DCIM_JobService.StartAutoDeleteAtThreshold property and represents percentage of maximum jobs.

452 Table 17 – DCIM_JobService.CreateRebootJob() Method: Return Code Values

Value Description 0 Request was successfully executed. 1 Method is unsupported. 2 Error occurred

453 Table 18 – DCIM_JobService.CreateRebootJob() Method: Parameters

Qualifiers Name Type Description/Values IN, REQ DeleteOnCompletionTi uint16 Specifies time for auto job deletion meout in minutes. OUT Message string Error Message OUT MessageID string Error Message ID- can be used to index into Dell Message registry files OUT MessageArguments string[] Substitution variables for dynamic error messages

454

Version 1.2.0 27 455 Table 19 – DCIM_JobService.CreateRebootJob() Method: Standard Messages

MessageID (OUT parameter) Message MessageArguments[] JCP010 The command was successful JCP011 Invalid parameter value JCP012 Resoure allocation failure JCP013 Required parameter not found JobQueue Exceeds the size limit. SUP022 Delete unwanted JobID(s) 456

457 8.4 DCIM_JobService.CreateRebootJob ()

458 The CreateRebootJob() method is used for creating a reboot job.

459 Table 20 – DCIM_JobService.CreateRebootJob() Method: Return Code Values

Value Description 0 Request was successfully executed. 1 Method is unsupported. 2 Error occurred

460 Table 21 – DCIM_JobService.CreateRebootJob() Method: Parameters

Qualifiers Name Type Description/Values IN RebootJobType uint16 Input Parameter represents the type of Reboot : • 1 = “PowerCycle" • 2 = “Graceful Reboot without forced shutdown” • 3 = “Graceful Reboot with forced shutdown" OUT Message string Error Message OUT MessageID string Error Message ID- can be used to index into Dell Message registry files OUT MessageArguments string[] Substitution variables for dynamic error messages OUT Job DCIM_LifecycleJob Returns the created reboot job. REF

461

28 Version 1.2.0

462 Table 22 – DCIM_JobService.CreateRebootJob() Method: Standard Messages

MessageID (OUT parameter) Message MessageArguments[] JCP010 The command was successful JCP011 Invalid parameter value JCP012 Resoure allocation failure JCP013 Required parameter not found JobQueue Exceeds the size limit. SUP022 Delete unwanted JobID(s)

463

464 9 Use Cases 465 See Lifecycle Controller (LC) Integration Best Practices Guide

466 10 CIM Elements 467 No additional details specified.

468 11 Privilege and License Requirement 469 The following table describes the privilege and license requirements for the listed operations . For the 470 detailed explanation of the privileges and licenses, refer to the Dell WSMAN Licenses and Privileges 471 specification.

472 Table 23 – Privilege and License Requirements User Privilege Class and Method Operation License Required Required ENUMERATE, DCIM_LifecycleJob GET Login None. ENUMERATE, DCIM_JobService GET Login None. LM_REMOTE_CONFIGURAT DCIM_JobService.SetupJobQueue() INVOKE Login, Configure ION LM_REMOTE_CONFIGURAT DCIM_JobService.DeleteJobQueue() INVOKE Login, Configure ION LM_REMOTE_CONFIGURAT DCIM_JobService.CreateRebootJob() INVOKE Login ION LM_REMOTE_CONFIGURAT DCIM_JobService.DeleteJobs() INVOKE Login ION DCIM_JobService. LM_REMOTE_CONFIGURAT SetDeleteOnCompletionTimeout() INVOKE Login ION ENUMERATE, DCIM_LCRegisteredProfile GET Login None. ENUMERATE, DCIM_LCElementConformsToProfile GET Login None.

473

Version 1.2.0 29