systemd/glusterfssharedstorage : remove dependency for var-run-gluster-shared_storage
Currently the script used by glusterfssharedstorage have dependency over var-run-gluster-shared_storage. But this service will be present only if node has rebooted. Also in reboot scenario , there is a chance that this service can be executed before creating var-run-gluster-shared_storage. In that case glusterfssharedstorage will get succeed even without mounting the shared storage Also the type of glusterfssharedstorage changed to "forking" so that it can be active(instead of dead) after the successful start. Change-Id: I1c02cc64946e534d845aa7ec7b72644bbe4d26f9 BUG: 1452527 Signed-off-by: Jiffin Tony Thottan <jthottan@redhat.com> Reviewed-on: https://review.gluster.org/17658 Smoke: Gluster Build System <jenkins@build.gluster.org> CentOS-regression: Gluster Build System <jenkins@build.gluster.org> Reviewed-by: soumya k <skoduri@redhat.com> Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com>
This commit is contained in:
parent
cc8bf4bb29
commit
4c410a46ef
@ -4,34 +4,33 @@
|
||||
#try to mount the shared storage if it fails
|
||||
#TODO : Do it for other glusterfs clients in /etc/fstab
|
||||
|
||||
ms="var-run-gluster-shared_storage.mount"
|
||||
volume="gluster_shared_storage"
|
||||
failed=$(systemctl --failed | grep -c $ms)
|
||||
if [ $failed -eq 1 ]
|
||||
then
|
||||
if systemctl restart $ms
|
||||
then
|
||||
#Restart worked just wait for sometime to make it reflect
|
||||
sleep 5
|
||||
else
|
||||
#Restart failed, no point in further continuing
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# If we've reached this point, there wasn't a failed mountpoint
|
||||
# BUT we need to check for whether this haven't been called before the attempts
|
||||
# to the filesystem mounts, thus we need to check whether there is a glusterfs
|
||||
# in fstab and aren't mountedmount
|
||||
|
||||
#In the logs I've seen ~4-5secs between the initial mount/start and the unmount
|
||||
|
||||
mp="/var/run/gluster/shared_storage"
|
||||
#check if there is fstab entry for shared storage
|
||||
gfc=$(sed -e 's/#.$//' </etc/fstab | grep -c $volume)
|
||||
gfm=$(grep -i $volume /proc/mounts | wc -l)
|
||||
|
||||
if [ $gfm -lt $gfc ]
|
||||
if [ $gfc -eq 0 ]
|
||||
then
|
||||
exit 1
|
||||
exit 0
|
||||
fi
|
||||
|
||||
exit 0
|
||||
#check whether shared storage is mounted
|
||||
#if it is mounted then mount has inode value 1
|
||||
inode=$(ls -id $mp | awk '{print $1}')
|
||||
|
||||
if [ $inode -eq 1 ]
|
||||
then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
mount -t glusterfs localhost:/$volume $mp
|
||||
#wait for few seconds
|
||||
sleep 5
|
||||
|
||||
#recheck mount got succeed
|
||||
inode=$(ls -id $mp | awk '{print $1}')
|
||||
if [ $inode -eq 1 ]
|
||||
then
|
||||
exit 0
|
||||
else
|
||||
exit 1
|
||||
fi
|
||||
|
@ -3,6 +3,7 @@ Description=Mount glusterfs sharedstorage
|
||||
Requires=glusterd.service remote-fs-pre.target local-fs.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
ExecStart=@GLUSTERFS_LIBEXECDIR@/mount-shared-storage.sh
|
||||
Restart=on-failure
|
||||
RestartSec=3
|
||||
|
Loading…
x
Reference in New Issue
Block a user