Fix keepalived VIP monitoring script
Currently keepalived monitors VIPs by running some shell commands
that target HAProxy. The generated shell command is invalid, which
makes keepalived log errors.
Tue Apr 16 11:55:57 2019: Command = '/usr/bin/test' '-S' '/var/lib/haproxy/stats' '&&' 'echo' 'show'
Tue Apr 16 11:55:57 2019: Script `haproxy` now returning 2
Tue Apr 16 11:55:57 2019: VRRP_Script(haproxy) failed (exited with status 2)
Fix quoting and invoke /bin/sh explicitely to fix the error:
Thu Apr 18 13:16:35 2019: Command = '/usr/bin/sh' '-c' 'test -S /var/lib/haproxy/stats && echo show info | socat /var/lib/haproxy/stats stdio'
Thu Apr 18 13:16:35 2019: VRRP_Script(haproxy) succeeded
Change-Id: I5a757f88963270e77c8ec411cd292a30f89c6bc0
Closes-Bug: #1825366
(cherry picked from commit f5d6110a79
)
This commit is contained in:
parent
9d0afafaea
commit
638ba0b92d
|
@ -99,7 +99,7 @@ class tripleo::keepalived (
|
|||
case $::osfamily {
|
||||
'RedHat': {
|
||||
$keepalived_name_is_process = false
|
||||
$keepalived_vrrp_script = 'test -S /var/lib/haproxy/stats && echo "show info" | socat /var/lib/haproxy/stats stdio'
|
||||
$keepalived_vrrp_script = '/bin/sh -c \'test -S /var/lib/haproxy/stats && echo show info | socat /var/lib/haproxy/stats stdio\''
|
||||
} # RedHat
|
||||
'Debian': {
|
||||
$keepalived_name_is_process = true
|
||||
|
|
|
@ -196,7 +196,7 @@ describe 'tripleo::keepalived' do
|
|||
case facts[:osfamily]
|
||||
when 'RedHat'
|
||||
{ :name_is_process => 'false',
|
||||
:vrrp_script => 'test -S /var/lib/haproxy/stats && echo "show info" | socat /var/lib/haproxy/stats stdio' }
|
||||
:vrrp_script => "/bin/sh -c 'test -S /var/lib/haproxy/stats && echo show info | socat /var/lib/haproxy/stats stdio'" }
|
||||
when 'Debian'
|
||||
{ :name_is_process => 'true',
|
||||
:vrrp_script => nil }
|
||||
|
|
Loading…
Reference in New Issue