Track script doesn’t work after keepalived update

centos7keepalived

I recently updated my keepalived cluster from version 1.2.10 to 1.2.13.
I noticed that my tracking script, which basicly just pings another system,doesn't work anymore. I use a simple bash script and return a 0 if everything is fine and the reciever is online, and 1 if the reciever isn't available.
If the Script returns a 1 the cluster changes and another router becomes active, otherwise everything is ok.
keepalived.conf:

global_defs {
   router_id r_id
}

vrrp_script chk_myscript {
    script       "/etc/keepalived/chk_available.sh"
    interval 4   # check every 4 seconds
    fall 2       # require 2 failures for KO
    }

vrrp_instance r_id {
    state MASTER
    interface enp0s3
    virtual_router_id 10
    priority 101
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass password
    }
    virtual_ipaddress {
        10.0.25.3/24 dev enp0s3
    }
   track_script {
        chk_myscript
    }
}

Script:

#!/bin/sh
ping_return()
{
    ping -c2 8.8.8.8 > /dev/null  #it's just an example ip
    if [ $? -eq 0 ]
    then
          return 0
    else
          return 1
    fi
 }
 ping_return

After the starting proccess of keepalived the log messages told me this:

VRRP sockpool: [ifindex(2), proto(112), unicast(0), fd(10,11)]
ROUTER keepalived_vrrp[2800]: Using LinkWatch kernel netlink reflector...
ROUTER keepalived_vrrp[2801]: VRRP_Instance(INSTANCE) NOW in FAULT state

I've already read the changelog because I thought I could get some helpful information. But there wasn't anything useful (at least for a total newbie like me).

My question now is:
Why doesn't keepalived work like in the former version and what do I have to do to let keepalive do it's work again?

Best Answer

The custom script is denied to execute by SELinux.

chcon -t keepalived_unconfined_script_exec_t /etc/keepalived/chk_available.sh