rubyipmi 0.6.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -2,17 +2,65 @@ module Rubyipmi
2
2
  module Ipmitool
3
3
  class ErrorCodes
4
4
 
5
- @@code = {
6
- "Authentication type NONE not supported" => {"I" => "lanplus"},
5
+ @@codes = {
6
+ "Authentication type NONE not supported\nAuthentication type NONE not supported\n" +
7
+ "Error: Unable to establish LAN session\nGet Device ID command failed\n" => {"I" => "lanplus"},
8
+ "Authentication type NONE not supported" => {"I" => "lanplus"}
9
+
7
10
 
8
11
  }
12
+ def self.length
13
+ @@codes.length
14
+ end
9
15
 
10
16
  def self.code
11
- @@code
17
+ @@codes
18
+ end
19
+
20
+ def self.search(code)
21
+ fix = @@codes.fetch(code,nil)
22
+ if fix.nil?
23
+ @@codes.each do | error, result |
24
+ # the error should be a subset of the actual erorr
25
+ if code =~ /.*#{error}.*/i
26
+ return result
27
+ end
28
+ end
29
+ else
30
+ return fix
31
+ end
32
+ raise "No Fix found" if fix.nil?
33
+ end
34
+
35
+
36
+ def throwError
37
+ # Find out what kind of error is happening, parse results
38
+ # Check for authentication or connection issue
39
+
40
+ if @result =~ /timeout|timed\ out/
41
+ code = "ipmi call: #{@lastcall} timed out"
42
+ raise code
43
+ else
44
+ code = @result.split(":").last.chomp.strip if not @result.empty?
45
+ end
46
+ case code
47
+ when "invalid hostname"
48
+ raise code
49
+ when "password invalid"
50
+ raise code
51
+ when "username invalid"
52
+ raise code
53
+ else
54
+ raise :ipmierror, code
55
+ end
12
56
  end
57
+
58
+
13
59
  end
14
60
 
15
61
 
62
+
63
+
16
64
  end
17
65
  end
18
66
 
data/rubyipmi.gemspec CHANGED
@@ -4,24 +4,21 @@
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = %q{rubyipmi}
8
- s.version = "0.6.0"
7
+ s.name = "rubyipmi"
8
+ s.version = "0.7.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Corey Osman"]
12
- s.date = %q{2013-07-03}
13
- s.description = %q{A ruby wrapper for ipmi command line tools that supports ipmitool and freeipmi}
14
- s.email = %q{corey@logicminds.biz}
12
+ s.date = "2013-10-17"
13
+ s.description = "Provides a library for controlling IPMI devices using pure ruby code"
14
+ s.email = "corey@logicminds.biz"
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE.txt",
17
17
  "README.md",
18
18
  "README.rdoc"
19
19
  ]
