rubyipmi 0.6.0 → 0.7.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.
Files changed (83) hide show
  1. checksums.yaml +15 -0
  2. data/Gemfile +5 -3
  3. data/README.md +24 -14
  4. data/Rakefile +82 -4
  5. data/VERSION +1 -1
  6. data/lib/rubyipmi.rb +36 -14
  7. data/lib/rubyipmi/commands/basecommand.rb +57 -119
  8. data/lib/rubyipmi/freeipmi/commands/basecommand.rb +29 -25
  9. data/lib/rubyipmi/freeipmi/commands/bmc.rb +3 -3
  10. data/lib/rubyipmi/freeipmi/commands/bmcconfig.rb +6 -6
  11. data/lib/rubyipmi/freeipmi/commands/bmcinfo.rb +3 -23
  12. data/lib/rubyipmi/freeipmi/commands/fru.rb +117 -23
  13. data/lib/rubyipmi/freeipmi/commands/lan.rb +32 -37
  14. data/lib/rubyipmi/freeipmi/commands/power.rb +1 -1
  15. data/lib/rubyipmi/freeipmi/commands/sensors.rb +53 -50
  16. data/lib/rubyipmi/freeipmi/connection.rb +16 -2
  17. data/lib/rubyipmi/freeipmi/errorcodes.rb +25 -2
  18. data/lib/rubyipmi/ipmitool/commands/basecommand.rb +20 -37
  19. data/lib/rubyipmi/ipmitool/commands/bmc.rb +1 -24
  20. data/lib/rubyipmi/ipmitool/commands/chassis.rb +1 -0
  21. data/lib/rubyipmi/ipmitool/commands/fru.rb +112 -30
  22. data/lib/rubyipmi/ipmitool/commands/lan.rb +55 -77
  23. data/lib/rubyipmi/ipmitool/commands/power.rb +10 -4
  24. data/lib/rubyipmi/ipmitool/commands/sensors.rb +53 -80
  25. data/lib/rubyipmi/ipmitool/connection.rb +19 -3
  26. data/lib/rubyipmi/ipmitool/errorcodes.rb +51 -3
  27. data/rubyipmi.gemspec +73 -33
  28. data/spec/Vagrantfile +45 -0
  29. data/spec/fixtures/freeipmi/bmc_config.txt +317 -0
  30. data/spec/fixtures/freeipmi/bmc_config_lan_conf.txt +19 -0
  31. data/spec/fixtures/freeipmi/bmc_info.txt +32 -0
  32. data/spec/fixtures/freeipmi/errors.txt +3 -0
  33. data/spec/fixtures/freeipmi/fru.txt +13 -0
  34. data/spec/fixtures/freeipmi/sensors.txt +29 -0
  35. data/spec/fixtures/ipmitool/bmc_info.txt +20 -0
  36. data/spec/fixtures/ipmitool/errors.txt +10 -0
  37. data/spec/fixtures/ipmitool/fru.txt +96 -0
  38. data/spec/fixtures/ipmitool/lan.txt +17 -0
  39. data/spec/fixtures/ipmitool/sensors.txt +105 -0
  40. data/spec/integration/bmc_spec.rb +49 -0
  41. data/spec/{chassis_config_spec.rb → integration/chassis_config_spec.rb} +6 -6
  42. data/spec/integration/chassis_spec.rb +26 -0
  43. data/spec/integration/connection_spec.rb +35 -0
  44. data/spec/{fru_spec.rb → integration/fru_spec.rb} +11 -10
  45. data/spec/{lan_spec.rb → integration/lan_spec.rb} +9 -7
  46. data/spec/integration/power_spec.rb +40 -0
  47. data/spec/{rubyipmi_spec.rb → integration/rubyipmi_spec.rb} +7 -10
  48. data/spec/{sensor_spec.rb → integration/sensor_spec.rb} +5 -20
  49. data/spec/manifests/default.pp +50 -0
  50. data/spec/puppetmodules/archive/LICENSE-2.0.txt +202 -0
  51. data/spec/puppetmodules/archive/Modulefile +8 -0
  52. data/spec/puppetmodules/archive/README.md +40 -0
  53. data/spec/puppetmodules/archive/manifests/download.pp +157 -0
  54. data/spec/puppetmodules/archive/manifests/extract.pp +81 -0
  55. data/spec/puppetmodules/archive/manifests/init.pp +70 -0
  56. data/spec/puppetmodules/archive/manifests/tar-gz.pp +7 -0
  57. data/spec/puppetmodules/archive/manifests/zip.pp +7 -0
  58. data/spec/puppetmodules/archive/metadata.json +26 -0
  59. data/spec/spec_helper.rb +35 -3
  60. data/spec/unit/freeipmi/bmc-info_spec.rb +42 -0
  61. data/spec/unit/freeipmi/bmc_spec.rb +44 -0
  62. data/spec/unit/freeipmi/connection_spec.rb +56 -0
  63. data/spec/unit/freeipmi/errorcodes_spec.rb +34 -0
  64. data/spec/unit/freeipmi/fru_spec.rb +77 -0
  65. data/spec/unit/freeipmi/lan_spec.rb +0 -0
  66. data/spec/unit/freeipmi/sensors_spec.rb +83 -0
  67. data/spec/unit/ipmitool/bmc_spec.rb +78 -0
  68. data/spec/unit/ipmitool/connection_spec.rb +58 -0
  69. data/spec/unit/ipmitool/errorcodes_spec.rb +34 -0
  70. data/spec/unit/ipmitool/fru_spec.rb +77 -0
  71. data/spec/unit/ipmitool/lan_spec.rb +93 -0
  72. data/spec/unit/ipmitool/sensors_spec.rb +95 -0
  73. data/spec/unit/rubyipmi_spec.rb +31 -0
  74. data/spec/vagrant +27 -0
  75. data/spec/vagrant.pub +1 -0
  76. metadata +157 -106
  77. data/.document +0 -5
  78. data/.rspec +0 -1
  79. data/Gemfile.lock +0 -33
  80. data/spec/bmc_spec.rb +0 -46
  81. data/spec/chassis_spec.rb +0 -26
  82. data/spec/connection_spec.rb +0 -31
  83. data/spec/power_spec.rb +0 -42
