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.
Files changed (85) hide show
  1. checksums.yaml +5 -5
  2. data/Gemfile +3 -3
  3. data/README.md +36 -23
  4. data/RELEASE_NOTES.md +48 -0
  5. data/Rakefile +15 -42
  6. data/VERSION +1 -1
  7. data/lib/rubyipmi/commands/basecommand.rb +17 -23
  8. data/lib/rubyipmi/commands/mixins/power_mixin.rb +50 -0
  9. data/lib/rubyipmi/commands/mixins/sensors_mixin.rb +54 -0
  10. data/lib/rubyipmi/freeipmi/commands/basecommand.rb +26 -35
  11. data/lib/rubyipmi/freeipmi/commands/bmc.rb +4 -7
  12. data/lib/rubyipmi/freeipmi/commands/bmcconfig.rb +7 -17
  13. data/lib/rubyipmi/freeipmi/commands/bmcdevice.rb +2 -9
  14. data/lib/rubyipmi/freeipmi/commands/bmcinfo.rb +4 -10
  15. data/lib/rubyipmi/freeipmi/commands/chassis.rb +27 -45
  16. data/lib/rubyipmi/freeipmi/commands/chassisconfig.rb +23 -38
  17. data/lib/rubyipmi/freeipmi/commands/fru.rb +23 -42
  18. data/lib/rubyipmi/freeipmi/commands/lan.rb +4 -6
  19. data/lib/rubyipmi/freeipmi/commands/power.rb +8 -51
  20. data/lib/rubyipmi/freeipmi/commands/sensors.rb +10 -67
  21. data/lib/rubyipmi/freeipmi/connection.rb +14 -17
  22. data/lib/rubyipmi/freeipmi/errorcodes.rb +11 -17
  23. data/lib/rubyipmi/ipmitool/commands/basecommand.rb +12 -16
  24. data/lib/rubyipmi/ipmitool/commands/bmc.rb +13 -22
  25. data/lib/rubyipmi/ipmitool/commands/chassis.rb +26 -44
  26. data/lib/rubyipmi/ipmitool/commands/chassisconfig.rb +11 -21
  27. data/lib/rubyipmi/ipmitool/commands/fru.rb +35 -48
  28. data/lib/rubyipmi/ipmitool/commands/lan.rb +25 -28
  29. data/lib/rubyipmi/ipmitool/commands/power.rb +7 -58
  30. data/lib/rubyipmi/ipmitool/commands/sensors.rb +10 -68
  31. data/lib/rubyipmi/ipmitool/connection.rb +10 -19
  32. data/lib/rubyipmi/ipmitool/errorcodes.rb +11 -45
  33. data/lib/rubyipmi/observablehash.rb +1 -2
  34. data/lib/rubyipmi/version.rb +5 -0
  35. data/lib/rubyipmi.rb +31 -28
  36. data/rubyipmi.gemspec +17 -128
  37. metadata +13 -101
  38. data/spec/Vagrantfile +0 -45
  39. data/spec/fixtures/freeipmi/bmc_config.txt +0 -317
  40. data/spec/fixtures/freeipmi/bmc_config_lan_conf.txt +0 -19
  41. data/spec/fixtures/freeipmi/bmc_info.txt +0 -32
  42. data/spec/fixtures/freeipmi/errors.txt +0 -3
  43. data/spec/fixtures/freeipmi/fru.txt +0 -13
  44. data/spec/fixtures/freeipmi/sensors.txt +0 -29
  45. data/spec/fixtures/ipmitool/bmc_info.txt +0 -20
  46. data/spec/fixtures/ipmitool/errors.txt +0 -10
  47. data/spec/fixtures/ipmitool/fru.txt +0 -96
  48. data/spec/fixtures/ipmitool/lan.txt +0 -17
  49. data/spec/fixtures/ipmitool/sensors.txt +0 -105
  50. data/spec/integration/bmc_spec.rb +0 -48
  51. data/spec/integration/chassis_config_spec.rb +0 -38
  52. data/spec/integration/chassis_spec.rb +0 -26
  53. data/spec/integration/connection_spec.rb +0 -45
  54. data/spec/integration/fru_spec.rb +0 -38
  55. data/spec/integration/lan_spec.rb +0 -50
  56. data/spec/integration/power_spec.rb +0 -40
  57. data/spec/integration/rubyipmi_spec.rb +0 -114
  58. data/spec/integration/sensor_spec.rb +0 -43
  59. data/spec/manifests/default.pp +0 -50
  60. data/spec/puppetmodules/archive/LICENSE-2.0.txt +0 -202
  61. data/spec/puppetmodules/archive/Modulefile +0 -8
  62. data/spec/puppetmodules/archive/README.md +0 -40
  63. data/spec/puppetmodules/archive/manifests/download.pp +0 -157
  64. data/spec/puppetmodules/archive/manifests/extract.pp +0 -81
  65. data/spec/puppetmodules/archive/manifests/init.pp +0 -70
  66. data/spec/puppetmodules/archive/manifests/tar-gz.pp +0 -7
  67. data/spec/puppetmodules/archive/manifests/zip.pp +0 -7
  68. data/spec/puppetmodules/archive/metadata.json +0 -26
  69. data/spec/spec_helper.rb +0 -47
  70. data/spec/unit/freeipmi/bmc-info_spec.rb +0 -38
  71. data/spec/unit/freeipmi/bmc_spec.rb +0 -43
  72. data/spec/unit/freeipmi/connection_spec.rb +0 -120
  73. data/spec/unit/freeipmi/errorcodes_spec.rb +0 -28
  74. data/spec/unit/freeipmi/fru_spec.rb +0 -76
  75. data/spec/unit/freeipmi/lan_spec.rb +0 -0
  76. data/spec/unit/freeipmi/sensors_spec.rb +0 -85
  77. data/spec/unit/ipmitool/bmc_spec.rb +0 -77
  78. data/spec/unit/ipmitool/connection_spec.rb +0 -121
  79. data/spec/unit/ipmitool/errorcodes_spec.rb +0 -35
  80. data/spec/unit/ipmitool/fru_spec.rb +0 -77
  81. data/spec/unit/ipmitool/lan_spec.rb +0 -94
  82. data/spec/unit/ipmitool/sensors_spec.rb +0 -96
  83. data/spec/unit/rubyipmi_spec.rb +0 -32
  84. data/spec/vagrant +0 -27
  85. 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(*args)
