Skip to content
Snippets Groups Projects
keepalived.pp 1.64 KiB
Newer Older
  • Learn to ignore specific revisions
  • Giovanni Zizzi's avatar
    Giovanni Zizzi committed
    class iaas::profile::keepalived (
    
      $admin_interface 	   = undef,
      $public_interface 	   = undef,
      $vip_admin_address 	   = undef,
      $vip_main_address 	   = undef,
      $notification_email 	   = undef,
    
    Giovanni Zizzi's avatar
    Giovanni Zizzi committed
      $notification_email_from = undef,
    
      $smtp_server 		   = undef,
      $state 		   = 'BACKUP',
      $priority 		   = undef,
    
        $virtual_ipaddress = [{ 'ip'=>"${vip_main_address}", 'dev'=>"${public_interface}" }]
      } else {
        $virtual_ipaddress = [
                           { 'ip'=>"${vip_main_address}", 'dev'=>"${public_interface}" },
                           { 'ip'=>"${vip_admin_address}", 'dev'=>"${admin_interface}" }
                           ]
      }
    
    
    Giovanni Zizzi's avatar
    Giovanni Zizzi committed
    sysctl::value { "net.ipv4.ip_nonlocal_bind": value => "1" }
    
    include keepalived
    
    
    Giovanni Zizzi's avatar
    Giovanni Zizzi committed
        ensure                  => present,
        notification_email      => $notification_email,
        notification_email_from => $notification_email_from,
        smtp_server             => $smtp_server,
        smtp_connect_timeout    => '60',
    
    Giovanni Zizzi's avatar
    Giovanni Zizzi committed
      } ->
    
    
    Giovanni Zizzi's avatar
    Giovanni Zizzi committed
        interval          => '1',
    
    Giovanni Zizzi's avatar
    Giovanni Zizzi committed
        script            => 'killall -0 haproxy',
      } ->
    
    
    Giovanni Zizzi's avatar
    Giovanni Zizzi committed
        state             => $state,
    
        virtual_router_id => '21',
    
    Giovanni Zizzi's avatar
    Giovanni Zizzi committed
        priority          => $priority,
        auth_type         => 'PASS',
        auth_pass         => '1111',
    
        virtual_ipaddress => $virtual_ipaddress,
    
    Giovanni Zizzi's avatar
    Giovanni Zizzi committed
      } ->
    
      class { '::keepalived':
        service_restart => 'service keepalived reload',     # When using SysV Init
      }