diff options
| author | Kaleb S. KEITHLEY <kkeithle@redhat.com> | 2016-12-20 10:56:35 -0500 | 
|---|---|---|
| committer | Kaleb KEITHLEY <kkeithle@redhat.com> | 2016-12-22 06:20:19 -0800 | 
| commit | 6e8ac80b29b37c215f18f646ee4a3f3fffccb3bc (patch) | |
| tree | d35144379d859d8fee210a9332f66625b65243cb | |
| parent | 33288f95168402042e6652c55d9e3c37951c5804 (diff) | |
common-ha: add node create new node dirs in shared storage
When adding a node to the ganesha HA cluster, create the directory
tree in shared storage for the added node and create sets of symlinks
to match what is/was created for the other nodes.  I.e. in a four
node cluster the new node needs a set of links to the four existing
nodes:
 /run/gluster/shared/nfs-ganesha/$new/nfs/{ganesha,statd}/$e1 -> e1
 /run/gluster/shared/nfs-ganesha/$new/nfs/{ganesha,statd}/$e2 -> e2
 /run/gluster/shared/nfs-ganesha/$new/nfs/{ganesha,statd}/$e3 -> e3
 /run/gluster/shared/nfs-ganesha/$new/nfs/{ganesha,statd}/$e4 -> e4
and all the existing nodes need links added for the new node:
 /run/gluster/shared/nfs-ganesha/$e1/nfs/{ganesha,statd}/$new -> new
 /run/gluster/shared/nfs-ganesha/$e2/nfs/{ganesha,statd}/$new -> new
 /run/gluster/shared/nfs-ganesha/$e3/nfs/{ganesha,statd}/$new -> new
 /run/gluster/shared/nfs-ganesha/$e5/nfs/{ganesha,statd}/$new -> new
Likewise when deleting, remove the dir and symlinks.
original change http://review.gluster.org/16036
original change release-3.9 http://review.gluster.org/16170
master change http://review.gluster.org/16216
master BZ 1400613
Change-Id: I52839046745728d06ab5a07f38081c032093bff6
BUG: 1405576
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
Reviewed-on: http://review.gluster.org/16217
Smoke: Gluster Build System <jenkins@build.gluster.org>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
| -rw-r--r-- | extras/ganesha/scripts/ganesha-ha.sh | 17 | 
1 files changed, 12 insertions, 5 deletions
diff --git a/extras/ganesha/scripts/ganesha-ha.sh b/extras/ganesha/scripts/ganesha-ha.sh index 1354b3741b3..ecf0e9819da 100644 --- a/extras/ganesha/scripts/ganesha-ha.sh +++ b/extras/ganesha/scripts/ganesha-ha.sh @@ -754,6 +754,9 @@ setup_state_volume()              dirname=${1}${dname}          fi +        if [ ! -d ${mnt}/nfs-ganesha/tickle_dir ]; then +            mkdir ${mnt}/nfs-ganesha/tickle_dir +        fi          if [ ! -d ${mnt}/nfs-ganesha/${dirname} ]; then              mkdir ${mnt}/nfs-ganesha/${dirname}          fi @@ -845,11 +848,13 @@ addnode_state_volume()      fi      for server in ${HA_SERVERS} ; do -        ln -s ${mnt}/nfs-ganesha/${server}/nfs/ganesha ${mnt}/nfs-ganesha/${dirname}/nfs/ganesha/${server} -        ln -s ${mnt}/nfs-ganesha/${server}/nfs/statd ${mnt}/nfs-ganesha/${dirname}/nfs/statd/${server} +        if [[ ${server} != ${dirname} ]]; then +            ln -s ${mnt}/nfs-ganesha/${server}/nfs/ganesha ${mnt}/nfs-ganesha/${dirname}/nfs/ganesha/${server} +            ln -s ${mnt}/nfs-ganesha/${server}/nfs/statd ${mnt}/nfs-ganesha/${dirname}/nfs/statd/${server} -        ln -s ${mnt}/nfs-ganesha/${dirname}/nfs/ganesha ${mnt}/nfs-ganesha/${server}/nfs/ganesha/${dirname} -        ln -s ${mnt}/nfs-ganesha/${dirname}/nfs/statd ${mnt}/nfs-ganesha/${server}/nfs/statd/${dirname} +            ln -s ${mnt}/nfs-ganesha/${dirname}/nfs/ganesha ${mnt}/nfs-ganesha/${server}/nfs/ganesha/${dirname} +            ln -s ${mnt}/nfs-ganesha/${dirname}/nfs/statd ${mnt}/nfs-ganesha/${server}/nfs/statd/${dirname} +	fi      done  } @@ -1075,8 +1080,10 @@ $HA_CONFDIR/ganesha-ha.conf          addnode_state_volume ${node} -        HA_SERVERS="${HA_SERVERS} ${node}" +        # addnode_create_resources() already appended ${node} to +        # HA_SERVERS, so only need to increment HA_NUM_SERVERS +        # and set quorum policy          HA_NUM_SERVERS=$(expr ${HA_NUM_SERVERS} + 1)          set_quorum_policy ${HA_NUM_SERVERS}          ;;  | 
