Module: Moob
- Defined in:
- lib/moob.rb,
lib/moob/pec.rb,
lib/moob/idrac6.rb,
lib/moob/idrac7.rb,
lib/moob/sunilom.rb,
lib/moob/version.rb,
lib/moob/ibmeserver.rb,
lib/moob/megatrends.rb,
lib/moob/supermicro.rb
Defined Under Namespace
Classes: BaseLom, IbmEServer, Idrac6, Idrac7, Megatrends, Pec, ResponseError, SunILom, Supermicro
Constant Summary
collapse
- TYPES =
{
:idrac6 => Idrac6,
:idrac7 => Idrac7,
:megatrends => Megatrends,
:sun => SunILom,
:ibm => IbmEServer,
:supermicro => Supermicro
}
- AUTODETECT_ORDER =
[ :idrac7, :idrac6, :supermicro, :megatrends, :sun, :ibm ]
- VERSION =
[0,3,16]
Class Method Summary
collapse
Class Method Details
91
92
93
|
# File 'lib/moob.rb', line 91
def self.inform msg
$stderr.puts "\033[36m#{msg}\033[0m" if $VERBOSE
end
|
.lom(type, hostname, options = {}) ⇒ Object
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
# File 'lib/moob.rb', line 35
def self.lom type, hostname, options = {}
case type
when :auto
AUTODETECT_ORDER.each do |sym|
Moob.inform "Trying type #{sym}..."
lom = TYPES[sym].new hostname, options
if lom.detect
Moob.inform "Type #{sym} detected."
return lom
end
false
end
raise 'Couldn\'t detect a known LOM type'
else
raise "Type #{type} unknown" unless TYPES[type]
return TYPES[type].new hostname, options
end
end
|
.save_console_preview(lom) ⇒ Object
78
79
80
81
82
83
84
85
86
87
88
89
|
# File 'lib/moob.rb', line 78
def self.save_console_preview lom
imgfile, = lom.fetch_console_preview
timestamp=Time.parse(['Last-modified'])
fileext=['Content-type'].split('/')[1]
filename="#{lom.hostname}-#{timestamp.utc.iso8601(0)}.#{fileext}"
FileUtils.cp(imgfile.path, filename)
return filename
end
|
.show_console_preview(lom) ⇒ Object
68
69
70
71
72
73
74
75
76
|
# File 'lib/moob.rb', line 68
def self.show_console_preview lom
imgfile, = lom.fetch_console_preview
if RUBY_PLATFORM =~ /darwin/
raise 'open failed' unless system "open #{imgfile.path}"
else
raise 'see failed' unless system "see #{imgfile.path}"
end
end
|
.start_jnlp(lom) ⇒ Object
54
55
56
57
58
59
60
61
62
63
64
65
66
|
# File 'lib/moob.rb', line 54
def self.start_jnlp lom
jnlp = lom.jnlp
unless jnlp[/<\/jnlp>/]
raise "Invalid JNLP file (\"#{jnlp}\")"
end
tmpfile = Tempfile.new("#{lom.hostname}_#{Time.now.to_i}.jnlp")
tmpfile.write jnlp
tmpfile.close
raise 'javaws failed' unless system "javaws -wait #{tmpfile.path}"
end
|
.warn(msg) ⇒ Object
95
96
97
|
# File 'lib/moob.rb', line 95
def self.warn msg
$stderr.puts "\033[36m#{msg}\033[0m"
end
|