Class: Consolr::Runners::Ipmitool

Inherits:
Runner
  • Object
show all
Defined in:
lib/consolr/runners/ipmitool.rb

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ Ipmitool

Returns a new instance of Ipmitool.



6
7
8
9
10
11
12
# File 'lib/consolr/runners/ipmitool.rb', line 6

def initialize config
  @ipmitool = if config.empty?
                '/usr/bin/ipmitool'
              else
                config
              end
end

Instance Method Details

#can_run?(node) ⇒ Boolean

Returns:

  • (Boolean)


14
15
16
17
18
19
20
# 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) ⇒ Object



26
27
28
# File 'lib/consolr/runners/ipmitool.rb', line 26

def console node
  cmd 'sol activate', node
end

#identify(node) ⇒ Object



34
35
36
# File 'lib/consolr/runners/ipmitool.rb', line 34

def identify node
  cmd 'chassis identify', node
end

#kick(node) ⇒ Object



30
31
32
# File 'lib/consolr/runners/ipmitool.rb', line 30

def kick node
  cmd 'sol deactivate', node
end

#log_clear(node) ⇒ Object



46
47
48
# File 'lib/consolr/runners/ipmitool.rb', line 46

def log_clear node
  cmd 'sel clear', node
end

#log_list(node) ⇒ Object



42
43
44
# File 'lib/consolr/runners/ipmitool.rb', line 42

def log_list node
  cmd 'sel list', node
end

#off(node) ⇒ Object



54
55
56
# File 'lib/consolr/runners/ipmitool.rb', line 54

def off node
  cmd 'power off', node
end

#on(node) ⇒ Object



50
51
52
# File 'lib/consolr/runners/ipmitool.rb', line 50

def on node
  cmd 'power on', node
end

#reboot(node) ⇒ Object



62
63
64
# File 'lib/consolr/runners/ipmitool.rb', line 62

def reboot node
  cmd 'power cycle', node
end

#sdr(node) ⇒ Object



38
39
40
# File 'lib/consolr/runners/ipmitool.rb', line 38

def sdr node
  cmd 'sdr elist all', node
end

#sensors(node) ⇒ Object



74
75
76
# File 'lib/consolr/runners/ipmitool.rb', line 74

def sensors node
  cmd 'sensor list', node
end

#soft_off(node) ⇒ Object



58
59
60
# File 'lib/consolr/runners/ipmitool.rb', line 58

def soft_off node
  cmd 'power soft', node
end

#soft_reboot(node) ⇒ Object



66
67
68
# File 'lib/consolr/runners/ipmitool.rb', line 66

def soft_reboot node
  cmd 'power reset', node
end

#sol_info(node) ⇒ Object



78
79
80
# File 'lib/consolr/runners/ipmitool.rb', line 78

def sol_info node
  cmd 'session info active', node
end

#status(node) ⇒ Object



70
71
72
# File 'lib/consolr/runners/ipmitool.rb', line 70

def status node
  cmd 'power status', node
end

#verify(node) ⇒ Object



22
23
24
# File 'lib/consolr/runners/ipmitool.rb', line 22

def verify node
  Net::Ping::External.new(node.ipmi.address).ping?
end