@@ -0,0 +1,34 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
+ require 'rubyipmi/ipmitool/errorcodes'
3
+
4
+ describe "Errorcodes" do
5
+
6
+
7
+
8
+ it 'should return the length of fix hash' do
9
+ Rubyipmi::Ipmitool::ErrorCodes.length.should be > 1
10
+ end
11
+
12
+ it 'should return a hash of codes' do
13
+ Rubyipmi::Ipmitool::ErrorCodes.code.should be_an_instance_of Hash
14
+
15
+ end
16
+
17
+ it 'should return a fix if code is found' do
18
+ code = 'Authentication type NONE not supported'
19
+ Rubyipmi::Ipmitool::ErrorCodes.search(code).should eq({"I"=>"lanplus"})
20
+ end
21
+
22
+ it 'should throw and error if no fix is found' do
23
+ code = 'Crap Shoot'
24
+ expect {Rubyipmi::Ipmitool::ErrorCodes.search(code)}.to raise_error
25
+ end
26
+
27
+ it 'should throw and error when a bad code is given' do
28
+ code = nil
29
+ expect {Rubyipmi::Ipmitool::ErrorCodes.search(code)}.to raise_error
30
+ end
31
+
32
+
33
+
34
+ end
@@ -0,0 +1,77 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
+
3
+ describe :Fru do
4
+
5
+ before :all do
6
+ @path = '/usr/local/bin'
7
+ end
8
+
9
+ before :each do
10
+ allow_message_expectations_on_nil
11
+ data = nil
12
+ provider = "ipmitool"
13
+ user = "ipmiuser"
14
+ pass = "impipass"
15
+ host = "ipmihost"
16
+ Rubyipmi.stub(:locate_command).with('ipmitool').and_return("#{@path}/ipmitool")
17
+
18
+ @conn = Rubyipmi.connect(user, pass, host, provider, true)
19
+ @fru = @conn.fru
20
+
21
+ File.open("spec/fixtures/#{provider}/fru.txt",'r') do |file|
22
+ data = file.read
23
+ end
24
+
25
+ @fru.stub(:locate_command).with('ipmitool').and_return("#{@path}/ipmitool")
26
+ @fru.stub(:`).and_return(data)
27
+ $?.stub(:success?).and_return(true)
28
+
29
+ end
30
+
31
+ it "cmd should be ipmi-sensors with correct number of arguments" do
32
+ @fru.list
33
+ verify_ipmitool_command(@fru, 3, "#{@path}/ipmitool", 'fru')
34
+ end
35
+
36
+ it 'should return a list of unparsed frus' do
37
+ @fru.getfrus.should_not be_nil
38
+ end
39
+
40
+ it 'should return a list of fru names' do
41
+ @fru.names.count.should eq(13)
42
+ end
43
+
44
+ it "should return a list of parsed frus" do
45
+ @fru.list.count.should eq(13)
46
+ end
47
+
48
+ it 'should return a manufactor' do
49
+ @fru.product_manufacturer.should eq('HP')
50
+ end
51
+
52
+ it 'should return a product' do
53
+ @fru.product_name.should eq('ProLiant SL230s Gen8')
54
+ end
55
+
56
+ it 'should return a board serial' do
57
+ @fru.board_serial.should eq('USE238F0D0')
58
+ end
59
+
60
+ it 'should return a product serial' do
61
+ @fru.product_serial.should eq('USE238F0D0')
62
+ end
63
+
64
+ it 'should return a asset tag' do
65
+ @fru.product_asset_tag.should eq('000015B90F82')
66
+ end
67
+
68
+ it 'should return a fru using method missing' do
69
+ @fru.names.each do |name|
70
+ fru = @fru.send(name)
71
+ fru.should be_an_instance_of(Rubyipmi::Ipmitool::FruData)
72
+ fru[:name].should eq(name)
73
+ end
74
+ end
75
+
76
+
77
+ end
@@ -0,0 +1,93 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
+ describe "Lan" do
3
+
4
+ before :all do
5
+ @path = '/usr/local/bin'
6
+ end
7
+
8
+ before :each do
9
+ allow_message_expectations_on_nil
10
+ provider = "ipmitool"
11
+ user = "ipmiuser"
12
+ pass = "impipass"
13
+ host = "ipmihost"
14
+ Rubyipmi.stub(:locate_command).with('ipmitool').and_return("#{@path}/ipmitool")
15
+ @conn = Rubyipmi.connect(user, pass, host, provider, true)
16
+ @lan = @conn.bmc.lan
17
+ data = nil
18
+ File.open("spec/fixtures/#{provider}/lan.txt",'r') do |file|
19
+ data = file.read
20
+ end
21
+
22
+ @lan.stub(:locate_command).with('ipmitool').and_return("#{@path}/ipmitool")
23
+ @lan.stub(:`).and_return(data)
24
+ $?.stub(:success?).and_return(true)
25
+ end
26
+
27
+ it "cmd should be lan with correct number of arguments" do
28
+ @lan.info
29
+ verify_ipmitool_command(@lan, 3, "#{@path}/ipmitool", 'lan')
30
+ end
31
+
32
+ it "can return a lan information" do
33
+ @lan.info.should_not be_nil
34
+ end
35
+
36
+ it "can print valid lan info" do
37
+ @lan.info.length.should > 1
38
+ end
39
+
40
+ it 'should print valid ip address' do
41
+ @lan.ip.should eq('192.168.1.41')
42
+ end
43
+
44
+ it 'should print valid snmp string' do
45
+ @lan.snmp.should be_nil
46
+
47
+ end
48
+
49
+ it 'should print correct mac address' do
50
+ @lan.mac.should eq('00:17:a4:49:ab:70')
51
+ end
52
+
53
+ it 'should print correct netmask' do
54
+ @lan.netmask.should eq('255.255.255.0')
55
+ end
56
+
57
+ it 'should print correct gateway' do
58
+ @lan.gateway.should eq('192.168.1.1')
59
+ end
60
+
61
+ it 'should print vlanid' do
62
+ @lan.vlanid.should be_nil
63
+ end
64
+
65
+ it 'dhcp should return true' do
66
+ @lan.dhcp?.should be_true
67
+ end
68
+
69
+ it 'static should return false' do
70
+ @lan.static?.should be_false
71
+ end
72
+
73
+ #it 'should attempt to apply fix and fail, then switch to channel 1' do
74
+ # channelbefore = @lan.channel
75
+ # error = "some lan channel problem"
76
+ # @lan.stub(:`).and_return(error)
77
+ # $?.stub(:success?).and_return(false)
78
+ # @lan.ip
79
+ # channelbefore = @lan.channel
80
+ #
81
+ # data = nil
82
+ # File.open("spec/fixtures/#{provider}/lan.txt",'r') do |file|
83
+ # data = file.read
84
+ # end
85
+ #
86
+ # @lan.stub(:locate_command).with('ipmitool').and_return("#{@path}/ipmitool")
87
+ # @lan.stub(:`).and_return(data)
88
+ # $?.stub(:success?).and_return(true)
89
+ #
90
+ #end
91
+
92
+ end
93
+
@@ -0,0 +1,95 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
+ describe :Sensors do
3
+ before :all do
4
+ @path = '/usr/local/bin'
5
+ end
6
+
7
+ before :each do
8
+ allow_message_expectations_on_nil
9
+
10
+ data = nil
11
+ provider = "ipmitool"
12
+ user = "ipmiuser"
13
+ pass = "impipass"
14
+ host = "ipmihost"
15
+ Rubyipmi.stub(:locate_command).with('ipmitool').and_return("#{@path}/ipmitool")
16
+
17
+ @conn = Rubyipmi.connect(user, pass, host, provider, true)
18
+ @sensors = @conn.sensors
19
+ File.open("spec/fixtures/#{provider}/sensors.txt",'r') do |file|
20
+ data = file.read
21
+ end
22
+ @sensors.stub(:locate_command).with('ipmitool').and_return("#{@path}/ipmitool")
23
+ @sensors.stub(:`).and_return(data)
24
+
25
+ # this is causing an error: An expectation of :success? was set on nil
26
+ $?.stub(:success?).and_return(true)
27
+
28
+ end
29
+
30
+ #it 'should figure out to add the -I lanplus' do
31
+ # error = 'Authentication type NONE not supported'
32
+ # @sensors.stub(:`).and_return(error)
33
+ # @sensors.list
34
+ # @sensors.lastcall.includes?('-I lanplus')
35
+ #end
36
+
37
+ #it "cmd should be ipmi-sensors with three arguments" do
38
+ # @sensors.list
39
+ # verify_ipmitool_command(@sensors, 3, "#{@path}/ipmitool", 'sensor')
40
+ #end
41
+
42
+ it "can return a list of sensors" do
43
+ @sensors.list.should_not be_nil
44
+ end
45
+
46
+ it "should return a count of sensors" do
47
+ @sensors.count.should eq(99)
48
+ end
49
+
50
+ it "should return a list of fan names" do
51
+ @sensors.fanlist.count.should eq(17)
52
+ end
53
+
54
+ it 'should return a list of temp names' do
55
+ @sensors.templist.count.should.should eq(43)
56
+ @sensors.templist.each do | temp |
57
+ end
58
+ end
59
+
60
+ it 'should return a list of sensor names as an array' do
61
+ @sensors.names.should be_an_instance_of(Array)
62
+ @sensors.names.count.should eq(99)
63
+ end
64
+
65
+ it 'should return an empty list if no data exists' do
66
+ @sensors.stub(:getsensors).and_return(nil)
67
+ @sensors.names.count.should eq(0)
68
+ end
69
+
70
+ it 'should return a sensor using method missing' do
71
+ @sensors.names.each do |name|
72
+ sensor = @sensors.send(name)
73
+ sensor.should be_an_instance_of(Rubyipmi::Ipmitool::Sensor)
74
+ end
75
+ end
76
+
77
+ it "test should create new Sensor" do
78
+ Rubyipmi::Ipmitool::Sensor.new("fakesensor").should_not be nil
79
+ end
80
+
81
+ #it 'fix should be added to options after error occurs' do
82
+ # error = nil
83
+ # File.open("spec/fixtures/ipmitool/errors.txt",'r') do |file|
84
+ # error = file.read
85
+ # end
86
+ # @sensors.stub(:`).and_return(error)
87
+ # $?.stub(:success?).and_return(false)
88
+ # @sensors.list
89
+ # after = @sensors.options.fetch('I', false).should_not be_false
90
+ #end
91
+
92
+
93
+
94
+ end
95
+
@@ -0,0 +1,31 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
+
3
+ describe :Rubyipmi do
4
+
5
+
6
+ before :each do
7
+
8
+ end
9
+
10
+ it 'is provider installed should return ipmitool true' do
11
+ Rubyipmi.stub(:locate_command).with('ipmitool').and_return('/usr/local/bin/ipmitool')
12
+ Rubyipmi.is_provider_installed?('ipmitool').should be_true
13
+ end
14
+
15
+ it 'is locate command should return command in /usr/local/bin' do
16
+ Rubyipmi.stub(:locate_command).with('ipmitool').and_return('/usr/local/bin/ipmitool')
17
+ Rubyipmi.locate_command('ipmitool').should eq('/usr/local/bin/ipmitool')
18
+ end
19
+
20
+ it 'is provider installed should return freeipmi true' do
21
+ Rubyipmi.stub(:locate_command).with('ipmipower').and_return('/usr/local/bin/ipmipower')
22
+ Rubyipmi.is_provider_installed?('freeipmi').should be_true
23
+ end
24
+
25
+ it 'is provider installed should return error with ipmitool' do
26
+ expect{Rubyipmi.is_provider_installed?('bad_provider')}.to raise_error
27
+ end
28
+
29
+ end
30
+
31
+
data/spec/vagrant ADDED
@@ -0,0 +1,27 @@
1
+ -----BEGIN RSA PRIVATE KEY-----
2
+ MIIEogIBAAKCAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzI
3
+ w+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoP
4
+ kcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2
5
+ hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NO
6
+ Td0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcW
7
+ yLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQIBIwKCAQEA4iqWPJXtzZA68mKd
8
+ ELs4jJsdyky+ewdZeNds5tjcnHU5zUYE25K+ffJED9qUWICcLZDc81TGWjHyAqD1
9
+ Bw7XpgUwFgeUJwUlzQurAv+/ySnxiwuaGJfhFM1CaQHzfXphgVml+fZUvnJUTvzf
10
+ TK2Lg6EdbUE9TarUlBf/xPfuEhMSlIE5keb/Zz3/LUlRg8yDqz5w+QWVJ4utnKnK
11
+ iqwZN0mwpwU7YSyJhlT4YV1F3n4YjLswM5wJs2oqm0jssQu/BT0tyEXNDYBLEF4A
12
+ sClaWuSJ2kjq7KhrrYXzagqhnSei9ODYFShJu8UWVec3Ihb5ZXlzO6vdNQ1J9Xsf
13
+ 4m+2ywKBgQD6qFxx/Rv9CNN96l/4rb14HKirC2o/orApiHmHDsURs5rUKDx0f9iP
14
+ cXN7S1uePXuJRK/5hsubaOCx3Owd2u9gD6Oq0CsMkE4CUSiJcYrMANtx54cGH7Rk
15
+ EjFZxK8xAv1ldELEyxrFqkbE4BKd8QOt414qjvTGyAK+OLD3M2QdCQKBgQDtx8pN
16
+ CAxR7yhHbIWT1AH66+XWN8bXq7l3RO/ukeaci98JfkbkxURZhtxV/HHuvUhnPLdX
17
+ 3TwygPBYZFNo4pzVEhzWoTtnEtrFueKxyc3+LjZpuo+mBlQ6ORtfgkr9gBVphXZG
18
+ YEzkCD3lVdl8L4cw9BVpKrJCs1c5taGjDgdInQKBgHm/fVvv96bJxc9x1tffXAcj
19
+ 3OVdUN0UgXNCSaf/3A/phbeBQe9xS+3mpc4r6qvx+iy69mNBeNZ0xOitIjpjBo2+
20
+ dBEjSBwLk5q5tJqHmy/jKMJL4n9ROlx93XS+njxgibTvU6Fp9w+NOFD/HvxB3Tcz
21
+ 6+jJF85D5BNAG3DBMKBjAoGBAOAxZvgsKN+JuENXsST7F89Tck2iTcQIT8g5rwWC
22
+ P9Vt74yboe2kDT531w8+egz7nAmRBKNM751U/95P9t88EDacDI/Z2OwnuFQHCPDF
23
+ llYOUI+SpLJ6/vURRbHSnnn8a/XG+nzedGH5JGqEJNQsz+xT2axM0/W/CRknmGaJ
24
+ kda/AoGANWrLCz708y7VYgAtW2Uf1DPOIYMdvo6fxIB5i9ZfISgcJ/bbCUkFrhoH
25
+ +vq/5CIWxCPp0f85R4qxxQ5ihxJ0YDQT9Jpx4TMss4PSavPaBH3RXow5Ohe+bYoQ
26
+ NE5OgEXk2wVfZczCZpigBKbKZHNYcelXtTt/nP3rsCuGcM4h53s=
27
+ -----END RSA PRIVATE KEY-----
data/spec/vagrant.pub ADDED
@@ -0,0 +1 @@
1
+ ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key
metadata CHANGED
@@ -1,104 +1,123 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: rubyipmi
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 6
8
- - 0
9
- version: 0.6.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.7.0
10
5
  platform: ruby
