This page describes how DPOD prepares the execution flow of a firmware upgrade plan (using tasks) and subsequently - how the tasks themselves are executed.
Task Creation Flow
General execution flow for a firmware upgrade plan:
- Verify that the system allows Firmware Upgrades to run. (See Configurable Parameters and Settings to learn how to enable or disable all firmware upgrade activities)
- Verify that the current system time is within the maintenance window timeframe defined for the plan
- Verify that the image repository path that was set in system parameters actually exist (See Configurable Parameters and Settings)
- Iterate over all the activities defined for the plan, and split them into executable tasks.
For example: consider a plan with two activities, one to upgrade devices QA* and a second to upgrade device - TEST9.
DPOD will create three tasks:
a. Firmware upgrade task for device QA1
b. Firmware upgrade task for device QA2
c. Firmware upgrade task for device TEST9
If all the created tasks are in "Skipped" state (because the devices are not available, or because no devices matched the input patterns) - the plan will stop - If there are any tasks waiting to be executed - the Pre-Plan Script will be executed (if requested in the plan settings).the plan will stop if the script's return code is higher than 0
Task Execution Flow
Only 2 firmware upgrade tasks will be executed in parallel
After the firmware upgrade tasks are created, they will start to execute. The following is the general execution flow for a task:
Firmware upgrade tasks will start to execute in the order they were created, which corresponds to the order which the activities were defined.
- Check that the image file's model type (IDG, XG, XI, XB) matches the device
- Verify that the image file is actually an upgrade, if it's a downgrade, DPOD will only allow downgrade to the same major release (if the user checked the "Allow Major Release Downgrade" option in the activity)
- Check that the same features appear in the image and device (Tibco-EMS and/or Dco-Oracle)
If features present in the image but not in the device - stop
If the features present in the device but not in the image - stop - unless the user checked the "Allow Features Incompatibility" option in the activity. - Check that the image file's format matches the device (scrypt3 for physical devices or scrpyt4 for virtual devices)
- Verify that there is enough space in the encrypted and temporary file systems to upload the selected image file
- Check that there are no unsaved changes in any domains in the device
- Check that there are no quiesced domains in the device
- Run the user's pre-script (if requested in the activity), the task will stop if the script return value is larger than 0
- Issue a Quiesce domain/device SOMA (if requested for the activity)
- Wait for the device or domain to finish quiescing. A timeout value may be specified for the Quiesce SOMA (see Configurable Parameters and Settings),
DPOD will cancel the task if the domain(s) are not yet quiesced 3 minutes after the specified timeout, and will issue an Unquiesce SOMA - Restart the device (if requested for the activity)
- After the device finished restarting, wait for the time that was defined in the activity's "Seconds to wait after restart" field
- DPOD will upload the firmware image to the monitored device
- Issue a Quiesce domain/device SOMA - this step will always run, even if the user did not ask for a quiesce before the restart
- Once all the domains are quiesced - start the firmware upgrade
- Wait for the upgrade to finish,
The maximum time that DPOD will wait for the upgrade to finish is defined in the activity's "Upgrade timeout in seconds" field, - Run the user's post-task script (if requested in the activity)
When all the plan's tasks completed execution, the post-plan script will be executed (if requested in the plan settings)
Firmware Upgrade Execution Results
The Plan Details page shows the 40 most recent plan execution results,
The table outlines the following details for each plan execution
Column Name | Description |
---|---|
ID | The Plan Execution ID |
Start Time | The time the plan entered the execution queue |
Devices | Number of devices that were supposed to be upgraded. Both failed and successful upgrades are aggregated. |
Status | The current status of the plan |
Successful Tasks | Number of upgrade tasks that completed successfully for this plan execution |
Failed Tasks | Number of upgrade tasks that failed for this plan execution |
Skipped Tasks | Number of upgrade tasks that did not execute, e.g. because the device was not available |
Error Message | Plan's Error message (If any) |
Click the status column to drill into the activities execution details page
Column Name | Description |
---|---|
ID | The Activity Execution ID |
Status Time | The last time the status of the activity changed |
Device Pattern | The device name or pattern that was used for this firmware upgrade activity |
Firmware Image | The name of the image file selected for the upgrade |
Status | The current status of the activity |
Successful Tasks | Number of upgrade tasks that completed successfully for this activity execution |
Failed Tasks | Number of upgrade tasks that failed for this activity execution |
Skipped Tasks | Number of upgrade tasks that were skipped for this activity execution |
Click the status column to drill into the task execution details page
Column Name | Description |
---|---|
ID | The Task Execution ID |
Status Time | The last time the status of the task changed |
Device Name | The Device being upgraded |
Firmware Before | The firmware level of the device before the task run |
Firmware After | The firmware level of the device after the task run or "Unchanged" if the device was not upgraded. |
Status | The current status of the task |
Error Message | Task's Error message if any |
Click the status column to drill into the downloaded files details page