summaryrefslogtreecommitdiffstats
path: root/extras/ganesha
diff options
context:
space:
mode:
authorMeghana M <mmadhusu@redhat.com>2015-07-09 03:34:07 +0530
committerKaleb KEITHLEY <kkeithle@redhat.com>2015-07-10 10:41:17 -0700
commit23a004d37ba624970f4d6cf9bde694f403397af7 (patch)
treec72de88780c00a4564d0e40ae21d840eea1674a0 /extras/ganesha
parentdecf3c9fe0d4f1f636e337aa313694251341b685 (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-xextras/ganesha/scripts/create-export-ganesha.sh32
-rwxr-xr-xextras/ganesha/scripts/dbus-send.sh31
-rw-r--r--[-rwxr-xr-x]extras/ganesha/scripts/ganesha-ha.sh38
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=""