rubyipmi 0.10.0 → 0.11.0
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/.document +5 -0
- data/.gitignore +50 -0
- data/.rspec +1 -0
- data/.rubocop.yml +66 -0
- data/.travis.yml +13 -0
- data/Gemfile +3 -3
- data/README.md +9 -3
- data/RELEASE_NOTES.md +33 -0
- data/Rakefile +15 -42
- 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 +23 -28
- data/rubyipmi.gemspec +17 -128
- metadata +18 -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 -121
- 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 -122
- 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 -50
- 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,7 +72,7 @@ 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 => 'lan20', :timeout => 'default'})
|
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
|
|
@@ -88,16 +87,16 @@ module Rubyipmi
|
|
88
87
|
# allow the user to specify an options hash instead of the provider
|
89
88
|
# in the future I would stop using the provider and use the opts hash instead to get the provider
|
90
89
|
# This allows us to be a little more flexible if the user is doesn't supply us what we need.
|
91
|
-
if provider.
|
90
|
+
if provider.kind_of?(Hash)
|
92
91
|
opts = provider
|
93
92
|
provider = opts[:provider] ||= 'any'
|
94
93
|
end
|
95
94
|
|
96
95
|
# Verify options just in case user passed in a incomplete hash
|
97
|
-
opts[:driver]
|
96
|
+
opts[:driver] ||= 'lan20'
|
98
97
|
opts[:timeout] ||= 'default'
|
99
98
|
|
100
|
-
if opts[:privilege]
|
99
|
+
if opts[:privilege] && !supported_privilege_type?(opts[:privilege])
|
101
100
|
logger.error("Invalid privilege type :#{opts[:privilege]}, must be one of: #{PRIV_TYPES.join("\n")}") if logger
|
102
101
|
raise "Invalid privilege type :#{opts[:privilege]}, must be one of: #{PRIV_TYPES.join("\n")}"
|
103
102
|
end
|
@@ -124,11 +123,11 @@ module Rubyipmi
|
|
124
123
|
end
|
125
124
|
|
126
125
|
# If the provider is available create a connection object
|
127
|
-
if installed
|
126
|
+
if installed || is_provider_installed?(provider)
|
128
127
|
if provider == "freeipmi"
|
129
128
|
Rubyipmi::Freeipmi::Connection.new(user, pass, host, opts)
|
130
129
|
elsif provider == "ipmitool"
|
131
|
-
Rubyipmi::Ipmitool::Connection.new(user,pass,host, opts)
|
130
|
+
Rubyipmi::Ipmitool::Connection.new(user, pass, host, opts)
|
132
131
|
else
|
133
132
|
logger.error("Incorrect provider given, must use one of #{valid_providers.join(', ')}") if logger
|
134
133
|
raise "Incorrect provider given, must use one of #{valid_providers.join(', ')}"
|
@@ -142,31 +141,29 @@ module Rubyipmi
|
|
142
141
|
|
143
142
|
# returns boolean true if privilege type is valid
|
144
143
|
def self.supported_privilege_type?(type)
|
145
|
-
|
144
|
+
PRIV_TYPES.include?(type)
|
146
145
|
end
|
147
146
|
|
148
147
|
# method used to find the command which also makes it easier to mock with
|
149
148
|
def self.locate_command(commandname)
|
150
149
|
location = `which #{commandname}`.strip
|
151
|
-
|
152
|
-
location = nil
|
153
|
-
end
|
150
|
+
location = nil unless $?.success?
|
154
151
|
location
|
155
152
|
end
|
156
153
|
|
157
154
|
# Return true or false if the provider is available
|
158
155
|
def self.is_provider_installed?(provider)
|
159
156
|
case provider
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
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
|
167
164
|
end
|
168
165
|
# return false if command was not found
|
169
|
-
|
166
|
+
!cmdpath.nil?
|
170
167
|
end
|
171
168
|
|
172
169
|
def self.providers
|
@@ -181,15 +178,13 @@ module Rubyipmi
|
|
181
178
|
def self.providers_installed
|
182
179
|
available = []
|
183
180
|
providers.each do |prov|
|
184
|
-
if is_provider_installed?(prov)
|
185
|
-
available << prov
|
186
|
-
end
|
181
|
+
available << prov if is_provider_installed?(prov)
|
187
182
|
end
|
188
|
-
|
183
|
+
available
|
189
184
|
end
|
190
185
|
|
191
186
|
# gets data from the bmc device and puts in a hash for diagnostics
|
192
|
-
def self.get_diag(user, pass, host, opts={:driver => 'lan20', :timeout => 'default'})
|
187
|
+
def self.get_diag(user, pass, host, opts = {:driver => 'lan20', :timeout => 'default'})
|
193
188
|
data = {}
|
194
189
|
if Rubyipmi.is_provider_installed?('freeipmi')
|
195
190
|
freeconn = Rubyipmi.connect(user, pass, host, 'freeipmi', opts)
|
@@ -205,7 +200,7 @@ module Rubyipmi
|
|
205
200
|
data[:ipmitool] = ipmiconn.get_diag
|
206
201
|
end
|
207
202
|
end
|
208
|
-
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) }
|
209
204
|
puts "Created file /tmp/rubyipmi_diag_data.txt"
|
210
205
|
end
|
211
206
|
end
|
data/rubyipmi.gemspec
CHANGED
@@ -1,145 +1,34 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: rubyipmi 0.10.0 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.0
|
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: []
|
@@ -144,6 +102,11 @@ extra_rdoc_files:
|
|
144
102
|
- LICENSE.txt
|
145
103
|
- README.md
|
146
104
|
files:
|
105
|
+
- ".document"
|
106
|
+
- ".gitignore"
|
107
|
+
- ".rspec"
|
108
|
+
- ".rubocop.yml"
|
109
|
+
- ".travis.yml"
|
147
110
|
- Gemfile
|
148
111
|
- LICENSE.txt
|
149
112
|
- README.md
|
@@ -152,6 +115,8 @@ files:
|
|
152
115
|
- VERSION
|
153
116
|
- lib/rubyipmi.rb
|
154
117
|
- lib/rubyipmi/commands/basecommand.rb
|
118
|
+
- lib/rubyipmi/commands/mixins/power_mixin.rb
|
119
|
+
- lib/rubyipmi/commands/mixins/sensors_mixin.rb
|
155
120
|
- lib/rubyipmi/freeipmi/commands/basecommand.rb
|
156
121
|
- lib/rubyipmi/freeipmi/commands/bmc.rb
|
157
122
|
- lib/rubyipmi/freeipmi/commands/bmcconfig.rb
|
@@ -176,60 +141,13 @@ files:
|
|
176
141
|
- lib/rubyipmi/ipmitool/connection.rb
|
177
142
|
- lib/rubyipmi/ipmitool/errorcodes.rb
|
178
143
|
- lib/rubyipmi/observablehash.rb
|
144
|
+
- lib/rubyipmi/version.rb
|
179
145
|
- 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
|
146
|
+
homepage: https://github.com/logicminds/rubyipmi
|
229
147
|
licenses:
|
230
148
|
- LGPLv2.1
|
231
149
|
metadata: {}
|
232
|
-
post_install_message:
|
150
|
+
post_install_message:
|
233
151
|
rdoc_options: []
|
234
152
|
require_paths:
|
235
153
|
- lib
|
@@ -244,9 +162,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
244
162
|
- !ruby/object:Gem::Version
|
245
163
|
version: '0'
|
246
164
|
requirements: []
|
247
|
-
|
248
|
-
|
249
|
-
signing_key:
|
165
|
+
rubygems_version: 3.0.3
|
166
|
+
signing_key:
|
250
167
|
specification_version: 4
|
251
168
|
summary: A ruby wrapper for ipmi command line tools that supports ipmitool and freeipmi
|
252
169
|
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
|
-
|