class Rundock::Hook::File

You can use this sample as following yaml files for example.

hook.yml

major_log:

hook_type: file
filepath: /var/log/rundock.log

minor_log:

hook_type: file
filepath: /tmp/rundock.log
scenario.yml
  • node: anyhost-01

command:

- 'rm -f /tmp/aaa'

hook:

- major_log
- minor_log
  • node: localhost

command:

- 'echo aaa > /tmp/abc'

hook: all


anyhost-01:

host: 192.168.1.11
ssh_opts:
  port: 22
  user: anyuser
  key:  ~/.ssh/id_rsa

Public Instance Methods

hook(operation_attributes, log_buffer) click to toggle source
# File lib/rundock/plugin/hook/file.rb, line 35
def hook(operation_attributes, log_buffer)
  file = ::File.open(@contents[:filepath], 'w')
  file.puts("[hookname:#{@name} node:#{operation_attributes[0][:nodename]}]")
  log_buffer.each do |log|
    file.puts(log.formatted_message)
  end
  file.close
end