11
- authors:
6
+ authors:
12
7
  - Corey Osman
13
8
  autorequire:
14
9
  bindir: bin
15
10
  cert_chain: []
16
-
17
- date: 2013-07-03 00:00:00 -07:00
18
- default_executable:
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
21
- type: :development
22
- version_requirements: &id001 !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ~>
25
- - !ruby/object:Gem::Version
26
- segments:
27
- - 2
28
- - 8
29
- - 0
30
- version: 2.8.0
11
+ date: 2013-10-17 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
31
14
  name: rspec
32
- requirement: *id001
33
- prerelease: false
34
- - !ruby/object:Gem::Dependency
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - <=
18
+ - !ruby/object:Gem::Version
19
+ version: 2.8.0
35
20
  type: :development
36
- version_requirements: &id002 !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ~>
39
- - !ruby/object:Gem::Version
40
- segments:
41
- - 3
42
- - 12
43
- version: "3.12"
44
- name: rdoc
45
- requirement: *id002
46
21
  prerelease: false
47
- - !ruby/object:Gem::Dependency
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - <=
25
+ - !ruby/object:Gem::Version
26
+ version: 2.8.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: rdoc
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: '3.12'
48
34
  type: :development
49
- version_requirements: &id003 !ruby/object:Gem::Requirement
50
- requirements:
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
51
38
  - - ~>
