diff options
Diffstat (limited to 'extras/ganesha/scripts/create-export-ganesha.sh')
| -rwxr-xr-x | extras/ganesha/scripts/create-export-ganesha.sh | 55 | 
1 files changed, 55 insertions, 0 deletions
diff --git a/extras/ganesha/scripts/create-export-ganesha.sh b/extras/ganesha/scripts/create-export-ganesha.sh new file mode 100755 index 00000000000..8140a11f548 --- /dev/null +++ b/extras/ganesha/scripts/create-export-ganesha.sh @@ -0,0 +1,55 @@ +#/bin/bash + +#This script is called by glusterd when the user +#tries to export a volume via NFS-Ganesha. +#An export file specific to a volume +#is created in GANESHA_DIR/exports. + +GANESHA_DIR=$1 +VOL=$2 + +function check_cmd_status() +{ +        if [ "$1" != "0" ] +                 then +                 rm -rf $GANESHA_DIR/exports/export.$VOL.conf +                 exit 1 +        fi +} + + +if [ ! -d "$GANESHA_DIR/exports" ]; +        then +        mkdir $GANESHA_DIR/exports +        check_cmd_status `echo $?` +fi + +CONF=$(cat /etc/sysconfig/ganesha | grep "CONFFILE" | cut -f 2 -d "=") +check_cmd_status `echo $?` + + +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." + +echo "EXPORT{" +echo "      Export_Id = 1;" +echo "      FSAL {" +echo "           name = "GLUSTER";" +echo "           hostname=\"localhost\";" +echo  "          volume=\"$VOL\";" +echo "           }" +echo "      Access_type = RW;" +echo '      Squash="No_root_squash";' +echo "      Pseudo=\"/$VOL\";" +echo '      Protocols = "3,4" ;' +echo '      Transports = "UDP,TCP";' +echo '      SecType = "sys";' +echo "     }" +} + +write_conf $@ > $GANESHA_DIR/exports/export.$VOL.conf +echo "%include \"$GANESHA_DIR/exports/export.$VOL.conf\"" >> $CONF  | 
