NFS-Ganesha : Export fails on RHEL 7.1

We grep for CONFFILE parameter in "/etc/syconfig/ganesha"
file to find out the path of the ganesha config file.
In RHEL 7.1, this parameter does not exist in the file and
we can't find out the ganesha config file. Export
fails invariably due to this. Changing this pattern to
a more generic one and default it to "/etc/ganesha/ganesha.conf"

Change-Id: I4ac97b1b5ee4f5a7e448a351b7c6270385dffe61
BUG: 1241480
Signed-off-by: Meghana M <mmadhusu@redhat.com>
Reviewed-on: http://review.gluster.org/11594
Reviewed-by: soumya k <skoduri@redhat.com>
Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
This commit is contained in:
Meghana M 2015-07-09 03:34:07 +05:30 committed by Kaleb KEITHLEY
parent bcd89d5086
commit 87bce01f32
3 changed files with 93 additions and 8 deletions

View File

@ -5,8 +5,10 @@
#An export file specific to a volume
#is created in GANESHA_DIR/exports.
GANESHA_DIR=$1
GANESHA_DIR=${1%/}
VOL=$2
CONF=
CONFFILE=
function check_cmd_status()
{
@ -24,9 +26,33 @@ if [ ! -d "$GANESHA_DIR/exports" ];
check_cmd_status `echo $?`
fi
CONF=$(cat /etc/sysconfig/ganesha | grep "CONFFILE" | cut -f 2 -d "=")
check_cmd_status `echo $?`
function find_rhel7_conf
{
while [[ $# > 0 ]]
do
key="$1"
case $key in
-f)
CONFFILE="$2"
;;
*)
;;
esac
shift
done
}
cfgline=$(grep ^CONFFILE= /etc/sysconfig/ganesha)
eval $(echo ${cfgline} | grep -F ^CONFFILE=)
if [ -z $CONFFILE ]
then
cfgline=$(grep ^OPTIONS= /etc/sysconfig/ganesha)
eval $(echo ${cfgline} | grep -F ^OPTIONS=)
find_rhel7_conf $cfgline
fi
CONF=${CONFFILE:-/etc/ganesha/ganesha.conf}
function write_conf()
{

View File

@ -4,8 +4,37 @@ declare -i EXPORT_ID
GANESHA_DIR=${1%/}
OPTION=$2
VOL=$3
CONF=
CONFFILE=
function find_rhel7_conf
{
while [[ $# > 0 ]]
do
key="$1"
case $key in
-f)
CONFFILE="$2"
break;
;;
*)
;;
esac
shift
done
}
cfgline=$(grep ^CONFFILE= /etc/sysconfig/ganesha)
eval $(echo ${cfgline} | grep -F CONFFILE=)
eval $(echo ${cfgline} | grep -F ^CONFFILE=)
if [ -z $CONFFILE ]
then
cfgline=$(grep ^OPTIONS= /etc/sysconfig/ganesha)
eval $(echo ${cfgline} | grep -F ^OPTIONS=)
find_rhel7_conf $cfgline
fi
CONF=${CONFFILE:-/etc/ganesha/ganesha.conf}
function check_cmd_status()

38
extras/ganesha/scripts/ganesha-ha.sh Executable file → Normal file
View File

@ -26,13 +26,43 @@ HA_CONFDIR="/etc/ganesha"
HA_VOL_NAME="gluster_shared_storage"
HA_VOL_MNT="/var/run/gluster/shared_storage"
SERVICE_MAN="DISTRO_NOT_FOUND"
cfgline=$(grep ^CONFFILE= /etc/sysconfig/ganesha)
eval $(echo ${cfgline} | grep -F CONFFILE=)
GANESHA_CONF=${CONFFILE:-/etc/ganesha/ganesha.conf}
RHEL6_PCS_CNAME_OPTION="--name"
SECRET_PEM="/var/lib/glusterd/nfs/secret.pem"
GANESHA_CONF=
CONFFILE=
function find_rhel7_conf
{
while [[ $# > 0 ]]
do
key="$1"
case $key in
-f)
CONFFILE="$2"
break;
;;
*)
;;
esac
shift
done
}
cfgline=$(grep ^CONFFILE= /etc/sysconfig/ganesha)
eval $(echo ${cfgline} | grep -F ^CONFFILE=)
if [ -z $CONFFILE ]
then
cfgline=$(grep ^OPTIONS= /etc/sysconfig/ganesha)
eval $(echo ${cfgline} | grep -F ^OPTIONS=)
find_rhel7_conf $cfgline
fi
GANESHA_CONF=${CONFFILE:-/etc/ganesha/ganesha.conf}
usage() {
echo "Usage : add|delete|status"
@ -823,7 +853,7 @@ main()
exit 0
fi
if [[ ${cmd} != *status ]]; then
HA_CONFDIR=${1}; shift
HA_CONFDIR=${1%/}; shift
local ha_conf=${HA_CONFDIR}/ganesha-ha.conf
local node=""
local vip=""