rubyipmi 0.9.2 → 0.11.1
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.
- checksums.yaml +5 -5
- data/Gemfile +3 -3
- data/README.md +36 -23
- data/RELEASE_NOTES.md +48 -0
- data/Rakefile +15 -42
- data/VERSION +1 -1
- data/lib/rubyipmi/commands/basecommand.rb +17 -23
- data/lib/rubyipmi/commands/mixins/power_mixin.rb +50 -0
- data/lib/rubyipmi/commands/mixins/sensors_mixin.rb +54 -0
- data/lib/rubyipmi/freeipmi/commands/basecommand.rb +26 -35
- data/lib/rubyipmi/freeipmi/commands/bmc.rb +4 -7
- data/lib/rubyipmi/freeipmi/commands/bmcconfig.rb +7 -17
- data/lib/rubyipmi/freeipmi/commands/bmcdevice.rb +2 -9
- data/lib/rubyipmi/freeipmi/commands/bmcinfo.rb +4 -10
- data/lib/rubyipmi/freeipmi/commands/chassis.rb +27 -45
- data/lib/rubyipmi/freeipmi/commands/chassisconfig.rb +23 -38
- data/lib/rubyipmi/freeipmi/commands/fru.rb +23 -42
- data/lib/rubyipmi/freeipmi/commands/lan.rb +4 -6
- data/lib/rubyipmi/freeipmi/commands/power.rb +8 -51
- data/lib/rubyipmi/freeipmi/commands/sensors.rb +10 -67
- data/lib/rubyipmi/freeipmi/connection.rb +14 -17
- data/lib/rubyipmi/freeipmi/errorcodes.rb +11 -17
- data/lib/rubyipmi/ipmitool/commands/basecommand.rb +12 -16
- data/lib/rubyipmi/ipmitool/commands/bmc.rb +13 -22
- data/lib/rubyipmi/ipmitool/commands/chassis.rb +26 -44
- data/lib/rubyipmi/ipmitool/commands/chassisconfig.rb +11 -21
- data/lib/rubyipmi/ipmitool/commands/fru.rb +35 -48
- data/lib/rubyipmi/ipmitool/commands/lan.rb +25 -28
- data/lib/rubyipmi/ipmitool/commands/power.rb +7 -58
- data/lib/rubyipmi/ipmitool/commands/sensors.rb +10 -68
- data/lib/rubyipmi/ipmitool/connection.rb +10 -19
- data/lib/rubyipmi/ipmitool/errorcodes.rb +11 -45
- data/lib/rubyipmi/observablehash.rb +1 -2
- data/lib/rubyipmi/version.rb +5 -0
- data/lib/rubyipmi.rb +31 -28
- data/rubyipmi.gemspec +17 -128
- metadata +13 -101
- data/spec/Vagrantfile +0 -45
- data/spec/fixtures/freeipmi/bmc_config.txt +0 -317
- data/spec/fixtures/freeipmi/bmc_config_lan_conf.txt +0 -19
- data/spec/fixtures/freeipmi/bmc_info.txt +0 -32
- data/spec/fixtures/freeipmi/errors.txt +0 -3
- data/spec/fixtures/freeipmi/fru.txt +0 -13
- data/spec/fixtures/freeipmi/sensors.txt +0 -29
- data/spec/fixtures/ipmitool/bmc_info.txt +0 -20
- data/spec/fixtures/ipmitool/errors.txt +0 -10
- data/spec/fixtures/ipmitool/fru.txt +0 -96
- data/spec/fixtures/ipmitool/lan.txt +0 -17
- data/spec/fixtures/ipmitool/sensors.txt +0 -105
- data/spec/integration/bmc_spec.rb +0 -48
- data/spec/integration/chassis_config_spec.rb +0 -38
- data/spec/integration/chassis_spec.rb +0 -26
- data/spec/integration/connection_spec.rb +0 -45
- data/spec/integration/fru_spec.rb +0 -38
- data/spec/integration/lan_spec.rb +0 -50
- data/spec/integration/power_spec.rb +0 -40
- data/spec/integration/rubyipmi_spec.rb +0 -114
- data/spec/integration/sensor_spec.rb +0 -43
- data/spec/manifests/default.pp +0 -50
- data/spec/puppetmodules/archive/LICENSE-2.0.txt +0 -202
- data/spec/puppetmodules/archive/Modulefile +0 -8
- data/spec/puppetmodules/archive/README.md +0 -40
- data/spec/puppetmodules/archive/manifests/download.pp +0 -157
- data/spec/puppetmodules/archive/manifests/extract.pp +0 -81
- data/spec/puppetmodules/archive/manifests/init.pp +0 -70
- data/spec/puppetmodules/archive/manifests/tar-gz.pp +0 -7
- data/spec/puppetmodules/archive/manifests/zip.pp +0 -7
- data/spec/puppetmodules/archive/metadata.json +0 -26
- data/spec/spec_helper.rb +0 -47
- data/spec/unit/freeipmi/bmc-info_spec.rb +0 -38
- data/spec/unit/freeipmi/bmc_spec.rb +0 -43
- data/spec/unit/freeipmi/connection_spec.rb +0 -120
- data/spec/unit/freeipmi/errorcodes_spec.rb +0 -28
- data/spec/unit/freeipmi/fru_spec.rb +0 -76
- data/spec/unit/freeipmi/lan_spec.rb +0 -0
- data/spec/unit/freeipmi/sensors_spec.rb +0 -85
- data/spec/unit/ipmitool/bmc_spec.rb +0 -77
- data/spec/unit/ipmitool/connection_spec.rb +0 -121
- data/spec/unit/ipmitool/errorcodes_spec.rb +0 -35
- data/spec/unit/ipmitool/fru_spec.rb +0 -77
- data/spec/unit/ipmitool/lan_spec.rb +0 -94
- data/spec/unit/ipmitool/sensors_spec.rb +0 -96
- data/spec/unit/rubyipmi_spec.rb +0 -32
- data/spec/vagrant +0 -27
- data/spec/vagrant.pub +0 -1
data/lib/rubyipmi.rb
CHANGED
|
@@ -16,16 +16,15 @@
|
|
|
16
16
|
# USA
|
|
17
17
|
#
|
|
18
18
|
|
|
19
|
-
|
|
20
19
|
require 'rubyipmi/ipmitool/connection'
|
|
21
20
|
require 'rubyipmi/freeipmi/connection'
|
|
22
21
|
require 'logger'
|
|
23
22
|
|
|
24
23
|
class NullLogger < Logger
|
|
25
|
-
def initialize(*
|
|
24
|
+
def initialize(*_args)
|
|
26
25
|
end
|
|
27
26
|
|
|
28
|
-
def add(*
|
|
27
|
+
def add(*_args, &_block)
|
|
29
28
|
end
|
|
30
29
|
end
|
|
31
30
|
|
|
@@ -51,7 +50,7 @@ module Rubyipmi
|
|
|
51
50
|
def self.logger
|
|
52
51
|
# by default the log will be set to info
|
|
53
52
|
unless @logger
|
|
54
|
-
if @log_level
|
|
53
|
+
if @log_level && @log_level >= 0
|
|
55
54
|
@logger = Logger.new('/tmp/rubyipmi.log')
|
|
56
55
|
@logger.progname = 'Rubyipmi'
|
|
57
56
|
@logger.level = @log_level
|
|
@@ -73,23 +72,31 @@ module Rubyipmi
|
|
|
73
72
|
# If provider is left blank the function will use the first available provider
|
|
74
73
|
# When the driver is set to auto, rubyipmi will try and figure out which driver to use by common error messages. We will most likely be using
|
|
75
74
|
# the lan20 driver, but in order to support a wide use case we default to auto.
|
|
76
|
-
def self.connect(user, pass, host, provider='any', opts={:driver => '
|
|
75
|
+
def self.connect(user, pass, host, provider = 'any', opts = {:driver => 'lan20', :timeout => 'default'})
|
|
77
76
|
# use this variable to reduce cmd calls
|
|
78
77
|
installed = false
|
|
79
78
|
|
|
79
|
+
# if the user supplied nil, we want to fix this automatically
|
|
80
|
+
opts = {:driver => 'lan20', :timeout => 'default'} if opts.nil?
|
|
81
|
+
|
|
82
|
+
# convert all keys to symbols for opts, we can't assume the user will use symbols
|
|
83
|
+
opts.keys.each do |key|
|
|
84
|
+
opts[(key.to_sym rescue key) || key] = opts.delete(key)
|
|
85
|
+
end
|
|
86
|
+
|
|
80
87
|
# allow the user to specify an options hash instead of the provider
|
|
81
88
|
# in the future I would stop using the provider and use the opts hash instead to get the provider
|
|
82
89
|
# This allows us to be a little more flexible if the user is doesn't supply us what we need.
|
|
83
|
-
if provider.
|
|
90
|
+
if provider.kind_of?(Hash)
|
|
84
91
|
opts = provider
|
|
85
92
|
provider = opts[:provider] ||= 'any'
|
|
86
93
|
end
|
|
87
94
|
|
|
88
95
|
# Verify options just in case user passed in a incomplete hash
|
|
89
|
-
opts[:driver]
|
|
96
|
+
opts[:driver] ||= 'lan20'
|
|
90
97
|
opts[:timeout] ||= 'default'
|
|
91
98
|
|
|
92
|
-
if opts[:privilege]
|
|
99
|
+
if opts[:privilege] && !supported_privilege_type?(opts[:privilege])
|
|
93
100
|
logger.error("Invalid privilege type :#{opts[:privilege]}, must be one of: #{PRIV_TYPES.join("\n")}") if logger
|
|
94
101
|
raise "Invalid privilege type :#{opts[:privilege]}, must be one of: #{PRIV_TYPES.join("\n")}"
|
|
95
102
|
end
|
|
@@ -116,11 +123,11 @@ module Rubyipmi
|
|
|
116
123
|
end
|
|
117
124
|
|
|
118
125
|
# If the provider is available create a connection object
|
|
119
|
-
if installed
|
|
126
|
+
if installed || is_provider_installed?(provider)
|
|
120
127
|
if provider == "freeipmi"
|
|
121
128
|
Rubyipmi::Freeipmi::Connection.new(user, pass, host, opts)
|
|
122
129
|
elsif provider == "ipmitool"
|
|
123
|
-
Rubyipmi::Ipmitool::Connection.new(user,pass,host, opts)
|
|
130
|
+
Rubyipmi::Ipmitool::Connection.new(user, pass, host, opts)
|
|
124
131
|
else
|
|
125
132
|
logger.error("Incorrect provider given, must use one of #{valid_providers.join(', ')}") if logger
|
|
126
133
|
raise "Incorrect provider given, must use one of #{valid_providers.join(', ')}"
|
|
@@ -134,31 +141,29 @@ module Rubyipmi
|
|
|
134
141
|
|
|
135
142
|
# returns boolean true if privilege type is valid
|
|
136
143
|
def self.supported_privilege_type?(type)
|
|
137
|
-
|
|
144
|
+
PRIV_TYPES.include?(type)
|
|
138
145
|
end
|
|
139
146
|
|
|
140
147
|
# method used to find the command which also makes it easier to mock with
|
|
141
148
|
def self.locate_command(commandname)
|
|
142
149
|
location = `which #{commandname}`.strip
|
|
143
|
-
|
|
144
|
-
location = nil
|
|
145
|
-
end
|
|
150
|
+
location = nil unless $?.success?
|
|
146
151
|
location
|
|
147
152
|
end
|
|
148
153
|
|
|
149
154
|
# Return true or false if the provider is available
|
|
150
155
|
def self.is_provider_installed?(provider)
|
|
151
156
|
case provider
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
157
|
+
when "freeipmi"
|
|
158
|
+
cmdpath = locate_command('ipmipower')
|
|
159
|
+
when "ipmitool"
|
|
160
|
+
cmdpath = locate_command('ipmitool')
|
|
161
|
+
else
|
|
162
|
+
logger.error("Invalid BMC provider type #{provider}") if logger
|
|
163
|
+
false
|
|
159
164
|
end
|
|
160
165
|
# return false if command was not found
|
|
161
|
-
|
|
166
|
+
!cmdpath.nil?
|
|
162
167
|
end
|
|
163
168
|
|
|
164
169
|
def self.providers
|
|
@@ -173,15 +178,13 @@ module Rubyipmi
|
|
|
173
178
|
def self.providers_installed
|
|
174
179
|
available = []
|
|
175
180
|
providers.each do |prov|
|
|
176
|
-
if is_provider_installed?(prov)
|
|
177
|
-
available << prov
|
|
178
|
-
end
|
|
181
|
+
available << prov if is_provider_installed?(prov)
|
|
179
182
|
end
|
|
180
|
-
|
|
183
|
+
available
|
|
181
184
|
end
|
|
182
185
|
|
|
183
186
|
# gets data from the bmc device and puts in a hash for diagnostics
|
|
184
|
-
def self.get_diag(user, pass, host, opts={:driver => '
|
|
187
|
+
def self.get_diag(user, pass, host, opts = {:driver => 'lan20', :timeout => 'default'})
|
|
185
188
|
data = {}
|
|
186
189
|
if Rubyipmi.is_provider_installed?('freeipmi')
|
|
187
190
|
freeconn = Rubyipmi.connect(user, pass, host, 'freeipmi', opts)
|
|
@@ -197,7 +200,7 @@ module Rubyipmi
|
|
|
197
200
|
data[:ipmitool] = ipmiconn.get_diag
|
|
198
201
|
end
|
|
199
202
|
end
|
|
200
|
-
File.open('/tmp/rubyipmi_diag_data.txt', 'w') {|f| f.write(data)}
|
|
203
|
+
File.open('/tmp/rubyipmi_diag_data.txt', 'w') { |f| f.write(data) }
|
|
201
204
|
puts "Created file /tmp/rubyipmi_diag_data.txt"
|
|
202
205
|
end
|
|
203
206
|
end
|
data/rubyipmi.gemspec
CHANGED
|
@@ -1,145 +1,34 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
# -*- encoding: utf-8 -*-
|
|
5
|
-
# stub: rubyipmi 0.9.2 ruby lib
|
|
1
|
+
lib = File.expand_path('lib', __dir__)
|
|
2
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
3
|
+
require 'rubyipmi/version'
|
|
6
4
|
|
|
7
5
|
Gem::Specification.new do |s|
|
|
8
6
|
s.name = "rubyipmi"
|
|
9
|
-
s.version =
|
|
7
|
+
s.version = Rubyipmi::VERSION
|
|
10
8
|
|
|
11
9
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
12
10
|
s.require_paths = ["lib"]
|
|
13
11
|
s.authors = ["Corey Osman"]
|
|
14
|
-
s.date = "
|
|
15
|
-
s.description = "
|
|
12
|
+
s.date = "2021-09-29"
|
|
13
|
+
s.description = "Controls IPMI devices via command line wrapper for ipmitool and freeipmi"
|
|
16
14
|
s.email = "corey@logicminds.biz"
|
|
17
15
|
s.extra_rdoc_files = [
|
|
18
16
|
"LICENSE.txt",
|
|
19
17
|
"README.md"
|
|
20
18
|
]
|
|
21
|
-
s.files =
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
"RELEASE_NOTES.md",
|
|
26
|
-
"Rakefile",
|
|
27
|
-
"VERSION",
|
|
28
|
-
"lib/rubyipmi.rb",
|
|
29
|
-
"lib/rubyipmi/commands/basecommand.rb",
|
|
30
|
-
"lib/rubyipmi/freeipmi/commands/basecommand.rb",
|
|
31
|
-
"lib/rubyipmi/freeipmi/commands/bmc.rb",
|
|
32
|
-
"lib/rubyipmi/freeipmi/commands/bmcconfig.rb",
|
|
33
|
-
"lib/rubyipmi/freeipmi/commands/bmcdevice.rb",
|
|
34
|
-
"lib/rubyipmi/freeipmi/commands/bmcinfo.rb",
|
|
35
|
-
"lib/rubyipmi/freeipmi/commands/chassis.rb",
|
|
36
|
-
"lib/rubyipmi/freeipmi/commands/chassisconfig.rb",
|
|
37
|
-
"lib/rubyipmi/freeipmi/commands/fru.rb",
|
|
38
|
-
"lib/rubyipmi/freeipmi/commands/lan.rb",
|
|
39
|
-
"lib/rubyipmi/freeipmi/commands/power.rb",
|
|
40
|
-
"lib/rubyipmi/freeipmi/commands/sensors.rb",
|
|
41
|
-
"lib/rubyipmi/freeipmi/connection.rb",
|
|
42
|
-
"lib/rubyipmi/freeipmi/errorcodes.rb",
|
|
43
|
-
"lib/rubyipmi/ipmitool/commands/basecommand.rb",
|
|
44
|
-
"lib/rubyipmi/ipmitool/commands/bmc.rb",
|
|
45
|
-
"lib/rubyipmi/ipmitool/commands/chassis.rb",
|
|
46
|
-
"lib/rubyipmi/ipmitool/commands/chassisconfig.rb",
|
|
47
|
-
"lib/rubyipmi/ipmitool/commands/fru.rb",
|
|
48
|
-
"lib/rubyipmi/ipmitool/commands/lan.rb",
|
|
49
|
-
"lib/rubyipmi/ipmitool/commands/power.rb",
|
|
50
|
-
"lib/rubyipmi/ipmitool/commands/sensors.rb",
|
|
51
|
-
"lib/rubyipmi/ipmitool/connection.rb",
|
|
52
|
-
"lib/rubyipmi/ipmitool/errorcodes.rb",
|
|
53
|
-
"lib/rubyipmi/observablehash.rb",
|
|
54
|
-
"rubyipmi.gemspec",
|
|
55
|
-
"spec/Vagrantfile",
|
|
56
|
-
"spec/fixtures/freeipmi/bmc_config.txt",
|
|
57
|
-
"spec/fixtures/freeipmi/bmc_config_lan_conf.txt",
|
|
58
|
-
"spec/fixtures/freeipmi/bmc_info.txt",
|
|
59
|
-
"spec/fixtures/freeipmi/errors.txt",
|
|
60
|
-
"spec/fixtures/freeipmi/fru.txt",
|
|
61
|
-
"spec/fixtures/freeipmi/sensors.txt",
|
|
62
|
-
"spec/fixtures/ipmitool/bmc_info.txt",
|
|
63
|
-
"spec/fixtures/ipmitool/errors.txt",
|
|
64
|
-
"spec/fixtures/ipmitool/fru.txt",
|
|
65
|
-
"spec/fixtures/ipmitool/lan.txt",
|
|
66
|
-
"spec/fixtures/ipmitool/sensors.txt",
|
|
67
|
-
"spec/integration/bmc_spec.rb",
|
|
68
|
-
"spec/integration/chassis_config_spec.rb",
|
|
69
|
-
"spec/integration/chassis_spec.rb",
|
|
70
|
-
"spec/integration/connection_spec.rb",
|
|
71
|
-
"spec/integration/fru_spec.rb",
|
|
72
|
-
"spec/integration/lan_spec.rb",
|
|
73
|
-
"spec/integration/power_spec.rb",
|
|
74
|
-
"spec/integration/rubyipmi_spec.rb",
|
|
75
|
-
"spec/integration/sensor_spec.rb",
|
|
76
|
-
"spec/manifests/default.pp",
|
|
77
|
-
"spec/puppetmodules/archive/LICENSE-2.0.txt",
|
|
78
|
-
"spec/puppetmodules/archive/Modulefile",
|
|
79
|
-
"spec/puppetmodules/archive/README.md",
|
|
80
|
-
"spec/puppetmodules/archive/manifests/download.pp",
|
|
81
|
-
"spec/puppetmodules/archive/manifests/extract.pp",
|
|
82
|
-
"spec/puppetmodules/archive/manifests/init.pp",
|
|
83
|
-
"spec/puppetmodules/archive/manifests/tar-gz.pp",
|
|
84
|
-
"spec/puppetmodules/archive/manifests/zip.pp",
|
|
85
|
-
"spec/puppetmodules/archive/metadata.json",
|
|
86
|
-
"spec/spec_helper.rb",
|
|
87
|
-
"spec/unit/freeipmi/bmc-info_spec.rb",
|
|
88
|
-
"spec/unit/freeipmi/bmc_spec.rb",
|
|
89
|
-
"spec/unit/freeipmi/connection_spec.rb",
|
|
90
|
-
"spec/unit/freeipmi/errorcodes_spec.rb",
|
|
91
|
-
"spec/unit/freeipmi/fru_spec.rb",
|
|
92
|
-
"spec/unit/freeipmi/lan_spec.rb",
|
|
93
|
-
"spec/unit/freeipmi/sensors_spec.rb",
|
|
94
|
-
"spec/unit/ipmitool/bmc_spec.rb",
|
|
95
|
-
"spec/unit/ipmitool/connection_spec.rb",
|
|
96
|
-
"spec/unit/ipmitool/errorcodes_spec.rb",
|
|
97
|
-
"spec/unit/ipmitool/fru_spec.rb",
|
|
98
|
-
"spec/unit/ipmitool/lan_spec.rb",
|
|
99
|
-
"spec/unit/ipmitool/sensors_spec.rb",
|
|
100
|
-
"spec/unit/rubyipmi_spec.rb",
|
|
101
|
-
"spec/vagrant",
|
|
102
|
-
"spec/vagrant.pub"
|
|
103
|
-
]
|
|
104
|
-
s.homepage = "http://github.com/logicminds/rubyipmi"
|
|
19
|
+
s.files = `git ls-files -z`.split("\x0").reject do |f|
|
|
20
|
+
f.match(/^(\.|test|spec|features)/) || f.match(/^*.tar\.gz/)
|
|
21
|
+
end
|
|
22
|
+
s.homepage = "https://github.com/logicminds/rubyipmi"
|
|
105
23
|
s.licenses = ["LGPLv2.1"]
|
|
106
24
|
s.rubygems_version = "2.4.5"
|
|
107
25
|
s.summary = "A ruby wrapper for ipmi command line tools that supports ipmitool and freeipmi"
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
s.add_development_dependency(%q<bundler>, [">= 1.1.5"])
|
|
116
|
-
s.add_development_dependency(%q<jeweler>, ["~> 2.0.1"])
|
|
117
|
-
s.add_development_dependency(%q<highline>, [">= 0"])
|
|
118
|
-
s.add_development_dependency(%q<rake>, [">= 0"])
|
|
119
|
-
s.add_development_dependency(%q<coveralls>, [">= 0"])
|
|
120
|
-
s.add_development_dependency(%q<pry>, [">= 0"])
|
|
121
|
-
s.add_development_dependency(%q<pry-rescue>, [">= 0"])
|
|
122
|
-
else
|
|
123
|
-
s.add_dependency(%q<rspec>, ["~> 3.1"])
|
|
124
|
-
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
|
125
|
-
s.add_dependency(%q<bundler>, [">= 1.1.5"])
|
|
126
|
-
s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
|
|
127
|
-
s.add_dependency(%q<highline>, [">= 0"])
|
|
128
|
-
s.add_dependency(%q<rake>, [">= 0"])
|
|
129
|
-
s.add_dependency(%q<coveralls>, [">= 0"])
|
|
130
|
-
s.add_dependency(%q<pry>, [">= 0"])
|
|
131
|
-
s.add_dependency(%q<pry-rescue>, [">= 0"])
|
|
132
|
-
end
|
|
133
|
-
else
|
|
134
|
-
s.add_dependency(%q<rspec>, ["~> 3.1"])
|
|
135
|
-
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
|
136
|
-
s.add_dependency(%q<bundler>, [">= 1.1.5"])
|
|
137
|
-
s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
|
|
138
|
-
s.add_dependency(%q<highline>, [">= 0"])
|
|
139
|
-
s.add_dependency(%q<rake>, [">= 0"])
|
|
140
|
-
s.add_dependency(%q<coveralls>, [">= 0"])
|
|
141
|
-
s.add_dependency(%q<pry>, [">= 0"])
|
|
142
|
-
s.add_dependency(%q<pry-rescue>, [">= 0"])
|
|
143
|
-
end
|
|
26
|
+
s.require_paths = ['lib']
|
|
27
|
+
s.add_development_dependency(%q<rspec>, ["~> 3.1"])
|
|
28
|
+
s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
|
|
29
|
+
s.add_development_dependency(%q<bundler>, [">= 1.1.5"])
|
|
30
|
+
s.add_development_dependency(%q<highline>, [">= 0"])
|
|
31
|
+
s.add_development_dependency(%q<rake>, [">= 0"])
|
|
32
|
+
s.add_dependency(%q<highline>, [">= 0"])
|
|
144
33
|
end
|
|
145
34
|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rubyipmi
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.11.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Corey Osman
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-09-29 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rspec
|
|
@@ -52,20 +52,6 @@ dependencies:
|
|
|
52
52
|
- - ">="
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
54
|
version: 1.1.5
|
|
55
|
-
- !ruby/object:Gem::Dependency
|
|
56
|
-
name: jeweler
|
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
|
58
|
-
requirements:
|
|
59
|
-
- - "~>"
|
|
60
|
-
- !ruby/object:Gem::Version
|
|
61
|
-
version: 2.0.1
|
|
62
|
-
type: :development
|
|
63
|
-
prerelease: false
|
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
-
requirements:
|
|
66
|
-
- - "~>"
|
|
67
|
-
- !ruby/object:Gem::Version
|
|
68
|
-
version: 2.0.1
|
|
69
55
|
- !ruby/object:Gem::Dependency
|
|
70
56
|
name: highline
|
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -95,48 +81,20 @@ dependencies:
|
|
|
95
81
|
- !ruby/object:Gem::Version
|
|
96
82
|
version: '0'
|
|
97
83
|
- !ruby/object:Gem::Dependency
|
|
98
|
-
name:
|
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
|
100
|
-
requirements:
|
|
101
|
-
- - ">="
|
|
102
|
-
- !ruby/object:Gem::Version
|
|
103
|
-
version: '0'
|
|
104
|
-
type: :development
|
|
105
|
-
prerelease: false
|
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
-
requirements:
|
|
108
|
-
- - ">="
|
|
109
|
-
- !ruby/object:Gem::Version
|
|
110
|
-
version: '0'
|
|
111
|
-
- !ruby/object:Gem::Dependency
|
|
112
|
-
name: pry
|
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
|
114
|
-
requirements:
|
|
115
|
-
- - ">="
|
|
116
|
-
- !ruby/object:Gem::Version
|
|
117
|
-
version: '0'
|
|
118
|
-
type: :development
|
|
119
|
-
prerelease: false
|
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
-
requirements:
|
|
122
|
-
- - ">="
|
|
123
|
-
- !ruby/object:Gem::Version
|
|
124
|
-
version: '0'
|
|
125
|
-
- !ruby/object:Gem::Dependency
|
|
126
|
-
name: pry-rescue
|
|
84
|
+
name: highline
|
|
127
85
|
requirement: !ruby/object:Gem::Requirement
|
|
128
86
|
requirements:
|
|
129
87
|
- - ">="
|
|
130
88
|
- !ruby/object:Gem::Version
|
|
131
89
|
version: '0'
|
|
132
|
-
type: :
|
|
90
|
+
type: :runtime
|
|
133
91
|
prerelease: false
|
|
134
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
135
93
|
requirements:
|
|
136
94
|
- - ">="
|
|
137
95
|
- !ruby/object:Gem::Version
|
|
138
96
|
version: '0'
|
|
139
|
-
description:
|
|
97
|
+
description: Controls IPMI devices via command line wrapper for ipmitool and freeipmi
|
|
140
98
|
email: corey@logicminds.biz
|
|
141
99
|
executables: []
|
|
142
100
|
extensions: []
|
|
@@ -152,6 +110,8 @@ files:
|
|
|
152
110
|
- VERSION
|
|
153
111
|
- lib/rubyipmi.rb
|
|
154
112
|
- lib/rubyipmi/commands/basecommand.rb
|
|
113
|
+
- lib/rubyipmi/commands/mixins/power_mixin.rb
|
|
114
|
+
- lib/rubyipmi/commands/mixins/sensors_mixin.rb
|
|
155
115
|
- lib/rubyipmi/freeipmi/commands/basecommand.rb
|
|
156
116
|
- lib/rubyipmi/freeipmi/commands/bmc.rb
|
|
157
117
|
- lib/rubyipmi/freeipmi/commands/bmcconfig.rb
|
|
@@ -176,60 +136,13 @@ files:
|
|
|
176
136
|
- lib/rubyipmi/ipmitool/connection.rb
|
|
177
137
|
- lib/rubyipmi/ipmitool/errorcodes.rb
|
|
178
138
|
- lib/rubyipmi/observablehash.rb
|
|
139
|
+
- lib/rubyipmi/version.rb
|
|
179
140
|
- rubyipmi.gemspec
|
|
180
|
-
|
|
181
|
-
- spec/fixtures/freeipmi/bmc_config.txt
|
|
182
|
-
- spec/fixtures/freeipmi/bmc_config_lan_conf.txt
|
|
183
|
-
- spec/fixtures/freeipmi/bmc_info.txt
|
|
184
|
-
- spec/fixtures/freeipmi/errors.txt
|
|
185
|
-
- spec/fixtures/freeipmi/fru.txt
|
|
186
|
-
- spec/fixtures/freeipmi/sensors.txt
|
|
187
|
-
- spec/fixtures/ipmitool/bmc_info.txt
|
|
188
|
-
- spec/fixtures/ipmitool/errors.txt
|
|
189
|
-
- spec/fixtures/ipmitool/fru.txt
|
|
190
|
-
- spec/fixtures/ipmitool/lan.txt
|
|
191
|
-
- spec/fixtures/ipmitool/sensors.txt
|
|
192
|
-
- spec/integration/bmc_spec.rb
|
|
193
|
-
- spec/integration/chassis_config_spec.rb
|
|
194
|
-
- spec/integration/chassis_spec.rb
|
|
195
|
-
- spec/integration/connection_spec.rb
|
|
196
|
-
- spec/integration/fru_spec.rb
|
|
197
|
-
- spec/integration/lan_spec.rb
|
|
198
|
-
- spec/integration/power_spec.rb
|
|
199
|
-
- spec/integration/rubyipmi_spec.rb
|
|
200
|
-
- spec/integration/sensor_spec.rb
|
|
201
|
-
- spec/manifests/default.pp
|
|
202
|
-
- spec/puppetmodules/archive/LICENSE-2.0.txt
|
|
203
|
-
- spec/puppetmodules/archive/Modulefile
|
|
204
|
-
- spec/puppetmodules/archive/README.md
|
|
205
|
-
- spec/puppetmodules/archive/manifests/download.pp
|
|
206
|
-
- spec/puppetmodules/archive/manifests/extract.pp
|
|
207
|
-
- spec/puppetmodules/archive/manifests/init.pp
|
|
208
|
-
- spec/puppetmodules/archive/manifests/tar-gz.pp
|
|
209
|
-
- spec/puppetmodules/archive/manifests/zip.pp
|
|
210
|
-
- spec/puppetmodules/archive/metadata.json
|
|
211
|
-
- spec/spec_helper.rb
|
|
212
|
-
- spec/unit/freeipmi/bmc-info_spec.rb
|
|
213
|
-
- spec/unit/freeipmi/bmc_spec.rb
|
|
214
|
-
- spec/unit/freeipmi/connection_spec.rb
|
|
215
|
-
- spec/unit/freeipmi/errorcodes_spec.rb
|
|
216
|
-
- spec/unit/freeipmi/fru_spec.rb
|
|
217
|
-
- spec/unit/freeipmi/lan_spec.rb
|
|
218
|
-
- spec/unit/freeipmi/sensors_spec.rb
|
|
219
|
-
- spec/unit/ipmitool/bmc_spec.rb
|
|
220
|
-
- spec/unit/ipmitool/connection_spec.rb
|
|
221
|
-
- spec/unit/ipmitool/errorcodes_spec.rb
|
|
222
|
-
- spec/unit/ipmitool/fru_spec.rb
|
|
223
|
-
- spec/unit/ipmitool/lan_spec.rb
|
|
224
|
-
- spec/unit/ipmitool/sensors_spec.rb
|
|
225
|
-
- spec/unit/rubyipmi_spec.rb
|
|
226
|
-
- spec/vagrant
|
|
227
|
-
- spec/vagrant.pub
|
|
228
|
-
homepage: http://github.com/logicminds/rubyipmi
|
|
141
|
+
homepage: https://github.com/logicminds/rubyipmi
|
|
229
142
|
licenses:
|
|
230
143
|
- LGPLv2.1
|
|
231
144
|
metadata: {}
|
|
232
|
-
post_install_message:
|
|
145
|
+
post_install_message:
|
|
233
146
|
rdoc_options: []
|
|
234
147
|
require_paths:
|
|
235
148
|
- lib
|
|
@@ -244,9 +157,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
244
157
|
- !ruby/object:Gem::Version
|
|
245
158
|
version: '0'
|
|
246
159
|
requirements: []
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
signing_key:
|
|
160
|
+
rubygems_version: 3.0.3
|
|
161
|
+
signing_key:
|
|
250
162
|
specification_version: 4
|
|
251
163
|
summary: A ruby wrapper for ipmi command line tools that supports ipmitool and freeipmi
|
|
252
164
|
test_files: []
|
data/spec/Vagrantfile
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
# -*- mode: ruby -*-
|
|
2
|
-
# vi: set ft=ruby :
|
|
3
|
-
|
|
4
|
-
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
|
|
5
|
-
VAGRANTFILE_API_VERSION = "2"
|
|
6
|
-
|
|
7
|
-
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
|
8
|
-
|
|
9
|
-
config.vm.box = "centos6.4"
|
|
10
|
-
config.vm.box_url = "http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130427.box"
|
|
11
|
-
config.ssh.private_key_path = "vagrant"
|
|
12
|
-
config.vm.provider :virtualbox do |vb, override|
|
|
13
|
-
#vb.gui = true
|
|
14
|
-
end
|
|
15
|
-
config.vm.provider :vmware_fusion do |vf, override|
|
|
16
|
-
override.vm.box_url = "https://dl.dropbox.com/u/5721940/vagrant-boxes/vagrant-centos-6.4-x86_64-vmware_fusion.box"
|
|
17
|
-
#vf.gui = true
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
# Boot with a GUI so you can see the screen. (Default is headless)
|
|
21
|
-
#config.vm.boot_mode = :gui
|
|
22
|
-
|
|
23
|
-
# Enable provisioning with Puppet stand alone. Puppet manifests
|
|
24
|
-
# are contained in a directory path relative to this Vagrantfile.
|
|
25
|
-
# You will need to create the manifests directory and a manifest in
|
|
26
|
-
# the file centos.pp in the manifests_path directory.
|
|
27
|
-
#
|
|
28
|
-
config.vm.synced_folder "../", "/rubyipmi"
|
|
29
|
-
(1..1).each do |i|
|
|
30
|
-
vmname = "testnode#{i}"
|
|
31
|
-
config.vm.define vmname.to_sym do |web_conf|
|
|
32
|
-
web_conf.vm.hostname = vmname
|
|
33
|
-
web_conf.vm.provision :shell,
|
|
34
|
-
:inline => "hostname #{vmname}.company.corp"
|
|
35
|
-
web_conf.vm.provision :puppet do |puppet|
|
|
36
|
-
puppet.module_path = "puppetmodules"
|
|
37
|
-
puppet.manifests_path = "manifests"
|
|
38
|
-
puppet.manifest_file = "default.pp"
|
|
39
|
-
puppet.facter = { }
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
|