diff --git a/confluent_server/confluent/messages.py b/confluent_server/confluent/messages.py index 0ff34e7b..9e3825d5 100644 --- a/confluent_server/confluent/messages.py +++ b/confluent_server/confluent/messages.py @@ -1438,6 +1438,7 @@ class Disk(ConfluentMessage): state_aliases = { 'unconfigured good': 'unconfigured', 'global hot spare': 'hotspare', + 'dedicated hot spare': 'hotspare', } def _normalize_state(self, instate): diff --git a/confluent_server/confluent/plugins/hardwaremanagement/ipmi.py b/confluent_server/confluent/plugins/hardwaremanagement/ipmi.py index 606f826c..7febb8a6 100644 --- a/confluent_server/confluent/plugins/hardwaremanagement/ipmi.py +++ b/confluent_server/confluent/plugins/hardwaremanagement/ipmi.py @@ -1126,6 +1126,11 @@ class IpmiHandler(object): msg.Disk(self.node, disk.name, disk.description, disk.id, disk.status, disk.serial, disk.fru, array='{0}-{1}'.format(*arr.id))) + for disk in arr.hotspares: + self.output.put( + msg.Disk(self.node, disk.name, disk.description, + disk.id, disk.status, disk.serial, + disk.fru, array='{0}-{1}'.format(*arr.id))) for arr in scfg.arrays: arrname = '{0}-{1}'.format(*arr.id) self._detail_array(arr, arrname, True) @@ -1147,6 +1152,13 @@ class IpmiHandler(object): msg.Disk(self.node, disk.name, disk.description, disk.id, disk.status, disk.serial, disk.fru, arrname)) + for disk in arr.hotspares: + if (name == 'all' or simplify_name(disk.name) == name or + disk == name): + self.output.put( + msg.Disk(self.node, disk.name, disk.description, + disk.id, disk.status, disk.serial, + disk.fru, arrname)) def list_disks(self): scfg = self.ipmicmd.get_storage_configuration() @@ -1155,6 +1167,8 @@ class IpmiHandler(object): for arr in scfg.arrays: for disk in arr.disks: self.output.put(msg.ChildCollection(simplify_name(disk.name))) + for disk in arr.hotspares: + self.output.put(msg.ChildCollection(simplify_name(disk.name))) def list_arrays(self): scfg = self.ipmicmd.get_storage_configuration() @@ -1175,6 +1189,8 @@ class IpmiHandler(object): disks = [] for disk in arr.disks: disks.append(simplify_name(disk.name)) + for disk in arr.hotspares: + disks.append(simplify_name(disk.name)) self.output.put(msg.Array(self.node, disks, arr.raid, vols, arrname, arr.capacity, arr.available_capacity))