diff options
Diffstat (limited to 'ironic/drivers/modules/drac/raid.py')
-rw-r--r-- | ironic/drivers/modules/drac/raid.py | 12 |
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: |