diff options
author | Kaleb S. KEITHLEY <kkeithle@redhat.com> | 2015-07-02 10:22:03 -0400 |
---|---|---|
committer | Kaleb KEITHLEY <kkeithle@redhat.com> | 2015-07-02 07:51:11 -0700 |
commit | 04350600eb6255e23e087a3a1d3d15431efc7c6c (patch) | |
tree | 8c755f71498ace6b5a9b83cb806226ca48b00bb3 | |
parent | 2bf6e683e88517c1b2c6c8b13ab681bfdb0acacc (diff) |
NFS-Ganesha : Unexport fails after S31ganesha-start script is run
The dbus-send script extracts the export ID from the export config
file. It expects the export ID to be written in a particular format.
The post-phase hook-script created the export file in a different
format, and the dbus-send never gets the correct export ID because
of this. Fixing the issue by replacing the write_conf function in the
S31ganesha-start hook-script. Also, NFS-Ganesha service stops when
dbus signal is sent more than once on the same export. Consecutive
start/stop operations creates problems. Fixing all the issues at once.
Change-Id: I1306c68e2bc9abd91be1b7f1558c93060cc9c98d
BUG: 1238752
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
Reviewed-on: http://review.gluster.org/11511
-rwxr-xr-x | extras/ganesha/scripts/create-export-ganesha.sh | 3 | ||||
-rwxr-xr-x | extras/hook-scripts/start/post/S31ganesha-start.sh | 46 |
2 files changed, 28 insertions, 21 deletions
diff --git a/extras/ganesha/scripts/create-export-ganesha.sh b/extras/ganesha/scripts/create-export-ganesha.sh index 9762c0d110d..668f357409b 100755 --- a/extras/ganesha/scripts/create-export-ganesha.sh +++ b/extras/ganesha/scripts/create-export-ganesha.sh @@ -32,8 +32,7 @@ function write_conf() { echo -e "# WARNING : Using Gluster CLI will overwrite manual # changes made to this file. To avoid it, edit the -# file, copy it over to all the NFS-Ganesha nodes -# and run ganesha-ha.sh --refresh-config." +# file and run ganesha-ha.sh --refresh-config." echo "EXPORT{" echo " Export_Id = 2;" diff --git a/extras/hook-scripts/start/post/S31ganesha-start.sh b/extras/hook-scripts/start/post/S31ganesha-start.sh index f1ca72b38d2..a657b00055f 100755 --- a/extras/hook-scripts/start/post/S31ganesha-start.sh +++ b/extras/hook-scripts/start/post/S31ganesha-start.sh @@ -37,24 +37,27 @@ function parse_args () #This function generates a new export entry as export.volume_name.conf function write_conf() { - echo "EXPORT{ - " - echo "Export_Id = ;" - echo "Path=\"/$1\";" - echo "FSAL { - " - echo "name = "GLUSTER";" - echo "hostname="localhost";" - echo "volume=\"$1\";" - echo "}" - echo "Access_type = RW;" - echo "Squash = No_root_squash;" - echo "Disable_ACL = TRUE;" - echo "Pseudo=\"/$1\";" - echo "Protocols = \"3\",\"4\" ;" - echo "Transports = \"UDP\",\"TCP\" ;" - echo "SecType = \"sys\";" - echo "}" +echo -e "# WARNING : Using Gluster CLI will overwrite manual +# changes made to this file. To avoid it, edit the +# file, copy it over to all the NFS-Ganesha nodes +# and run ganesha-ha.sh --refresh-config." + +echo "EXPORT{" +echo " Export_Id = 2;" +echo " Path = \"/$VOL\";" +echo " FSAL {" +echo " name = \"GLUSTER\";" +echo " hostname=\"localhost\";" +echo " volume=\"$VOL\";" +echo " }" +echo " Access_type = RW;" +echo " Disable_ACL = true;" +echo " Squash=\"No_root_squash\";" +echo " Pseudo=\"/$VOL\";" +echo " Protocols = \"3\", \"4\" ;" +echo " Transports = \"UDP\",\"TCP\";" +echo " SecType = \"sys\";" +echo "}" } #This function keeps track of export IDs and increments it with every new entry @@ -101,9 +104,14 @@ function start_ganesha() } parse_args $@ + is_exported="no" + if showmount -e localhost | cut -d "" -f1 | grep -q "/$VOL[[:space:]]" + then + is_exported="yes" + fi ganesha_value=$(grep $ganesha_key $GLUSTERD_WORKDIR/vols/$VOL/info |\ cut -d"=" -f2) - if [ "$ganesha_value" = "on" ] + if [ "$ganesha_value" = "on" -a "$is_exported" = "no" ] then write_conf $VOL > $GANESHA_DIR/exports/export.$VOL.conf start_ganesha $VOL |