Healthcheck for nova_migration_target container

nova_migration_target container reuses nova_compute container,
so we have to adapt the health check to support both containers.

Closes-Bug: #1730649
Change-Id: Id48e32b43d2e0cd4319905131f1c0bee9774e5f0
This commit is contained in:
Martin Mágr 2017-11-07 12:23:37 +01:00
parent 9c4e6a0c7e
commit 1aecd985b9
2 changed files with 28 additions and 5 deletions

View File

@ -25,6 +25,21 @@ healthcheck_port () {
ss -ntp | awk '{print $5,"-",$6}' | egrep ":($ports)" | grep "$process"
}
healthcheck_listen () {
process=$1
# ss truncate command name to 15 characters and this behaviour
# cannot be diabled
if [ ${#process} -gt 15 ] ; then
process=${process:0:15}
fi
shift 1
args=$@
ports=${args// /|}
ss -lnp | awk '{print $5,"-",$7}' | egrep ":($ports)" | grep "$process"
}
get_config_val () {
crudini --get "$1" "$2" "$3" 2> /dev/null || echo "$4"
}

View File

@ -2,13 +2,21 @@
. ${HEALTHCHECK_SCRIPTS:-/usr/share/openstack-tripleo-common/healthcheck}/common.sh
process='nova-compute'
args="${@:-5671 5672}"
if ps -e | grep nova-compute; then
process='nova-compute'
args="${@:-5671 5672}"
test_func='healthcheck_port'
err_msg="There is no $process process with opened RabbitMQ ports (${args// /,}) running in the container"
else
process='sshd'
args="${@:-2022}"
test_func='healthcheck_listen'
err_msg="There is no $process process listening on port(s) ${args// /,} in the container"
fi
if healthcheck_port $process $args; then
if $test_func $process $args; then
exit 0
else
ports=${args// /,}
echo "There is no $process process with opened RabbitMQ ports ($ports) running in the container"
echo $err_msg
exit 1
fi