summaryrefslogtreecommitdiffstats
path: root/extras/hook-scripts/reset
diff options
context:
space:
mode:
authorMeghana M <mmadhusu@redhat.com>2014-03-24 13:58:38 +0530
committerVijay Bellur <vbellur@redhat.com>2014-05-03 07:24:07 -0700
commit0088e318c1218191535ea0baa04b4fe858412f54 (patch)
tree4ddcb20318affb12ae2470c4191805c1f4745141 /extras/hook-scripts/reset
parent66f560e0071db84d430f38b996364f6b8c4f0f6d (diff)
cli/hooks : Add volume set options to enable/disable nfs-ganesha support.
1. gluster volume set nfs-ganesha.enable ON/OFF If the option is set to ON, the volume field in the nfs-ganesha configuartion file is edited. Gluster-nfs is disabled on that volume and the volume is exported using nfs-ganesha. 2.gluster volume set nfs-ganesha.host IP This is used to provide the IP of the nfs-ganesha host. Note : nfs-ganesha.host MUST be set before using nfs-ganesha.enable ON The switch from gluster-nfs to nfs-ganesha is mostly done by the hook-scripts in the post phase of the 'set' option. As a result, gluster volume reset does not function as it is expected to. By default, nfs-ganesha will be set to off but the process will not be killed. Hence, a few changes have to be made post 'reset' option as well. Those changes also have been added. Change-Id: I7fdc14ee49d1724af96eda33c6a3ec08b1020788 BUG: 1092283 Signed-off-by: Meghana <mmadhusu@redhat.com> Reviewed-on: http://review.gluster.org/7321 Reviewed-by: Raghavendra Talur <rtalur@redhat.com> Reviewed-by: Santosh Pradhan <spradhan@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Diffstat (limited to 'extras/hook-scripts/reset')
-rw-r--r--extras/hook-scripts/reset/Makefile.am2
-rw-r--r--extras/hook-scripts/reset/post/Makefile.am1
-rwxr-xr-xextras/hook-scripts/reset/post/S31ganesha-reset.sh38
-rw-r--r--extras/hook-scripts/reset/pre/Makefile.am1
4 files changed, 42 insertions, 0 deletions
diff --git a/extras/hook-scripts/reset/Makefile.am b/extras/hook-scripts/reset/Makefile.am
new file mode 100644
index 00000000000..6e2701e909e
--- /dev/null
+++ b/extras/hook-scripts/reset/Makefile.am
@@ -0,0 +1,2 @@
+SUBDIRS = post pre
+CLEANFILES =
diff --git a/extras/hook-scripts/reset/post/Makefile.am b/extras/hook-scripts/reset/post/Makefile.am
new file mode 100644
index 00000000000..fcdd8ab55ba
--- /dev/null
+++ b/extras/hook-scripts/reset/post/Makefile.am
@@ -0,0 +1 @@
+EXTRA_DIST = S31ganesha-reset.sh
diff --git a/extras/hook-scripts/reset/post/S31ganesha-reset.sh b/extras/hook-scripts/reset/post/S31ganesha-reset.sh
new file mode 100755
index 00000000000..68411e4bd95
--- /dev/null
+++ b/extras/hook-scripts/reset/post/S31ganesha-reset.sh
@@ -0,0 +1,38 @@
+#/bin/bash
+PROGNAME="Sganesha-reset"
+OPTSPEC="volname:"
+VOL=
+
+function parse_args () {
+ ARGS=$(getopt -l $OPTSPEC -o "o" -name $PROGNAME $@)
+ eval set -- "$ARGS"
+ case $1 in
+ --volname)
+ shift
+ VOL=$1
+ ;;
+ esac
+}
+
+function is_volume_started () {
+ volname=$1
+ echo "$(grep status /var/lib/glusterd/vols/"$volname"/info |\
+ cut -d"=" -f2)"
+}
+
+parse_args $@
+if ps aux | grep -q "[g]anesha.nfsd"
+ then
+ kill -s TERM `cat /var/run/ganesha.pid`
+ sleep 10
+ rm -rf /var/lib/ganesha/exports
+ rm -rf /var/lib/ganesha/export_added
+ sed -i /conf/d /var/lib/ganesha/nfs-ganesha.conf
+ if [ "1" = $(is_volume_started "$VOL") ];
+ then
+ gluster volume start $VOL force
+ fi
+fi
+
+
+
diff --git a/extras/hook-scripts/reset/pre/Makefile.am b/extras/hook-scripts/reset/pre/Makefile.am
new file mode 100644
index 00000000000..1b336ac1a85
--- /dev/null
+++ b/extras/hook-scripts/reset/pre/Makefile.am
@@ -0,0 +1 @@
+EXTRA_DIST =