diff options
author | Jiffin Tony Thottan <jthottan@redhat.com> | 2017-10-16 14:18:31 +0530 |
---|---|---|
committer | Amar Tumballi <amarts@gmail.com> | 2019-08-24 02:08:57 +0000 |
commit | 3fe34c921146a8d11875dc3d904e3a5994eb1cb6 (patch) | |
tree | cbf3602eff2c1d180ecce02eda30ed19acf71928 /extras/ganesha/scripts/dbus-send.sh | |
parent | 032862fa3944fc7152140aaa13cdc474ae594a51 (diff) |
Revert "packaging: (ganesha) remove glusterfs-ganesha subpackage and related files"
Until 3.12, glusterd had an option to setup HA cluster for nfs-ganesha using pacemaker
and corosync. But later infavour of "Storhaug" Project, this functionality was removed
from the codebase. Since there is not much development happening towards storhaug,
it better to keep back old working HA solution for nfs-ganesha with bit improvements.
Planned improvements :
* add an option in nfs-ganesha enable to set ganesha without HA.
* Handle usage of export id's properly in the scripts.
Change-Id: I1d60c8970bfc20035cf674d7b2705dfd4819647e
updates: #663
Signed-off-by: Jiffin Tony Thottan <jthottan@redhat.com>
Diffstat (limited to 'extras/ganesha/scripts/dbus-send.sh')
-rwxr-xr-x | extras/ganesha/scripts/dbus-send.sh | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/extras/ganesha/scripts/dbus-send.sh b/extras/ganesha/scripts/dbus-send.sh new file mode 100755 index 00000000000..ec8d9485ad7 --- /dev/null +++ b/extras/ganesha/scripts/dbus-send.sh @@ -0,0 +1,60 @@ +#!/bin/bash + +# Try loading the config from any of the distro +# specific configuration locations +if [ -f /etc/sysconfig/ganesha ] + then + . /etc/sysconfig/ganesha +fi +if [ -f /etc/conf.d/ganesha ] + then + . /etc/conf.d/ganesha +fi +if [ -f /etc/default/ganesha ] + then + . /etc/default/ganesha +fi + +GANESHA_DIR=${1%/} +OPTION=$2 +VOL=$3 +CONF=$GANESHA_DIR"/ganesha.conf" + +function check_cmd_status() +{ + if [ "$1" != "0" ] + then + logger "dynamic export failed on node :${hostname -s}" + fi +} + +#This function keeps track of export IDs and increments it with every new entry +function dynamic_export_add() +{ + dbus-send --system \ +--dest=org.ganesha.nfsd /org/ganesha/nfsd/ExportMgr \ +org.ganesha.nfsd.exportmgr.AddExport string:$GANESHA_DIR/exports/export.$VOL.conf \ +string:"EXPORT(Path=/$VOL)" + check_cmd_status `echo $?` +} + +#This function removes an export dynamically(uses the export_id of the export) +function dynamic_export_remove() +{ + removed_id=`cat $GANESHA_DIR/exports/export.$VOL.conf |\ +grep Export_Id | awk -F"[=,;]" '{print$2}'| tr -d '[[:space:]]'` + dbus-send --print-reply --system \ +--dest=org.ganesha.nfsd /org/ganesha/nfsd/ExportMgr \ +org.ganesha.nfsd.exportmgr.RemoveExport uint16:$removed_id + check_cmd_status `echo $?` +} + +if [ "$OPTION" = "on" ]; +then + dynamic_export_add $@ +fi + +if [ "$OPTION" = "off" ]; +then + dynamic_export_remove $@ +fi |