summaryrefslogtreecommitdiffstats
path: root/extras/ganesha
diff options
context:
space:
mode:
authorMeghana M <mmadhusu@redhat.com>2015-08-12 14:48:39 +0530
committerKaleb KEITHLEY <kkeithle@redhat.com>2015-08-24 20:47:09 -0700
commitd7adcca24fb9638df2806c01d8ea7e73eec46928 (patch)
tree0452f6f701f299a53ed97816f9a6140e1f3de3a5 /extras/ganesha
parent8e5fbebc15c94c83c70d7347d8e8624fa164a973 (diff)
common-ha : refresh-config should print sensible output
ganesha-ha.sh --refresh-config printed the dbus-send output messages as is on the console. Improving the output of the operation by redirecting the messages to /var/log/messages and by checking the exit code of the command executed. The behaviour is also changed a litlle by exiting when refresh-config fails on any of the nodes. We don't want to continue changing config files on other nodes when refresh-config has already failed on one of the nodes. Change-Id: Ic2e4e26bc09b1ba23cc6b62a1590c6083a0bde80 BUG: 1254494 Signed-off-by: Meghana M <mmadhusu@redhat.com> Reviewed-on: http://review.gluster.org/11949 Reviewed-by: soumya k <skoduri@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com> Tested-by: NetBSD Build System <jenkins@build.gluster.org>
Diffstat (limited to 'extras/ganesha')
-rw-r--r--extras/ganesha/scripts/ganesha-ha.sh52
1 files changed, 40 insertions, 12 deletions
diff --git a/extras/ganesha/scripts/ganesha-ha.sh b/extras/ganesha/scripts/ganesha-ha.sh
index 42e28cf5788..1356a385573 100644
--- a/extras/ganesha/scripts/ganesha-ha.sh
+++ b/extras/ganesha/scripts/ganesha-ha.sh
@@ -246,38 +246,66 @@ grep Export_Id | cut -d " " -f8`
while [[ ${3} ]]; do
current_host=`echo ${3} | cut -d "." -f 1`
if [ ${short_host} != ${current_host} ]; then
- scp -oPasswordAuthentication=no -oStrictHostKeyChecking=no -i \
+ scp -q -oPasswordAuthentication=no -oStrictHostKeyChecking=no -i \
${SECRET_PEM} ${HA_CONFDIR}/exports/export.$VOL.conf \
${current_host}:${HA_CONFDIR}/exports/
- ssh -oPasswordAuthentication=no -oStrictHostKeyChecking=no -i \
+ output=$(ssh -oPasswordAuthentication=no -oStrictHostKeyChecking=no -i \
${SECRET_PEM} root@${current_host} "dbus-send --print-reply --system \
--dest=org.ganesha.nfsd /org/ganesha/nfsd/ExportMgr \
-org.ganesha.nfsd.exportmgr.RemoveExport uint16:$removed_id"
+org.ganesha.nfsd.exportmgr.RemoveExport uint16:$removed_id 2>&1")
+ ret=$?
+ logger <<< "${output}"
+ if [ ${ret} -ne 0 ]; then
+ echo "Error: refresh-config failed on ${current_host}."
+ exit 1
+ fi
sleep 1
- ssh -oPasswordAuthentication=no -oStrictHostKeyChecking=no -i \
+ output=$(ssh -oPasswordAuthentication=no -oStrictHostKeyChecking=no -i \
${SECRET_PEM} root@${current_host} "dbus-send --system \
--dest=org.ganesha.nfsd /org/ganesha/nfsd/ExportMgr \
org.ganesha.nfsd.exportmgr.AddExport string:$HA_CONFDIR/exports/export.$VOL.conf \
-string:\"EXPORT(Path=/$VOL)\""
- if [ $? -ne 0 ]; then
- echo "warning: refresh-config failed on ${current_host}"
+string:\"EXPORT(Path=/$VOL)\" 2>&1")
+ ret=$?
+ logger <<< "${output}"
+ if [ ${ret} -ne 0 ]; then
+ echo "Error: refresh-config failed on ${current_host}."
+ exit 1
+ else
+ echo "Refresh-config completed on ${current_host}."
fi
+
fi
shift
done
else
- echo "warning: refresh-config failed on ${1}"
+ echo "Error: refresh-config failed. Passwordless ssh is not enabled."
+ exit 1
fi
#Run the same command on the localhost,
- dbus-send --print-reply --system \
+ output=$(dbus-send --print-reply --system \
--dest=org.ganesha.nfsd /org/ganesha/nfsd/ExportMgr \
-org.ganesha.nfsd.exportmgr.RemoveExport uint16:$removed_id
+org.ganesha.nfsd.exportmgr.RemoveExport uint16:$removed_id 2>&1)
+ ret=$?
+ logger <<< "${output}"
+ if [ ${ret} -ne 0 ]; then
+ echo "Error: refresh-config failed on localhost."
+ exit 1
+ fi
sleep 1
- dbus-send --system \
+ output=$(dbus-send --system \
--dest=org.ganesha.nfsd /org/ganesha/nfsd/ExportMgr \
org.ganesha.nfsd.exportmgr.AddExport string:$HA_CONFDIR/exports/export.$VOL.conf \
-string:"EXPORT(Path=/$VOL)"
+string:"EXPORT(Path=/$VOL)" 2>&1)
+ ret=$?
+ logger <<< "${output}"
+ if [ ${ret} -ne 0 ] ; then
+ echo "Error: refresh-config failed on localhost."
+ exit 1
+ else
+ echo "Success: refresh-config completed."
+ fi
+
}
copy_export_config ()