From 5a0d15682fb62d768ce088b5d9c9aad974a1460c Mon Sep 17 00:00:00 2001 From: Csaba Henk Date: Mon, 18 Apr 2011 17:25:27 +0000 Subject: gsyncd service auto-discovery If glusterd is running, gsyncd will find it out and adopt related settings automagically (even if started from not by glusterd) Signed-off-by: Csaba Henk Signed-off-by: Anand Avati BUG: 2785 (gsyncd logs on slave side go to /dev/null) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2785 --- xlators/features/marker/utils/gsyncd.in | 50 ++++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) (limited to 'xlators/features/marker/utils/gsyncd.in') diff --git a/xlators/features/marker/utils/gsyncd.in b/xlators/features/marker/utils/gsyncd.in index c34fea1a198..a7af8c0b0b4 100755 --- a/xlators/features/marker/utils/gsyncd.in +++ b/xlators/features/marker/utils/gsyncd.in @@ -3,5 +3,53 @@ prefix="@prefix@" exec_prefix="@exec_prefix@" libexecdir=`eval echo "@libexecdir@"` +sbindir=`eval echo "@sbindir@"` -exec @PYTHON@ "$libexecdir"/glusterfs/python/syncdaemon/gsyncd.py "$@" +gluster="$sbindir"/gluster + +# glusterd service autodetection + +config_wanted=1 +if [ "$_GLUSTERD_CALLED_" = 1 ]; then + # OK, we know glusterd called us, no need to look for further config + config_wanted=0 + # ... altough this conclusion should not inherit to our children + unset _GLUSTERD_CALLED_ +else + # look for a -c option -- if present, we are already configured. + + for a in "$@"; do + # -c found, see if it has an argument + if [ "$one_more_arg" = 1 ]; then + if echo "$a" | grep -qv ^-; then + config_wanted=0 + break + fi + one_more_arg=0 + fi + + if [ "$a" = -c ] || [ "$a" = --config-file ]; then + one_more_arg=1 + continue + fi + + if echo $a | grep -qE '^(-c.|--config-file=)'; then + config_wanted=0; + break + fi + done + +fi + +if [ $config_wanted = 1 ]; then + wd="`${gluster} system:: getwd`" + if [ $? -eq 0 ]; then + config_file="$wd/geo-replication/gsyncd.conf" + fi +fi + +if [ -z "$config_file" ]; then + exec @PYTHON@ "$libexecdir"/glusterfs/python/syncdaemon/gsyncd.py "$@" +else + exec @PYTHON@ "$libexecdir"/glusterfs/python/syncdaemon/gsyncd.py -c "$config_file" "$@" +fi -- cgit