summaryrefslogtreecommitdiff
path: root/ironic/drivers/modules/drac/raid.py
diff options
context:
space:
mode:
Diffstat (limited to 'ironic/drivers/modules/drac/raid.py')
-rw-r--r--ironic/drivers/modules/drac/raid.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/ironic/drivers/modules/drac/raid.py b/ironic/drivers/modules/drac/raid.py
index b42b5b21f..4bb41c1f6 100644
--- a/ironic/drivers/modules/drac/raid.py
+++ b/ironic/drivers/modules/drac/raid.py
@@ -1482,6 +1482,14 @@ class DracWSManRAID(base.RAIDInterface):
for (node_uuid, driver, conductor_group,
driver_internal_info) in node_list:
try:
+
+ job_ids = driver_internal_info.get('raid_config_job_ids')
+ # NOTE(TheJulia): Evaluate if there is work to be done
+ # based upon the original DB query's results so we don't
+ # proceed creating tasks for every node in the deployment.
+ if not job_ids:
+ continue
+
lock_purpose = 'checking async raid configuration jobs'
with task_manager.acquire(context, node_uuid,
purpose=lock_purpose,
@@ -1489,10 +1497,6 @@ class DracWSManRAID(base.RAIDInterface):
if not isinstance(task.driver.raid, DracWSManRAID):
continue
- job_ids = driver_internal_info.get('raid_config_job_ids')
- if not job_ids:
- continue
-
self._check_node_raid_jobs(task)
except exception.NodeNotFound: