Skip to content

Latest commit

 

History

History
156 lines (130 loc) · 4.78 KB

README.md

File metadata and controls

156 lines (130 loc) · 4.78 KB

heartbeat Cookbook

Chef cookbook to install and configure heartbeat on Debian / Ubuntu

Requirements

This cookbook doesn't have any dependencies.

Attributes

heartbeat::default

Key Type Description Default
['heartbeat']['config']['conf_dir'] String Location where config files are installed. /etc/ha.d
['heartbeat']['config']['watchdog'] String The watchdog directive configures Heartbeat to use a watchdog device. It is the purpose of a watchdog device to shut the machine down if Heartbeat does not hear its own heartbeats as often as it thinks it should. This keeps things like scheduler bugs from becoming split-brain configurations. /dev/watchdog
['heartbeat']['config']['logfile'] String The logfile directive configures a log file. All non-debug messages from Heartbeat will go into this file. /var/log/ha-log
['heartbeat']['config']['debugfile'] String The debugfile directive specifies the file Heartbeat will write debug messages to. /var/log/ha-debug
['heartbeat']['config']['deadtime'] Integer The deadtime directive is used to specify how quickly Heartbeat should decide that a node in a cluster is dead. Setting this value too low will cause the system to falsely declare itself dead. Setting it too high will delay takeover after the failure of a node in the cluster. 5
['heartbeat']['config']['warntime'] Integer The warntime directive is used to specify how quickly Heartbeat should issue a "late heartbeat" warning. 10
['heartbeat']['config']['initdead'] Integer The initdead parameter is used to set the time that it takes to declare a cluster node dead when Heartbeat is first started. This parameter generally needs to be set to a higher value, because experience suggests that it sometimes takes operating systems many seconds for their communication systems before they operate correctly. 15
['heartbeat']['config']['bcast'] String The bcast directive is used to configure which interfaces Heartbeat sends UDP broadcast traffic on. eth0
['heartbeat']['config']['auto_failback'] Boolean The auto_failback option determines whether a resource will automatically fail back to its "primary" node, or remain on whatever node is serving it until that node fails, or an administrator intervenes. true
['heartbeat']['config']['keepalive'] Integer The keepalive directive sets the interval between heartbeat packets. 2
['heartbeat']['config']['udpport'] Integer The udpport directive specifies which port Heartbeat will use for its UDP intra-cluster communication. 694
['heartbeat']['config']['nodes'] Array An array of hostnames defining the nodes that are in the cluster. The first node is assumed to be the primary. []
['heartbeat']['config']['shared_ip'] String The IP address that is shared between all cluster nodes. Nil
['heartbeat']['config']['active_key'] Integer Which authentication key to use for signing outgoing packets. 1
['heartbeat']['config']['authkeys'] Array An array of SHA1 hashes used for packet signing. ["yourpasswordhere"]

Usage

heartbeat::default

Just include heartbeat in your node's run_list:

{
  "name":"my_node",
  "run_list": [
    "recipe[heartbeat]"
  ]
}

Contributing

  1. Fork the repository on Github
  2. Create a named feature branch (like add_component_x)
  3. Write you change
  4. Write tests for your change (if applicable)
  5. Run the tests, ensuring they all pass
  6. Submit a Pull Request using Github

License and Authors

Authors: Brian Webb