#!/bin/bash

. ${HEALTHCHECK_SCRIPTS:-/usr/share/openstack-tripleo-common/healthcheck}/common.sh

conf=/etc/swift/object-server.conf
cache=/var/cache/swift/object.recon

if ps -ef | grep --quiet [s]wift-object-server; then
    if ! crudini --get $conf pipeline:main pipeline | grep -q healthcheck; then
        echo "healthcheck is not available" >&2
        exit 0
    fi

    # swift-object-server is still eventlet
    bind_host=$(wrap_ipv6 $(get_config_val $conf DEFAULT bind_ip 127.0.0.1))
    bind_port=$(get_config_val $conf DEFAULT bind_port 6000)
    healthcheck_curl http://${bind_host}:${bind_port}/healthcheck
elif ps -ef | grep --quiet [s]wift-object-replicator; then
    check_swift_interval object-replicator
elif ps -ef | grep --quiet rsync; then
    process='rsync'
    args="${@:-873}"

    if healthcheck_listen $process $args; then
        exit 0
    else
        ports=${args// /,}
        echo "There is no $process process, listening on port(s) $ports, running in the container."
        exit 1
    fi
fi
