diff options
| author | Jiffin Tony Thottan <jthottan@redhat.com> | 2016-07-12 15:44:23 +0530 | 
|---|---|---|
| committer | Kaleb KEITHLEY <kkeithle@redhat.com> | 2016-08-25 06:55:57 -0700 | 
| commit | 76726da0e86077a8f3a59c02a47fcf2e3994218f (patch) | |
| tree | 4b63caa3e85b85fd345ade0ad4e57d7fccafdd0e /extras | |
| parent | f013335400d033a9677797377b90b968803135f4 (diff) | |
glusterd/ganesha : Move ganesha-ha.conf and ganesha.conf to shared storage
Currently all the ganesha related configuration files(ganesha.conf,
ganesha-ha.conf, export files, etc) is stored locally at /etc/ganesha
on a every node in ganesha cluster. Usually we end up in two issues by
doing so :
* difficult in modifiying ganesha related conf file
* diffciult to maintain consistency of conf file across ganesha cluster
To tackle this, we plan to move all the ganesha configuration to shared
storage. As a first step in this patch ganesha.conf and ganesha-ha.conf
move to shared storage. Here actual ganesha.conf will resides in shared
stoarge and symlinks will be created in /etc/ganesha when the option
"gluster nfs-ganesha enable" is executed and remove those during the
"disable" part.
Modified prerequisites to done before running globaloption:
	* enable shared storage
	* create nfs-ganesha folder in shared storage
	* create ganesha.conf and ganesha-ha.conf in it
More details can be found at http://review.gluster.org/#/c/15105/
Change-Id: Ifabb6c5db50061f077a03932940190af74e2ca7f
BUG: 1355956
Signed-off-by: Jiffin Tony Thottan <jthottan@redhat.com>
Reviewed-on: http://review.gluster.org/14906
Reviewed-by: soumya k <skoduri@redhat.com>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
Smoke: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Diffstat (limited to 'extras')
| -rw-r--r-- | extras/ganesha/scripts/ganesha-ha.sh | 34 | 
1 files changed, 29 insertions, 5 deletions
diff --git a/extras/ganesha/scripts/ganesha-ha.sh b/extras/ganesha/scripts/ganesha-ha.sh index 143897f2401..28fc837550f 100644 --- a/extras/ganesha/scripts/ganesha-ha.sh +++ b/extras/ganesha/scripts/ganesha-ha.sh @@ -22,9 +22,9 @@  HA_NUM_SERVERS=0  HA_SERVERS="" -HA_CONFDIR="/etc/ganesha"  HA_VOL_NAME="gluster_shared_storage"  HA_VOL_MNT="/var/run/gluster/shared_storage" +HA_CONFDIR=$HA_VOL_MNT"/nfs-ganesha"  SERVICE_MAN="DISTRO_NOT_FOUND"  RHEL6_PCS_CNAME_OPTION="--name" @@ -416,12 +416,8 @@ teardown_cluster()  cleanup_ganesha_config ()  { -       rm -rf ${HA_CONFDIR}/exports/*.conf -       rm -rf ${HA_CONFDIR}/.export_added         rm -rf /etc/cluster/cluster.conf*         rm -rf /var/lib/pacemaker/cib/* -       sed -r -i -e '/^%include[[:space:]]+".+\.conf"$/d' ${GANESHA_CONF} -       rm -rf ${HA_VOL_MNT}/nfs-ganesha  }  do_create_virt_ip_constraints() @@ -848,6 +844,29 @@ status()      rm -f ${status_file}  } +create_ganesha_conf_file() +{ +        if [ $1 == "yes" ]; +        then +                if [  -e $GANESHA_CONF ]; +                then +                        rm -rf $GANESHA_CONF +                fi +        # The symlink /etc/ganesha/ganesha.conf need to be +        # created using ganesha conf file mentioned in the +        # shared storage. Every node will only have this +        # link and actual file will stored in shared storage, +        # so that ganesha conf editing of ganesha conf will +        # be easy as well as it become more consistent. + +                ln -s $HA_CONFDIR/ganesha.conf $GANESHA_CONF +        else +        # Restoring previous file +                rm -rf $GANESHA_CONF +                sed -r -i -e '/^%include[[:space:]]+".+\.conf"$/d' $HA_CONFDIR/ganesha.conf +                cp $HA_CONFDIR/ganesha.conf $GANESHA_CONF +        fi +}  main()  { @@ -989,6 +1008,11 @@ $HA_CONFDIR/ganesha-ha.conf          refresh_config ${VOL} ${HA_CONFDIR} ${HA_SERVERS}          ;; +    setup-ganesha-conf-files | --setup-ganesha-conf-files) + +        create_ganesha_conf_file ${1} +        ;; +      *)          # setup and teardown are not intended to be used by a          # casual user  | 
