Changes to how routes are handled when there is
only one VIP.
This commit is contained in:
parent
841e91b463
commit
b69e0082af
@ -30,4 +30,11 @@ vrrp_instance <YOUR_MASTER_INSTANCE> {
|
|||||||
track_npm
|
track_npm
|
||||||
}
|
}
|
||||||
|
|
||||||
|
notify_master "/etc/keepalived/add_route.sh"
|
||||||
|
|
||||||
|
notify_backup "/etc/keepalived/rm_route.sh"
|
||||||
|
|
||||||
|
notify_fault "/etc/keepalived/rm_route.sh"
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -30,4 +30,11 @@ vrrp_instance NPM-V1 {
|
|||||||
track_npm
|
track_npm
|
||||||
}
|
}
|
||||||
|
|
||||||
|
notify_master "/etc/keepalived/add_route.sh"
|
||||||
|
|
||||||
|
notify_backup "/etc/keepalived/rm_route.sh"
|
||||||
|
|
||||||
|
notify_fault "/etc/keepalived/rm_route.sh"
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -30,4 +30,11 @@ vrrp_instance NPM-V1 {
|
|||||||
track_npm
|
track_npm
|
||||||
}
|
}
|
||||||
|
|
||||||
|
notify_master "/etc/keepalived/add_route.sh"
|
||||||
|
|
||||||
|
notify_backup "/etc/keepalived/rm_route.sh"
|
||||||
|
|
||||||
|
notify_fault "/etc/keepalived/rm_route.sh"
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
2
add_route.sh
Normal file
2
add_route.sh
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
ip route add <dest_net> via <gateway> dev <port>
|
@ -16,13 +16,13 @@ container_name=$1
|
|||||||
check_container_health() {
|
check_container_health() {
|
||||||
|
|
||||||
# Get the health status of the container
|
# Get the health status of the container
|
||||||
health_status=$(sudo docker inspect --format='{{.State.Health.Status}}' "$1")
|
health_status=$(docker inspect --format='{{.State.Health.Status}}' "$1")
|
||||||
|
|
||||||
# Check the health status and return 0 if healthy, 1 if unhealthy
|
# Check the health status and return 0 if healthy, 1 if unhealthy
|
||||||
if [[ "$health_status" = "healthy" > /dev/null 2>&1 ]]; then
|
if [[ "$health_status" = "healthy" ]]; then
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
elif [[ "$health_status" = "starting" > /dev/null 2>&1 ]]; then
|
elif [[ "$health_status" = "starting" ]]; then
|
||||||
|
|
||||||
echo "Container in starting state"
|
echo "Container in starting state"
|
||||||
sleep 15
|
sleep 15
|
||||||
@ -35,20 +35,20 @@ check_container_health() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Debugging output
|
# Debugging output
|
||||||
echo "Checking container: $container_name"
|
#echo "Checking container: $container_name"
|
||||||
|
|
||||||
state_restarting=$(sudo docker inspect --format="{{.State.Restarting}}" "$container_name")
|
state_restarting=$(docker inspect --format="{{.State.Restarting}}" "$container_name")
|
||||||
state_running=$(sudo docker inspect --format="{{.State.Running}}" "$container_name" 2> /dev/null)
|
state_running=$(docker inspect --format="{{.State.Running}}" "$container_name")
|
||||||
|
|
||||||
# Debugging output
|
# Debugging output
|
||||||
echo "Restarting: $state_restarting"
|
#echo "Restarting: $state_restarting"
|
||||||
echo "Running: $state_running"
|
#echo "Running: $state_running"
|
||||||
|
|
||||||
if [ "$state_restarting" = "false" ] && [ "$state_running" = "true" > /dev/null 2>&1 ]; then
|
if [ "$state_restarting" = "false" ] && [ "$state_running" = "true" ]; then
|
||||||
echo "Container is in the expected state. Exiting with status 0."
|
#echo "Container is in the expected state. Exiting with status 0."
|
||||||
exit 0
|
exit 0
|
||||||
else
|
else
|
||||||
echo "Container is not in the expected state. Exiting with status 1."
|
#echo "Container is not in the expected state. Exiting with status 1."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
2
rm_route.sh
Normal file
2
rm_route.sh
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
ip route del <dest_net> via <gateway> dev <port>
|
Loading…
x
Reference in New Issue
Block a user