Sha256: 16657c291b4beb11effb4968dd87e99703ea863bc8cf23c0fcbed16e36ea7dc1

Contents?: true

Size: 1.64 KB

Versions: 2

Compression:

Stored size: 1.64 KB

Contents

module PoolParty
  class Base
    plugin :heartbeat do
      
      def enable
        execute_if("$hostname", "master") do
          has_package(:name => "heartbeat-2", :ensure => "installed")
          has_service(:name => "heartbeat", :hasstatus => true) do
            ensures "running"
          end
        
          has_exec(:name => "heartbeat-update-cib", :command => "/usr/sbin/cibadmin -R -x /etc/ha.d/cib.xml", :refreshonly => true)
        
          # variables for the templates
          has_variable({:name => "ha_nodenames", :value => list_of_node_names})
          has_variable({:name => "ha_node_ips",  :value => list_of_node_ips})
          has_variable({:name => "ha_port", :value => (self.respond_to?(:port) ? port : Base.port)})
        
          # These can also be passed in via hash
          has_remotefile(:name => "/etc/ha.d/ha.cf") do
            mode 444
            requires 'Package["heartbeat-2"]'
            notify 'Service["heartbeat"]'
            template File.join(File.dirname(__FILE__), "..", "templates/ha.cf")
          end
        
          has_remotefile(:name => "/etc/ha.d/authkeys") do
            mode 400
            requires 'Package["heartbeat-2"]'
            notify 'Service["heartbeat"]'
            template File.join(File.dirname(__FILE__), "..", "templates/authkeys")
          end
        
          has_remotefile(:name => "/etc/ha.d/cib.xml") do
            mode 444
            requires 'Package["heartbeat-2"]'
            notify 'Exec["heartbeat-update-cib"]'
            template File.join(File.dirname(__FILE__), "..", "templates/cib.xml")
          end
        end
        
      end
    end  
  end
end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
auser-poolparty-0.2.6 lib/poolparty/base_packages/heartbeat.rb
poolparty-0.2.6 lib/poolparty/base_packages/heartbeat.rb