3ddb77e340
With the current swift-proxy healthcheck the container status is unhealty even the service is up. The used ps/grep won't return the swift proxy processes as the output gets truncated: ()[root@overcloud-controller-0 /]$ ps -e PID TTY TIME CMD 1 ? 00:00:00 dumb-init 6 ? 00:02:52 swift-proxy-ser 28 ? 00:00:25 swift-proxy-ser 4753 pts/1 00:00:00 sh 4797 pts/1 00:00:00 ps As a result we end up in the else, checking the cache. This moves the if to use pgrep instead. Change-Id: I169b07553b171fcacb532bf58acc4200e270bfbb
33 lines
1.1 KiB
Bash
Executable File
33 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
. ${HEALTHCHECK_SCRIPTS:-/usr/share/openstack-tripleo-common/healthcheck}/common.sh
|
|
|
|
if pgrep -f swift-proxy-server; then
|
|
conf=/etc/swift/proxy-server.conf
|
|
|
|
if ! crudini --get $conf pipeline:main pipeline | grep -q healthcheck; then
|
|
echo "healthcheck is not available" >&2
|
|
exit 0
|
|
fi
|
|
|
|
# swift-proxy is still eventlet
|
|
bind_host=$(get_config_val $conf DEFAULT bind_ip 127.0.0.1)
|
|
bind_port=$(get_config_val $conf DEFAULT bind_port 8080)
|
|
# Add brackets if IPv6
|
|
if [[ $bind_host =~ ":" ]]; then
|
|
bind_host="[${bind_host}]"
|
|
fi
|
|
healthcheck_curl http://${bind_host}:${bind_port}/healthcheck
|
|
else
|
|
# TODO(mmagr): Remove this once swift_object_expirer container will start
|
|
# using swift-object-expirer kolla image
|
|
conf=/etc/swift/object-expirer.conf
|
|
cache=/var/cache/swift/object.recon
|
|
interval=$(get_config_val $conf object-expirer interval 300)
|
|
|
|
if ! healthcheck_file_modification $cache $interval; then
|
|
echo "Cache file $cache was not updated within interval of $interval seconds."
|
|
exit 1
|
|
fi
|
|
fi
|