summaryrefslogtreecommitdiff
path: root/ironic_python_agent/hardware.py
diff options
context:
space:
mode:
Diffstat (limited to 'ironic_python_agent/hardware.py')
-rw-r--r--ironic_python_agent/hardware.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/ironic_python_agent/hardware.py b/ironic_python_agent/hardware.py
index 6c3b4184..eda78f4a 100644
--- a/ironic_python_agent/hardware.py
+++ b/ironic_python_agent/hardware.py
@@ -2641,6 +2641,7 @@ class GenericHardwareManager(HardwareManager):
"two logical disks")
raid_errors.append(msg)
+ volume_names = []
# All disks need to be flagged for Software RAID
for logical_disk in logical_disks:
if logical_disk.get('controller') != 'software':
@@ -2648,6 +2649,15 @@ class GenericHardwareManager(HardwareManager):
"disks to have 'controller'='software'")
raid_errors.append(msg)
+ volume_name = logical_disk.get('volume_name')
+ if volume_name is not None:
+ if volume_name in volume_names:
+ msg = ("Duplicate software RAID device name %s "
+ "detected" % volume_name)
+ raid_errors.append(msg)
+ else:
+ volume_names.append(volume_name)
+
physical_disks = logical_disk.get('physical_disks')
if physical_disks is not None:
if (not isinstance(physical_disks, list)