summaryrefslogtreecommitdiffstats
path: root/extras
diff options
context:
space:
mode:
authorJiffin Tony Thottan <jthottan@redhat.com>2016-07-13 11:38:10 +0530
committerKaleb KEITHLEY <kkeithle@redhat.com>2016-08-26 04:47:51 -0700
commit4786150ebe36154ec0762a951612f66f68a7e95c (patch)
tree5c9811ef5ad2cf762b433aac87229672c6fc2a0b /extras
parent2f44a979132a43c1cf12ed2b9e9e94dbe1311c9e (diff)
glusterd/ganesha : create export configuration file in shared storage
This is the second patch which moves export related configuration for a volume into shared storage. The main change includes in scripts create-export-ganesha.sh, dbus-send.sh and the handling of volume set command "ganesha.enable". The manipulation of EXPORT_ID move from dbus-send.sh to create-export-ganesha.sh. In volume set handling following has performed stage | commit ---------------------------------------------------------- 1.) gluster v set <volname> ganesha.enable on None | create export file | in node where cli executed, | thne export volume via dbus 2.) gluster v set <volname> ganesha.enable off unexport volume via dbus | remove export file from the | shared storage ----------------------------------------------------------- More details can be found at http://review.gluster.org/#/c/15105/ Change-Id: Ia8b0e89bc8fff24b0bc5d20a538a89212894a8e4 BUG: 1355956 Signed-off-by: Jiffin Tony Thottan <jthottan@redhat.com> Reviewed-on: http://review.gluster.org/14908 NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> CentOS-regression: Gluster Build System <jenkins@build.gluster.org> Reviewed-by: soumya k <skoduri@redhat.com> Smoke: Gluster Build System <jenkins@build.gluster.org> Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com>
Diffstat (limited to 'extras')
-rwxr-xr-xextras/ganesha/scripts/create-export-ganesha.sh54
-rwxr-xr-xextras/ganesha/scripts/dbus-send.sh59
2 files changed, 29 insertions, 84 deletions
diff --git a/extras/ganesha/scripts/create-export-ganesha.sh b/extras/ganesha/scripts/create-export-ganesha.sh
index a1a35dba58a..1ffba427457 100755
--- a/extras/ganesha/scripts/create-export-ganesha.sh
+++ b/extras/ganesha/scripts/create-export-ganesha.sh
@@ -21,14 +21,17 @@ if [ -f /etc/default/ganesha ]
fi
GANESHA_DIR=${1%/}
-VOL=$2
-CONF=
+OPTION=$2
+VOL=$3
+CONF=$GANESHA_DIR"/ganesha.conf"
+declare -i EXPORT_ID
function check_cmd_status()
{
if [ "$1" != "0" ]
then
rm -rf $GANESHA_DIR/exports/export.$VOL.conf
+ sed -i /$VOL.conf/d $CONF
exit 1
fi
}
@@ -40,28 +43,6 @@ if [ ! -d "$GANESHA_DIR/exports" ];
check_cmd_status `echo $?`
fi
-function find_rhel7_conf
-{
- while [[ $# > 0 ]]
- do
- key="$1"
- case $key in
- -f)
- CONFFILE="$2"
- ;;
- *)
- ;;
- esac
- shift
- done
-}
-
-if [ -z $CONFFILE ]; then
- find_rhel7_conf $OPTIONS
-
-fi
-CONF=${CONFFILE:-/etc/ganesha/ganesha.conf}
-
function write_conf()
{
echo -e "# WARNING : Using Gluster CLI will overwrite manual
@@ -85,9 +66,26 @@ echo ' Transports = "UDP","TCP";'
echo ' SecType = "sys";'
echo " }"
}
-
-write_conf $@ > $GANESHA_DIR/exports/export.$VOL.conf
-if ! (cat $CONF | grep $VOL.conf\"$ )
+if [ "$OPTION" = "on" ];
then
-echo "%include \"$GANESHA_DIR/exports/export.$VOL.conf\"" >> $CONF
+ if ! (cat $CONF | grep $VOL.conf\"$ )
+ then
+ write_conf $@ > $GANESHA_DIR/exports/export.$VOL.conf
+ echo "%include \"$GANESHA_DIR/exports/export.$VOL.conf\"" >> $CONF
+ count=`ls -l $GANESHA_DIR/exports/*.conf | wc -l`
+ if [ "$count" = "1" ] ; then
+ EXPORT_ID=2
+ else
+ EXPORT_ID=`cat $GANESHA_DIR/.export_added`
+ check_cmd_status `echo $?`
+ EXPORT_ID=EXPORT_ID+1
+ sed -i s/Export_Id.*/"Export_Id= $EXPORT_ID ;"/ \
+ $GANESHA_DIR/exports/export.$VOL.conf
+ check_cmd_status `echo $?`
+ fi
+ echo $EXPORT_ID > $GANESHA_DIR/.export_added
+ fi
+else
+ rm -rf $GANESHA_DIR/exports/export.$VOL.conf
+ sed -i /$VOL.conf/d $CONF
fi
diff --git a/extras/ganesha/scripts/dbus-send.sh b/extras/ganesha/scripts/dbus-send.sh
index 14af095464d..c071d03480c 100755
--- a/extras/ganesha/scripts/dbus-send.sh
+++ b/extras/ganesha/scripts/dbus-send.sh
@@ -15,71 +15,22 @@ if [ -f /etc/default/ganesha ]
. /etc/default/ganesha
fi
-declare -i EXPORT_ID
GANESHA_DIR=${1%/}
OPTION=$2
VOL=$3
-CONF=
-
-function find_rhel7_conf
-{
- while [[ $# > 0 ]]
- do
- key="$1"
- case $key in
- -f)
- CONFFILE="$2"
- break;
- ;;
- *)
- ;;
- esac
- shift
- done
-}
-
-if [ -z $CONFFILE ]
- then
- find_rhel7_conf $OPTIONS
-
-fi
-
-CONF=${CONFFILE:-/etc/ganesha/ganesha.conf}
+CONF=$GANESHA_DIR"/ganesha.conf"
function check_cmd_status()
{
if [ "$1" != "0" ]
- then
- rm -rf $GANESHA_DIR/exports/export.$VOL.conf
- sed -i /$VOL.conf/d $CONF
- exit 1
+ 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()
{
- count=`ls -l $GANESHA_DIR/exports/*.conf | wc -l`
- if [ "$count" = "1" ] ;
- then
- EXPORT_ID=2
- else
- #if [ -s /var/lib/ganesha/export_removed ];
- # then
- # EXPORT_ID=`head -1 /var/lib/ganesha/export_removed`
- # sed -i -e "1d" /var/lib/ganesha/export_removed
- # else
-
- EXPORT_ID=`cat $GANESHA_DIR/.export_added`
- check_cmd_status `echo $?`
- EXPORT_ID=EXPORT_ID+1
- #fi
- fi
- echo $EXPORT_ID > $GANESHA_DIR/.export_added
- check_cmd_status `echo $?`
- sed -i s/Export_Id.*/"Export_Id= $EXPORT_ID ;"/ \
-$GANESHA_DIR/exports/export.$VOL.conf
- check_cmd_status `echo $?`
dbus-send --system \
--dest=org.ganesha.nfsd /org/ganesha/nfsd/ExportMgr \
org.ganesha.nfsd.exportmgr.AddExport string:$GANESHA_DIR/exports/export.$VOL.conf \
@@ -92,14 +43,10 @@ function dynamic_export_remove()
{
removed_id=`cat $GANESHA_DIR/exports/export.$VOL.conf |\
grep Export_Id | awk -F"[=,;]" '{print$2}'| tr -d '[[:space:]]'`
- check_cmd_status `echo $?`
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 $?`
- sed -i /$VOL.conf/d $CONF
- rm -rf $GANESHA_DIR/exports/export.$VOL.conf
-
}
if [ "$OPTION" = "on" ];