20
20
  s.files = [
21
- ".document",
22
- ".rspec",
23
21
  "Gemfile",
24
- "Gemfile.lock",
25
22
  "LICENSE.txt",
26
23
  "README.md",
27
24
  "README.rdoc",
@@ -54,46 +51,89 @@ Gem::Specification.new do |s|
54
51
  "lib/rubyipmi/ipmitool/errorcodes.rb",
55
52
  "lib/rubyipmi/observablehash.rb",
56
53
  "rubyipmi.gemspec",
57
- "spec/bmc_spec.rb",
58
- "spec/chassis_config_spec.rb",
59
- "spec/chassis_spec.rb",
60
- "spec/connection_spec.rb",
61
- "spec/fru_spec.rb",
62
- "spec/lan_spec.rb",
63
- "spec/power_spec.rb",
64
- "spec/rubyipmi_spec.rb",
65
- "spec/sensor_spec.rb",
66
- "spec/spec_helper.rb"
54
+ "spec/Vagrantfile",
55
+ "spec/fixtures/freeipmi/bmc_config.txt",
56
+ "spec/fixtures/freeipmi/bmc_config_lan_conf.txt",
57
+ "spec/fixtures/freeipmi/bmc_info.txt",
58
+ "spec/fixtures/freeipmi/errors.txt",
59
+ "spec/fixtures/freeipmi/fru.txt",
60
+ "spec/fixtures/freeipmi/sensors.txt",
61
+ "spec/fixtures/ipmitool/bmc_info.txt",
62
+ "spec/fixtures/ipmitool/errors.txt",
63
+ "spec/fixtures/ipmitool/fru.txt",
64
+ "spec/fixtures/ipmitool/lan.txt",
65
+ "spec/fixtures/ipmitool/sensors.txt",
66
+ "spec/integration/bmc_spec.rb",
67
+ "spec/integration/chassis_config_spec.rb",
68
+ "spec/integration/chassis_spec.rb",
69
+ "spec/integration/connection_spec.rb",
70
+ "spec/integration/fru_spec.rb",
71
+ "spec/integration/lan_spec.rb",
72
+ "spec/integration/power_spec.rb",
73
+ "spec/integration/rubyipmi_spec.rb",
74
+ "spec/integration/sensor_spec.rb",
75
+ "spec/manifests/default.pp",
76
+ "spec/puppetmodules/archive/LICENSE-2.0.txt",
77
+ "spec/puppetmodules/archive/Modulefile",
78
+ "spec/puppetmodules/archive/README.md",
79
+ "spec/puppetmodules/archive/manifests/download.pp",
80
+ "spec/puppetmodules/archive/manifests/extract.pp",
81
+ "spec/puppetmodules/archive/manifests/init.pp",
82
+ "spec/puppetmodules/archive/manifests/tar-gz.pp",
83
+ "spec/puppetmodules/archive/manifests/zip.pp",
84
+ "spec/puppetmodules/archive/metadata.json",
85
+ "spec/spec_helper.rb",
86
+ "spec/unit/freeipmi/bmc-info_spec.rb",
87
+ "spec/unit/freeipmi/bmc_spec.rb",
88
+ "spec/unit/freeipmi/connection_spec.rb",
89
+ "spec/unit/freeipmi/errorcodes_spec.rb",
90
+ "spec/unit/freeipmi/fru_spec.rb",
91
+ "spec/unit/freeipmi/lan_spec.rb",
92
+ "spec/unit/freeipmi/sensors_spec.rb",
93
+ "spec/unit/ipmitool/bmc_spec.rb",
94
+ "spec/unit/ipmitool/connection_spec.rb",
95
+ "spec/unit/ipmitool/errorcodes_spec.rb",
96
+ "spec/unit/ipmitool/fru_spec.rb",
97
+ "spec/unit/ipmitool/lan_spec.rb",
98
+ "spec/unit/ipmitool/sensors_spec.rb",
99
+ "spec/unit/rubyipmi_spec.rb",
100
+ "spec/vagrant",
101
+ "spec/vagrant.pub"
67
102
  ]
