docs: def read_raid(self, controller=None):
          """Get the current RAID configuration from the system.
  
          :param controller: If controller model its post-create read else
                             post-delete
          :returns: current raid config.
          """
          if controller:
              if not self.logical_drives:
                  msg = ('No logical drives found on the controller')
                  LOG.debug(msg)
                  raise exception.IloLogicalDriveNotFoundError(msg)
              raid_op = 'create_raid'
          else:
              raid_op = 'delete_raid'
  
          result, raid_message = self._check_smart_storage_message()
  
          if result:
              configured_raid_settings = self._conn.get(self.settings_uri)
              raid_data = {
                  'logical_disks': self._generic_format(
                      configured_raid_settings.json(), controller=controller)}
              return raid_data
          else:
              if self.physical_drives is None or not raid_message:
                  # This controller is not configured or controller
                  # not used in raid operation
                  return
              else:
                  msg = ('Failed to perform the %(opr)s operation '
                         'successfully. Error - %(error)s'
                         % {'opr': raid_op, 'error': str(raid_message)})
                  raise exception.IloError(msg)