24
+ def initialize(*_args)
26
25
  end
27
26
 
28
- def add(*args, &block)
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 and @log_level >= 0
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 => 'auto', :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
 
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.is_a?(Hash)
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] ||= 'auto'
96
+ opts[:driver] ||= 'lan20'
90
97
  opts[:timeout] ||= 'default'
91
98
 
92
- if opts[:privilege] and not supported_privilege_type?(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 or is_provider_installed?(provider)
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
- PRIV_TYPES.include?(type)
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
- if not $?.success?
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
- when "freeipmi"
153
- cmdpath = locate_command('ipmipower')
154
- when "ipmitool"
155
- cmdpath = locate_command('ipmitool')
156
- else
157
- logger.error("Invalid BMC provider type #{provider}") if logger
158
- false
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
- return ! cmdpath.nil?
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
- return available
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 => 'auto', :timeout => 'default'})
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
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
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 = "0.9.2"
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 = "2015-03-19"
15
- s.description = "Provides a library for controlling IPMI devices using pure ruby code"
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
- "Gemfile",
23
- "LICENSE.txt",
24
- "README.md",
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
- if s.respond_to? :specification_version then
110
- s.specification_version = 4
111
-
112
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
113
- s.add_development_dependency(%q<rspec>, ["~> 3.1"])
114
- s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
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.9.2
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: 2015-03-19 00:00:00.000000000 Z
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: coveralls
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: :development
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: Provides a library for controlling IPMI devices using pure ruby code
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
- - spec/Vagrantfile
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
- rubyforge_project:
248
- rubygems_version: 2.4.5
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
-