Class: Elesai::LSI::PhysicalDrive

Inherits:
Hash
  • Object
show all
Defined in:
lib/elesai/lsi.rb

Defined Under Namespace

Classes: FirmwareState, Size

Constant Summary collapse

STATES =
{
    :online               => 'Online',
    :unconfigured_good    => 'Unconfigured(good)',
    :hotspare             => 'Hotspare',
    :failed               => 'Failed',
    :rebuild              => 'Rebuild',
    :unconfigured_bad     => 'Unconfigured(bad)',
    :missing              => 'Missing',
    :offline              => 'Offline'
}
SPINS =
{
    :spun_up              => 'Spun up'
}

Instance Method Summary collapse

Constructor Details

#initializePhysicalDrive

Returns a new instance of PhysicalDrive.



163
164
165
166
# File 'lib/elesai/lsi.rb', line 163

def initialize
  self[:_adapter] = nil
  self[:_virtualdrives] = []
end

Instance Method Details

#_idObject



168
169
170
# File 'lib/elesai/lsi.rb', line 168

def _id
  "e#{self[:enclosuredeviceid].to_s}s#{self[:slotnumber].to_s}".to_sym
end

#add_adapter(a) ⇒ Object



182
183
184
# File 'lib/elesai/lsi.rb', line 182

def add_adapter(a)
  self[:_adapter] = a
end

#add_virtualdrive(vd) ⇒ Object



190
191
192
# File 'lib/elesai/lsi.rb', line 190

def add_virtualdrive(vd)
   self[:_virtualdrives][vd._id] = vd if self[:_virtualdrives][vd._id].nil?
end

#get_adapterObject



186
187
188
# File 'lib/elesai/lsi.rb', line 186

def get_adapter
  self[:_adapter]
end

#get_virtualdrive(vd_id) ⇒ Object



194
195
196
# File 'lib/elesai/lsi.rb', line 194

def get_virtualdrive(vd_id)
  self[:_virtualdrives][vd_id]
end

#get_virtualdrivesObject



198
199
200
# File 'lib/elesai/lsi.rb', line 198

def get_virtualdrives
  self[:_virtualdrives]
end

#inspectObject



178
179
180
# File 'lib/elesai/lsi.rb', line 178

def inspect
  "#{self.class}:#{self.__id__}"
end

#to_sObject



172
173
174
175
176
# File 'lib/elesai/lsi.rb', line 172

def to_s
  keys = [:deviceid, :firmwarestate, :coercedsize, :mediatype, :pdtype, :mediaerrorcount, :predictivefailurecount,:inquirydata]
  #"[PD] %8s %4s %19s %8.2f%s %5s %5s %3d %3d   %s" % [ self.id, @deviceid, "#{@state}:#{@spin}", @_size.number, @_size.unit, @mediatype, @pdtype, @mediaerrors, @predictivefailure, @inquirydata  ]
  "[PD] %8s %4s %19s %s %5s %5s %3d %3d  a%s  %s" % [ self._id, self[:deviceid], self[:firmwarestate], self[:coercedsize], self[:mediatype], self[:pdtype], self[:mediaerrorcount], self[:predictivefailurecount], self[:_adapter]._id, self[:inquirydata] ]
end