class Consolr::Runners::Ipmitool
Public Class Methods
new(config)
click to toggle source
# File lib/consolr/runners/ipmitool.rb, line 6 def initialize config @ipmitool = if config.empty? '/usr/bin/ipmitool' else config end end
Public Instance Methods
can_run?(node)
click to toggle source
# File lib/consolr/runners/ipmitool.rb, line 14 def can_run? node begin not (node.ipmi.address.empty? or node.ipmi.username.empty? or node.ipmi.password.empty?) rescue false end end
console(node)
click to toggle source
# File lib/consolr/runners/ipmitool.rb, line 26 def console node cmd 'sol activate', node end
identify(node)
click to toggle source
# File lib/consolr/runners/ipmitool.rb, line 34 def identify node cmd 'chassis identify', node end
kick(node)
click to toggle source
# File lib/consolr/runners/ipmitool.rb, line 30 def kick node cmd 'sol deactivate', node end
log_clear(node)
click to toggle source
# File lib/consolr/runners/ipmitool.rb, line 46 def log_clear node cmd 'sel clear', node end
log_list(node)
click to toggle source
# File lib/consolr/runners/ipmitool.rb, line 42 def log_list node cmd 'sel list', node end
off(node)
click to toggle source
# File lib/consolr/runners/ipmitool.rb, line 54 def off node cmd 'power off', node end
on(node)
click to toggle source
# File lib/consolr/runners/ipmitool.rb, line 50 def on node cmd 'power on', node end
reboot(node)
click to toggle source
# File lib/consolr/runners/ipmitool.rb, line 62 def reboot node cmd 'power cycle', node end
sdr(node)
click to toggle source
# File lib/consolr/runners/ipmitool.rb, line 38 def sdr node cmd 'sdr elist all', node end
sensors(node)
click to toggle source
# File lib/consolr/runners/ipmitool.rb, line 74 def sensors node cmd 'sensor list', node end
soft_off(node)
click to toggle source
# File lib/consolr/runners/ipmitool.rb, line 58 def soft_off node cmd 'power soft', node end
soft_reboot(node)
click to toggle source
# File lib/consolr/runners/ipmitool.rb, line 66 def soft_reboot node cmd 'power reset', node end
sol_info(node)
click to toggle source
# File lib/consolr/runners/ipmitool.rb, line 78 def sol_info node cmd 'session info active', node end
status(node)
click to toggle source
# File lib/consolr/runners/ipmitool.rb, line 70 def status node cmd 'power status', node end
verify(node)
click to toggle source
# File lib/consolr/runners/ipmitool.rb, line 22 def verify node Net::Ping::External.new(node.ipmi.address).ping? end
Private Instance Methods
cmd(action, node)
click to toggle source
# File lib/consolr/runners/ipmitool.rb, line 83 def cmd action, node system("#{@ipmitool} -I lanplus -H #{node.ipmi.address} -U #{node.ipmi.username} -P #{node.ipmi.password} #{action}") return $?.exitstatus == 0 ? "SUCCESS" : "FAILED" end