Jobs & tasks
Two views of the same machinery. Understanding it explains most “why didn’t my change apply?” confusion.
The Dell job queue
Section titled “The Dell job queue”Dell applies staged changes through jobs (IDs like
JID_881783808368). Created implicitly when you:
- PATCH
/Bios/Settingswith ApplyTime OnReset (BIOS config job) - Import an SCP (host config job)
- Push a firmware update
List: Managers/iDRAC.Embedded.1/Oem/Dell/Jobs (the idrac_jobs tool).
The SAME JID is also visible as a standard Redfish task at
/redfish/v1/TaskService/Tasks/{JID} — same state, two schemas.
Job lifecycle
Section titled “Job lifecycle”Scheduled ──(trigger event, usually reboot)──> Running ──> Completed └──> Failed (Message says why)- Scheduled = waiting for its trigger. A BIOS config job sits here until the host reboots — it is NOT stuck.
- Running during POST for BIOS jobs (server takes minutes longer to boot; that’s the job executing).
- Failed carries the real validation error. Dell validates BIOS
values at APPLY time — a successful
idrac_bios_set+ a Failed job means the value was rejected.
ApplyTime semantics
Section titled “ApplyTime semantics”@Redfish.SettingsApplyTime on settings PATCHes:
OnReset— apply at next reboot (what mcidrac uses; safe default)Immediate— only valid for things that don’t need POST (most BIOS attrs reject it)AtMaintenanceWindowStart— needs a configured maintenance window
DellAttributes (idrac_attributes_set) bypass all of this — they apply instantly with no job at all.
SCP task polling quirk
Section titled “SCP task polling quirk”An SCP export task’s GET response morphs: while running it returns
{"TaskState": "Running", "PercentComplete": N}; once complete, the SAME
URI returns the exported configuration document with no TaskState at all.
mcidrac’s poller treats a 200 with no task fields as the finished payload.
An SCP import with ShutdownType=NoReboot stays Scheduled until a
manual reboot triggers it.
Cleaning up
Section titled “Cleaning up”A stuck job queue (rare; usually after interrupted firmware updates)
can be cleared with racadm jobqueue delete --all over SSH, or the
DellJobService.DeleteJobQueue OEM action. Doing this while a job is
mid-flash can brick the component — only clear Scheduled/Failed jobs.