diff options
author | Meghana M <mmadhusu@redhat.com> | 2015-07-09 03:34:07 +0530 |
---|---|---|
committer | Kaleb KEITHLEY <kkeithle@redhat.com> | 2015-07-10 10:41:17 -0700 |
commit | 23a004d37ba624970f4d6cf9bde694f403397af7 (patch) | |
tree | c72de88780c00a4564d0e40ae21d840eea1674a0 /extras/ganesha | |
parent | decf3c9fe0d4f1f636e337aa313694251341b685 (diff) |
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"
This patch is a backport of the fix merged upstream,
http://review.gluster.org/#/c/11594/
Change-Id: Ia0f87f964a5771b97d9077f17a0387d7a01e02b6
BUG: 1241885
Signed-off-by: Meghana Madhusudhan <mmadhusu@redhat.com>
Reviewed-on: http://review.gluster.org/11621
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com>
Diffstat (limited to 'extras/ganesha')
-rwxr-xr-x | extras/ganesha/scripts/create-export-ganesha.sh | 32 | ||||
-rwxr-xr-x | extras/ganesha/scripts/dbus-send.sh | 31 | ||||
-rw-r--r--[-rwxr-xr-x] | extras/ganesha/scripts/ganesha-ha.sh | 38 |
3 files changed, 93 insertions, 8 deletions
diff --git a/extras/ganesha/scripts/create-export-ganesha.sh b/extras/ganesha/scripts/create-export-ganesha.sh index 668f357409b..ab7c282af79 100755 --- a/extras/ganesha/scripts/create-export-ganesha.sh +++ b/extras/ganesha/scripts/create-export-ganesha.sh @@ -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() { diff --git a/extras/ganesha/scripts/dbus-send.sh b/extras/ganesha/scripts/dbus-send.sh index d838cabf7b2..4840be830d6 100755 --- a/extras/ganesha/scripts/dbus-send.sh +++ b/extras/ganesha/scripts/dbus-send.sh @@ -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() diff --git a/extras/ganesha/scripts/ganesha-ha.sh b/extras/ganesha/scripts/ganesha-ha.sh index c1f07573f42..9e03eb63b86 100755..100644 --- a/extras/ganesha/scripts/ganesha-ha.sh +++ b/extras/ganesha/scripts/ganesha-ha.sh @@ -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="" |