52
- - !ruby/object:Gem::Version
53
- segments:
54
- - 1
55
- - 1
56
- - 5
57
- version: 1.1.5
39
+ - !ruby/object:Gem::Version
40
+ version: '3.12'
41
+ - !ruby/object:Gem::Dependency
58
42
  name: bundler
59
- requirement: *id003
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ! '>='
46
+ - !ruby/object:Gem::Version
47
+ version: 1.1.5
48
+ type: :development
60
49
  prerelease: false
61
- - !ruby/object:Gem::Dependency
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
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: 1.8.4
62
62
  type: :development
63
- version_requirements: &id004 !ruby/object:Gem::Requirement
64
- requirements:
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
65
66
  - - ~>
66
- - !ruby/object:Gem::Version
67
- segments:
68
- - 1
69
- - 8
70
- - 4
67
+ - !ruby/object:Gem::Version
71
68
  version: 1.8.4
72
- name: jeweler
73
- requirement: *id004
69
+ - !ruby/object:Gem::Dependency
70
+ name: rcov
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - <
74
+ - !ruby/object:Gem::Version
75
+ version: 1.0.0
76
+ type: :development
74
77
  prerelease: false
75
- - !ruby/object:Gem::Dependency
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - <
81
+ - !ruby/object:Gem::Version
82
+ version: 1.0.0
83
+ - !ruby/object:Gem::Dependency
84
+ name: highline
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ! '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ! '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rake
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ! '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
76
104
  type: :development
