diff options
Diffstat (limited to 'ironic_python_agent/hardware.py')
-rw-r--r-- | ironic_python_agent/hardware.py | 10 |
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) |