diff options
author | Meghana M <mmadhusu@redhat.com> | 2015-08-12 14:48:39 +0530 |
---|---|---|
committer | Kaleb KEITHLEY <kkeithle@redhat.com> | 2015-08-24 20:47:09 -0700 |
commit | d7adcca24fb9638df2806c01d8ea7e73eec46928 (patch) | |
tree | 0452f6f701f299a53ed97816f9a6140e1f3de3a5 /extras | |
parent | 8e5fbebc15c94c83c70d7347d8e8624fa164a973 (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')
-rw-r--r-- | extras/ganesha/scripts/ganesha-ha.sh | 52 |
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 () |