77
- version_requirements: &id005 !ruby/object:Gem::Requirement
78
- requirements:
79
- - - ">="
80
- - !ruby/object:Gem::Version
81
- segments:
82
- - 0
83
- version: "0"
84
- name: rcov
85
- requirement: *id005
86
105
  prerelease: false
87
- description: A ruby wrapper for ipmi command line tools that supports ipmitool and freeipmi
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ! '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ description: Provides a library for controlling IPMI devices using pure ruby code
88
112
  email: corey@logicminds.biz
89
113
  executables: []
90
-
91
114
  extensions: []
92
-
93
- extra_rdoc_files:
115
+ extra_rdoc_files:
94
116
  - LICENSE.txt
95
117
  - README.md
96
118
  - README.rdoc
97
- files:
98
- - .document
99
- - .rspec
119
+ files:
100
120
  - Gemfile
101
- - Gemfile.lock
102
121
  - LICENSE.txt
103
122
  - README.md
104
123
  - README.rdoc
@@ -131,45 +150,77 @@ files:
131
150
  - lib/rubyipmi/ipmitool/errorcodes.rb
132
151
  - lib/rubyipmi/observablehash.rb
133
152
  - rubyipmi.gemspec
134
- - spec/bmc_spec.rb
135
- - spec/chassis_config_spec.rb
136
- - spec/chassis_spec.rb
137
- - spec/connection_spec.rb
138
- - spec/fru_spec.rb
139
- - spec/lan_spec.rb
140
- - spec/power_spec.rb
141
- - spec/rubyipmi_spec.rb
142
- - spec/sensor_spec.rb
153
+ - spec/Vagrantfile
154
+ - spec/fixtures/freeipmi/bmc_config.txt
155
+ - spec/fixtures/freeipmi/bmc_config_lan_conf.txt
156
+ - spec/fixtures/freeipmi/bmc_info.txt
157
+ - spec/fixtures/freeipmi/errors.txt
158
+ - spec/fixtures/freeipmi/fru.txt
159
+ - spec/fixtures/freeipmi/sensors.txt
160
+ - spec/fixtures/ipmitool/bmc_info.txt
161
+ - spec/fixtures/ipmitool/errors.txt
162
+ - spec/fixtures/ipmitool/fru.txt
163
+ - spec/fixtures/ipmitool/lan.txt
164
+ - spec/fixtures/ipmitool/sensors.txt
165
+ - spec/integration/bmc_spec.rb
166
+ - spec/integration/chassis_config_spec.rb
167
+ - spec/integration/chassis_spec.rb
168
+ - spec/integration/connection_spec.rb
169
+ - spec/integration/fru_spec.rb
170
+ - spec/integration/lan_spec.rb
171
+ - spec/integration/power_spec.rb
172
+ - spec/integration/rubyipmi_spec.rb
173
+ - spec/integration/sensor_spec.rb
174
+ - spec/manifests/default.pp
175
+ - spec/puppetmodules/archive/LICENSE-2.0.txt
176
+ - spec/puppetmodules/archive/Modulefile
177
+ - spec/puppetmodules/archive/README.md
178
+ - spec/puppetmodules/archive/manifests/download.pp
179
+ - spec/puppetmodules/archive/manifests/extract.pp
180
+ - spec/puppetmodules/archive/manifests/init.pp
181
+ - spec/puppetmodules/archive/manifests/tar-gz.pp
182
+ - spec/puppetmodules/archive/manifests/zip.pp
183
+ - spec/puppetmodules/archive/metadata.json
143
184
  - spec/spec_helper.rb
