moob 0.3.3 → 0.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/COPYING +12 -3
- data/bin/moob +83 -78
- data/lib/moob.rb +52 -51
- data/lib/moob/baselom.rb +39 -38
- data/lib/moob/ibmeserver.rb +55 -56
- data/lib/moob/idrac6.rb +147 -196
- data/lib/moob/megatrends.rb +65 -65
- data/lib/moob/sunilom.rb +42 -42
- metadata +54 -66
data/lib/moob/sunilom.rb
CHANGED
@@ -1,53 +1,53 @@
|
|
1
1
|
module Moob
|
2
2
|
class SunILom < BaseLom
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
3
|
+
@name = 'Sun Integrated Lights Out Manager'
|
4
|
+
|
5
|
+
def initialize hostname, options = {}
|
6
|
+
super hostname, options
|
7
|
+
@username ||= 'root'
|
8
|
+
@password ||= 'changeme'
|
9
|
+
end
|
10
|
+
|
11
|
+
def authenticate
|
12
|
+
auth = @session.post 'iPages/loginProcessor.asp', {
|
13
|
+
'username' => @username,
|
14
|
+
'password' => @password
|
15
|
+
}
|
16
|
+
|
17
|
+
raise ResponseError.new auth unless auth.status == 200
|
18
|
+
|
19
|
+
if auth.body =~ /\/iPages\/i_login.asp\?msg=([^"])+"/
|
20
|
+
error = "code #{$1}"
|
21
|
+
error_page = @session.get "iPages/i_login.asp?msg=#{$1}"
|
22
|
+
if error_page.body =~ /<div class="AlrtErrTxt">(.*?)<\/div>/
|
23
|
+
error = "\"#{$1.gsub /<[^>]+>/, ''}\""
|
24
|
+
end
|
25
|
+
|
26
|
+
raise "Auth failed (#{error})"
|
9
27
|
end
|
10
28
|
|
11
|
-
|
12
|
-
|
13
|
-
'username' => @username,
|
14
|
-
'password' => @password
|
15
|
-
}
|
16
|
-
|
17
|
-
raise ResponseError.new auth unless auth.status == 200
|
29
|
+
auth.body =~ /SetWebSessionString\("([^"]+)","([^"]+)"\);/
|
30
|
+
raise "Couldn't find session cookie in \"#{auth.body}\"" unless $&
|
18
31
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
if error_page.body =~ /<div class="AlrtErrTxt">(.*?)<\/div>/
|
23
|
-
error = "\"#{$1.gsub /<[^>]+>/, ''}\""
|
24
|
-
end
|
32
|
+
@cookie = "#{$1}=#{$2}; langsetting=EN"
|
33
|
+
return self
|
34
|
+
end
|
25
35
|
|
26
|
-
|
27
|
-
|
36
|
+
action :jnlp, 'Remote control'
|
37
|
+
def jnlp
|
38
|
+
viewer = @session.get 'cgi-bin/jnlpgenerator-8', { 'Cookie' => @cookie }
|
39
|
+
raise ResponseError.new viewer unless viewer.status == 200
|
28
40
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
@cookie = "#{$1}=#{$2}; langsetting=EN"
|
33
|
-
return self
|
34
|
-
end
|
35
|
-
|
36
|
-
action :jnlp, 'Remote control'
|
37
|
-
def jnlp
|
38
|
-
viewer = @session.get 'cgi-bin/jnlpgenerator-8', { 'Cookie' => @cookie }
|
39
|
-
raise ResponseError.new viewer unless viewer.status == 200
|
40
|
-
|
41
|
-
return viewer.body
|
42
|
-
end
|
41
|
+
return viewer.body
|
42
|
+
end
|
43
43
|
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
end
|
44
|
+
def detect
|
45
|
+
begin
|
46
|
+
home = @session.get 'iPages/i_login.asp'
|
47
|
+
home.body =~ /Sun\(TM\) Sun Integrated Lights Out Manager/
|
48
|
+
rescue
|
49
|
+
false
|
51
50
|
end
|
51
|
+
end
|
52
52
|
end
|
53
53
|
end
|
metadata
CHANGED
@@ -1,99 +1,87 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: moob
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
6
|
-
- 0
|
7
|
-
- 3
|
8
|
-
- 3
|
9
|
-
version: 0.3.3
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.3.4
|
5
|
+
prerelease:
|
10
6
|
platform: ruby
|
11
|
-
authors:
|
7
|
+
authors:
|
12
8
|
- Pierre Carrier
|
13
9
|
autorequire:
|
14
10
|
bindir: bin
|
15
11
|
cert_chain: []
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
dependencies:
|
20
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-04-26 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
21
15
|
name: patron
|
22
|
-
|
23
|
-
|
24
|
-
requirements:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
25
19
|
- - ~>
|
26
|
-
- !ruby/object:Gem::Version
|
27
|
-
segments:
|
28
|
-
- 0
|
29
|
-
- 4
|
30
|
-
- 14
|
20
|
+
- !ruby/object:Gem::Version
|
31
21
|
version: 0.4.14
|
32
22
|
type: :runtime
|
33
|
-
version_requirements: *id001
|
34
|
-
- !ruby/object:Gem::Dependency
|
35
|
-
name: json
|
36
23
|
prerelease: false
|
37
|
-
|
38
|
-
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 0.4.14
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: json
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
39
35
|
- - ~>
|
40
|
-
- !ruby/object:Gem::Version
|
41
|
-
segments:
|
42
|
-
- 1
|
43
|
-
- 5
|
44
|
-
- 3
|
36
|
+
- !ruby/object:Gem::Version
|
45
37
|
version: 1.5.3
|
46
38
|
type: :runtime
|
47
|
-
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 1.5.3
|
48
46
|
description: Control systems using Web-based out-of-band managers without a browser
|
49
|
-
email:
|
50
|
-
- pierre@
|
51
|
-
executables:
|
47
|
+
email:
|
48
|
+
- pierre@spotify.com
|
49
|
+
executables:
|
52
50
|
- moob
|
53
51
|
extensions: []
|
54
|
-
|
55
52
|
extra_rdoc_files: []
|
56
|
-
|
57
|
-
files:
|
53
|
+
files:
|
58
54
|
- bin/moob
|
59
|
-
- lib/moob/
|
60
|
-
- lib/moob/ibmeserver.rb
|
55
|
+
- lib/moob/sunilom.rb
|
61
56
|
- lib/moob/idrac6.rb
|
57
|
+
- lib/moob/ibmeserver.rb
|
58
|
+
- lib/moob/baselom.rb
|
62
59
|
- lib/moob/megatrends.rb
|
63
|
-
- lib/moob/sunilom.rb
|
64
60
|
- lib/moob.rb
|
65
61
|
- COPYING
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
- Public-domain-like
|
62
|
+
homepage: https://github.com/spotify/moob
|
63
|
+
licenses:
|
64
|
+
- ISC
|
70
65
|
post_install_message:
|
71
66
|
rdoc_options: []
|
72
|
-
|
73
|
-
require_paths:
|
67
|
+
require_paths:
|
74
68
|
- lib
|
75
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
requirements:
|
84
|
-
- -
|
85
|
-
- !ruby/object:Gem::Version
|
86
|
-
segments:
|
87
|
-
- 1
|
88
|
-
- 2
|
89
|
-
- 0
|
69
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
70
|
+
none: false
|
71
|
+
requirements:
|
72
|
+
- - ! '>='
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '0'
|
75
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
76
|
+
none: false
|
77
|
+
requirements:
|
78
|
+
- - ! '>='
|
79
|
+
- !ruby/object:Gem::Version
|
90
80
|
version: 1.2.0
|
91
81
|
requirements: []
|
92
|
-
|
93
82
|
rubyforge_project: moob
|
94
|
-
rubygems_version: 1.
|
83
|
+
rubygems_version: 1.8.23
|
95
84
|
signing_key:
|
96
85
|
specification_version: 3
|
97
86
|
summary: Manage Out-Of-Band!
|
98
87
|
test_files: []
|
99
|
-
|