68
- s.homepage = %q{http://github.com/logicminds/rubyipmi}
103
+ s.homepage = "http://github.com/logicminds/rubyipmi"
69
104
  s.licenses = ["GPLv3"]
70
105
  s.require_paths = ["lib"]
71
- s.rubygems_version = %q{1.3.6}
72
- s.summary = %q{A ruby wrapper for ipmi command line tools that supports ipmitool and freeipmi}
106
+ s.rubygems_version = "2.0.7"
107
+ s.summary = "A ruby wrapper for ipmi command line tools that supports ipmitool and freeipmi"
73
108
 
74
109
  if s.respond_to? :specification_version then
75
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
76
- s.specification_version = 3
110
+ s.specification_version = 4
77
111
 
78
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
79
- s.add_development_dependency(%q<rspec>, ["~> 2.8.0"])
112
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
113
+ s.add_development_dependency(%q<rspec>, ["<= 2.8.0"])
80
114
  s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
81
- s.add_development_dependency(%q<bundler>, ["~> 1.1.5"])
115
+ s.add_development_dependency(%q<bundler>, [">= 1.1.5"])
82
116
  s.add_development_dependency(%q<jeweler>, ["~> 1.8.4"])
83
- s.add_development_dependency(%q<rcov>, [">= 0"])
117
+ s.add_development_dependency(%q<rcov>, ["< 1.0.0"])
118
+ s.add_development_dependency(%q<highline>, [">= 0"])
119
+ s.add_development_dependency(%q<rake>, [">= 0"])
84
120
  else
85
- s.add_dependency(%q<rspec>, ["~> 2.8.0"])
121
+ s.add_dependency(%q<rspec>, ["<= 2.8.0"])
86
122
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
87
- s.add_dependency(%q<bundler>, ["~> 1.1.5"])
123
+ s.add_dependency(%q<bundler>, [">= 1.1.5"])
88
124
  s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
89
- s.add_dependency(%q<rcov>, [">= 0"])
125
+ s.add_dependency(%q<rcov>, ["< 1.0.0"])
126
+ s.add_dependency(%q<highline>, [">= 0"])
127
+ s.add_dependency(%q<rake>, [">= 0"])
90
128
  end
91
129
  else
92
- s.add_dependency(%q<rspec>, ["~> 2.8.0"])
130
+ s.add_dependency(%q<rspec>, ["<= 2.8.0"])
93
131
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
94
- s.add_dependency(%q<bundler>, ["~> 1.1.5"])
132
+ s.add_dependency(%q<bundler>, [">= 1.1.5"])
95
133
  s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
96
- s.add_dependency(%q<rcov>, [">= 0"])
134
+ s.add_dependency(%q<rcov>, ["< 1.0.0"])
135
+ s.add_dependency(%q<highline>, [">= 0"])
136
+ s.add_dependency(%q<rake>, [">= 0"])
97
137
  end
98
138
  end
99
139
 
data/spec/Vagrantfile ADDED
@@ -0,0 +1,45 @@
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
+
@@ -0,0 +1,317 @@
1
+ #
2
+ # Section UserX Comments
3
+ #
4
+ # In the following User sections, users should configure usernames, passwords,
5
+ # and access rights for IPMI over LAN communication. Usernames can be set to any
6
+ # string with the exception of User1, which is a fixed to the "anonymous"
7
+ # username in IPMI.
8
+ #
9
+ # For IPMI over LAN access for a username, set "Enable_User" to "Yes",
10
+ # "Lan_Enable_IPMI_Msgs" to "Yes", and "Lan_Privilege_Limit" to a privilege
11
+ # level. The privilege level is used to limit various IPMI operations for
12
+ # individual usernames. It is recommened that atleast one username be created
13
+ # with a privilege limit "Administrator", so all system functions are available
14
+ # to atleast one username via IPMI over LAN. For security reasons, we recommend
15
+ # not enabling the "anonymous" User1. For most users, "Lan_Session_Limit" can be
16
+ # set to 0 (or ignored) to support an unlimited number of simultaneous IPMI over
17
+ # LAN sessions.
18
+ #
19
+ # If your system supports IPMI 2.0 and Serial-over-LAN (SOL),
20
+ # a"SOL_Payload_Access" field may be listed below. Set the "SOL_Payload_Access"
21
+ # field to "Yes" or "No" to enable or disable this username's ability to access
22
+ # SOL.
23
+ #
24
+ # Please do not forget to uncomment those fields, such as "Password", that may
25
+ # be commented out during the checkout.
26
+ #
27
+ # Some motherboards may require a "Username" to be configured prior to other
28
+ # fields being read/written. If this is the case, those fields will be set to
29
+ # <username-not-set-yet>.
30
+ #
31
+ Section User1
32
+ ## Give Username
33
+ ## Username NULL
34
+ ## Give password or blank to clear. MAX 16 chars (20 chars if IPMI 2.0 supported).
35
+ ## Password
36
+ ## Possible values: Yes/No or blank to not set
37
+ Enable_User Yes
38
+ ## Possible values: Yes/No
39
+ Lan_Enable_IPMI_Msgs Yes
40
+ ## Possible values: Yes/No
41
+ Lan_Enable_Link_Auth No
42
+ ## Possible values: Yes/No
43
+ Lan_Enable_Restricted_to_Callback No
44
+ ## Possible values: Callback/User/Operator/Administrator/OEM_Proprietary/No_Access
45
+ Lan_Privilege_Limit Administrator
46
+ ## Possible values: 0-17, 0 is unlimited; May be reset to 0 if not specified
47
+ ## Lan_Session_Limit
48
+ EndSection
49
+ Section User2
50
+ ## Give Username
51
+ Username admin
52
+ ## Give password or blank to clear. MAX 16 chars (20 chars if IPMI 2.0 supported).
53
+ ## Password
54
+ ## Possible values: Yes/No or blank to not set
55
+ Enable_User Yes
56
+ ## Possible values: Yes/No
57
+ Lan_Enable_IPMI_Msgs Yes
58
+ ## Possible values: Yes/No
59
+ Lan_Enable_Link_Auth No
60
+ ## Possible values: Yes/No
61
+ Lan_Enable_Restricted_to_Callback No
62
+ ## Possible values: Callback/User/Operator/Administrator/OEM_Proprietary/No_Access
63
+ Lan_Privilege_Limit Administrator
64
+ ## Possible values: 0-17, 0 is unlimited; May be reset to 0 if not specified
65
+ ## Lan_Session_Limit
66
+ EndSection
67
+ Section User3
68
+ ## Give Username
69
+ Username admin3
70
+ ## Give password or blank to clear. MAX 16 chars (20 chars if IPMI 2.0 supported).
71
+ ## Password
72
+ ## Possible values: Yes/No or blank to not set
73
+ Enable_User No
74
+ ## Possible values: Yes/No
75
+ Lan_Enable_IPMI_Msgs No
76
+ ## Possible values: Yes/No
77
+ Lan_Enable_Link_Auth No
78
+ ## Possible values: Yes/No
79
+ Lan_Enable_Restricted_to_Callback No
80
+ ## Possible values: Callback/User/Operator/Administrator/OEM_Proprietary/No_Access
81
+ Lan_Privilege_Limit No_Access
82
+ ## Possible values: 0-17, 0 is unlimited; May be reset to 0 if not specified
83
+ ## Lan_Session_Limit
84
+ EndSection
85
+ Section User4
86
+ ## Give Username
87
+ Username (Empty User)
88
+ ## Give password or blank to clear. MAX 16 chars (20 chars if IPMI 2.0 supported).
89
+ ## Password
90
+ ## Possible values: Yes/No or blank to not set
91
+ Enable_User No
92
+ ## Possible values: Yes/No
93
+ Lan_Enable_IPMI_Msgs No
94
+ ## Possible values: Yes/No
95
+ Lan_Enable_Link_Auth No
96
+ ## Possible values: Yes/No
97
+ Lan_Enable_Restricted_to_Callback No
98
+ ## Possible values: Callback/User/Operator/Administrator/OEM_Proprietary/No_Access
99
+ Lan_Privilege_Limit No_Access
100
+ ## Possible values: 0-17, 0 is unlimited; May be reset to 0 if not specified
101
+ ## Lan_Session_Limit
102
+ EndSection
103
+ Section User5
104
+ ## Give Username
105
+ Username (Empty User)
106
+ ## Give password or blank to clear. MAX 16 chars (20 chars if IPMI 2.0 supported).
107
+ ## Password
108
+ ## Possible values: Yes/No or blank to not set
109
+ Enable_User No
110
+ ## Possible values: Yes/No
111
+ Lan_Enable_IPMI_Msgs No
112
+ ## Possible values: Yes/No
113
+ Lan_Enable_Link_Auth No
114
+ ## Possible values: Yes/No
115
+ Lan_Enable_Restricted_to_Callback No
116
+ ## Possible values: Callback/User/Operator/Administrator/OEM_Proprietary/No_Access
117
+ Lan_Privilege_Limit No_Access
118
+ ## Possible values: 0-17, 0 is unlimited; May be reset to 0 if not specified
119
+ ## Lan_Session_Limit
120
+ EndSection
121
+ Section User6
122
+ ## Give Username
123
+ Username (Empty User)
124
+ ## Give password or blank to clear. MAX 16 chars (20 chars if IPMI 2.0 supported).
125
+ ## Password
126
+ ## Possible values: Yes/No or blank to not set
127
+ Enable_User No
128
+ ## Possible values: Yes/No
129
+ Lan_Enable_IPMI_Msgs No
130
+ ## Possible values: Yes/No
131
+ Lan_Enable_Link_Auth No
132
+ ## Possible values: Yes/No
133
+ Lan_Enable_Restricted_to_Callback No
134
+ ## Possible values: Callback/User/Operator/Administrator/OEM_Proprietary/No_Access
135
+ Lan_Privilege_Limit No_Access
136
+ ## Possible values: 0-17, 0 is unlimited; May be reset to 0 if not specified
137
+ ## Lan_Session_Limit
138
+ EndSection
139
+ Section User7
140
+ ## Give Username
141
+ Username (Empty User)
142
+ ## Give password or blank to clear. MAX 16 chars (20 chars if IPMI 2.0 supported).
143
+ ## Password
144
+ ## Possible values: Yes/No or blank to not set
145
+ Enable_User No
146
+ ## Possible values: Yes/No
147
+ Lan_Enable_IPMI_Msgs No
148
+ ## Possible values: Yes/No
149
+ Lan_Enable_Link_Auth No
150
+ ## Possible values: Yes/No
151
+ Lan_Enable_Restricted_to_Callback No
152
+ ## Possible values: Callback/User/Operator/Administrator/OEM_Proprietary/No_Access
153
+ Lan_Privilege_Limit No_Access
154
+ ## Possible values: 0-17, 0 is unlimited; May be reset to 0 if not specified
155
+ ## Lan_Session_Limit
156
+ EndSection
157
+ Section User8
158
+ ## Give Username
159
+ Username (Empty User)
160
+ ## Give password or blank to clear. MAX 16 chars (20 chars if IPMI 2.0 supported).
161
+ ## Password
162
+ ## Possible values: Yes/No or blank to not set
163
+ Enable_User No
164
+ ## Possible values: Yes/No
165
+ Lan_Enable_IPMI_Msgs No
166
+ ## Possible values: Yes/No
167
+ Lan_Enable_Link_Auth No
168
+ ## Possible values: Yes/No
169
+ Lan_Enable_Restricted_to_Callback No
170
+ ## Possible values: Callback/User/Operator/Administrator/OEM_Proprietary/No_Access
171
+ Lan_Privilege_Limit No_Access
172
+ ## Possible values: 0-17, 0 is unlimited; May be reset to 0 if not specified
173
+ ## Lan_Session_Limit
174
+ EndSection
175
+ Section User9
176
+ ## Give Username
177
+ Username (Empty User)
178
+ ## Give password or blank to clear. MAX 16 chars (20 chars if IPMI 2.0 supported).
179
+ ## Password
180
+ ## Possible values: Yes/No or blank to not set
181
+ Enable_User No
182
+ ## Possible values: Yes/No
183
+ Lan_Enable_IPMI_Msgs No
184
+ ## Possible values: Yes/No
185
+ Lan_Enable_Link_Auth No
186
+ ## Possible values: Yes/No
187
+ Lan_Enable_Restricted_to_Callback No
188
+ ## Possible values: Callback/User/Operator/Administrator/OEM_Proprietary/No_Access
189
+ Lan_Privilege_Limit No_Access
190
+ ## Possible values: 0-17, 0 is unlimited; May be reset to 0 if not specified
191
+ ## Lan_Session_Limit
192
+ EndSection
193
+ Section User10
194
+ ## Give Username
195
+ Username (Empty User)
196
+ ## Give password or blank to clear. MAX 16 chars (20 chars if IPMI 2.0 supported).
197
+ ## Password
198
+ ## Possible values: Yes/No or blank to not set
199
+ Enable_User No
200
+ ## Possible values: Yes/No
201
+ Lan_Enable_IPMI_Msgs No
202
+ ## Possible values: Yes/No
203
+ Lan_Enable_Link_Auth No
204
+ ## Possible values: Yes/No
205
+ Lan_Enable_Restricted_to_Callback No
206
+ ## Possible values: Callback/User/Operator/Administrator/OEM_Proprietary/No_Access
207
+ Lan_Privilege_Limit No_Access
208
+ ## Possible values: 0-17, 0 is unlimited; May be reset to 0 if not specified
209
+ ## Lan_Session_Limit
210
+ EndSection
211
+ Section User11
212
+ ## Give Username
213
+ Username (Empty User)
214
+ ## Give password or blank to clear. MAX 16 chars (20 chars if IPMI 2.0 supported).
215
+ ## Password
216
+ ## Possible values: Yes/No or blank to not set
217
+ Enable_User No
218
+ ## Possible values: Yes/No
219
+ Lan_Enable_IPMI_Msgs No
220
+ ## Possible values: Yes/No
221
+ Lan_Enable_Link_Auth No
222
+ ## Possible values: Yes/No
223
+ Lan_Enable_Restricted_to_Callback No
224
+ ## Possible values: Callback/User/Operator/Administrator/OEM_Proprietary/No_Access
225
+ Lan_Privilege_Limit No_Access
226
+ ## Possible values: 0-17, 0 is unlimited; May be reset to 0 if not specified
227
+ ## Lan_Session_Limit
228
+ EndSection
229
+ Section User12
230
+ ## Give Username
231
+ Username (Empty User)
232
+ ## Give password or blank to clear. MAX 16 chars (20 chars if IPMI 2.0 supported).
233
+ ## Password
234
+ ## Possible values: Yes/No or blank to not set
235
+ Enable_User No
236
+ ## Possible values: Yes/No
237
+ Lan_Enable_IPMI_Msgs No
238
+ ## Possible values: Yes/No
239
+ Lan_Enable_Link_Auth No
240
+ ## Possible values: Yes/No
241
+ Lan_Enable_Restricted_to_Callback No
242
+ ## Possible values: Callback/User/Operator/Administrator/OEM_Proprietary/No_Access
243
+ Lan_Privilege_Limit No_Access
244
+ ## Possible values: 0-17, 0 is unlimited; May be reset to 0 if not specified
245
+ ## Lan_Session_Limit
246
+ EndSection
247
+ #
248
+ # Section Lan_Channel Comments
249
+ #
250
+ # In the Lan_Channel section, general IPMI over LAN can be enabled for disabled.
251
+ # In the below, "Volatile" configurations are immediately configured onto the
252
+ # BMC and will have immediate effect on the system. "Non_Volatile"
253
+ # configurations are only available after the next system reset. Generally, both
254
+ # the "Volatile" and "Non_Volatile" equivalent fields should be configured
255
+ # identically.
256
+ #
257
+ # To enable IPMI over LAN, typically "Access_Mode" should be set to
258
+ # "Always_Available". "Channel_Privilege_Limit" should be set to the highest
259
+ # privilege level any username was configured with. Typically, this is set to
260
+ # "Administrator".
261
+ #
262
+ # "User_Level_Auth" and "Per_Message_Auth" are typically set to "Yes" for
263
+ # additional security.
264
+ #
265
+ Section Lan_Channel
266
+ ## Possible values: Disabled/Pre_Boot_Only/Always_Available/Shared
267
+ Volatile_Access_Mode Always_Available
268
+ ## Possible values: Yes/No
269
+ Volatile_Enable_User_Level_Auth Yes
270
+ ## Possible values: Yes/No
271
+ Volatile_Enable_Per_Message_Auth No
272
+ ## Possible values: Yes/No
273
+ Volatile_Enable_Pef_Alerting No
274
+ ## Possible values: Callback/User/Operator/Administrator/OEM_Proprietary
275
+ Volatile_Channel_Privilege_Limit Administrator
276
+ ## Possible values: Disabled/Pre_Boot_Only/Always_Available/Shared
277
+ Non_Volatile_Access_Mode Always_Available
278
+ ## Possible values: Yes/No
279
+ Non_Volatile_Enable_User_Level_Auth Yes
280
+ ## Possible values: Yes/No
281
+ Non_Volatile_Enable_Per_Message_Auth No
282
+ ## Possible values: Yes/No
283
+ Non_Volatile_Enable_Pef_Alerting No
284
+ ## Possible values: Callback/User/Operator/Administrator/OEM_Proprietary
285
+ Non_Volatile_Channel_Privilege_Limit Administrator
286
+ EndSection
287
+ #
288
+ # Section Lan_Conf Comments
289
+ #
290
+ # In the Lan_Conf section, typical networking configuration is setup. Most users
291
+ # will choose to set "Static" for the "IP_Address_Source" and set the
292
+ # appropriate "IP_Address", "MAC_Address", "Subnet_Mask", etc. for the machine.
293
+ #
294
+ Section Lan_Conf
295
+ ## Possible values: Unspecified/Static/Use_DHCP/Use_BIOS/Use_Others
296
+ IP_Address_Source Use_DHCP
297
+ ## Give valid IP address
298
+ IP_Address 192.168.1.24
299
+ ## Give valid MAC address
300
+ MAC_Address 00:17:A4:49:AB:70
301
+ ## Give valid Subnet Mask
302
+ Subnet_Mask 255.255.255.0
303
+ ## Give valid IP address
304
+ Default_Gateway_IP_Address 192.168.1.1
305
+ EndSection
306
+ #
307
+ # Section Lan_Conf_Auth Comments
308
+ #
309
+ # In the Lan_Conf_Auth section, allowable authentication mechanisms for IPMI 1.5
310
+ # is configured. Most users will want to set all "MD5" authentication to "Yes"
311
+ # and the rest to "No". If you have configured a NULL username and a NULL
312
+ # password, you will also want to configure some of the "None" fields to "Yes"
313
+ # to allow "None" authentication to work. Some motherboards do not allow you to
314
+ # enable OEM authentication, so you may wish to set all OEM related fields to
315
+ # "No".
316
+ #
317
+ Section Lan_Conf_Auth