144
- has_rdoc: true
185
+ - spec/unit/freeipmi/bmc-info_spec.rb
186
+ - spec/unit/freeipmi/bmc_spec.rb
187
+ - spec/unit/freeipmi/connection_spec.rb
188
+ - spec/unit/freeipmi/errorcodes_spec.rb
189
+ - spec/unit/freeipmi/fru_spec.rb
190
+ - spec/unit/freeipmi/lan_spec.rb
191
+ - spec/unit/freeipmi/sensors_spec.rb
192
+ - spec/unit/ipmitool/bmc_spec.rb
193
+ - spec/unit/ipmitool/connection_spec.rb
194
+ - spec/unit/ipmitool/errorcodes_spec.rb
195
+ - spec/unit/ipmitool/fru_spec.rb
196
+ - spec/unit/ipmitool/lan_spec.rb
197
+ - spec/unit/ipmitool/sensors_spec.rb
198
+ - spec/unit/rubyipmi_spec.rb
199
+ - spec/vagrant
200
+ - spec/vagrant.pub
145
201
  homepage: http://github.com/logicminds/rubyipmi
146
- licenses:
202
+ licenses:
147
203
  - GPLv3
204
+ metadata: {}
148
205
  post_install_message:
149
206
  rdoc_options: []
150
-
151
- require_paths:
207
+ require_paths:
152
208
  - lib
153
- required_ruby_version: !ruby/object:Gem::Requirement
154
- requirements:
155
- - - ">="
156
- - !ruby/object:Gem::Version
157
- segments:
158
- - 0
159
- version: "0"
160
- required_rubygems_version: !ruby/object:Gem::Requirement
161
- requirements:
162
- - - ">="
163
- - !ruby/object:Gem::Version
164
- segments:
165
- - 0
166
- version: "0"
209
+ required_ruby_version: !ruby/object:Gem::Requirement
210
+ requirements:
211
+ - - ! '>='
212
+ - !ruby/object:Gem::Version
213
+ version: '0'
214
+ required_rubygems_version: !ruby/object:Gem::Requirement
215
+ requirements:
216
+ - - ! '>='
217
+ - !ruby/object:Gem::Version
218
+ version: '0'
167
219
  requirements: []
168
-
169
220
  rubyforge_project:
170
- rubygems_version: 1.3.6
221
+ rubygems_version: 2.0.7
171
222
  signing_key:
172
- specification_version: 3
223
+ specification_version: 4
173
224
  summary: A ruby wrapper for ipmi command line tools that supports ipmitool and freeipmi
174
225
  test_files: []
175
-
226
+ has_rdoc: