f4497ee445
Currently the mount-shared-storage.sh script requires manual entry of each volume and mount point. There is a TODO item from Bug 1452527 to automatically pull the list of glusterfs mounts from the /etc/fstab file, validate that they are mounted, or attempt to mount them. This is to complete that TODO item. The extras/mount-shared-storage.sh file has been updated to read only active glusterfs mounts from the /etc/fstab file, verify if they are mounted, and attemt to mount them if they are not. It will exit with a status 0 if successfully mounted or status 1 if any of the mounts fail. This method will allow the standard method of mounts in /etc/fstab to be utilized and will ensure they are monted following system reboots. This can be tested by creating a volume, mounting it using the /etc/fstab method, and rebooting the server. Output will be similar to this: Jun 29 19:09:38 localhost systemd[1]: Starting Mount glusterfs sharedstorage... Jun 29 19:09:43 localhost mount-shared-storage.sh[4096]: /mnt/mount1 has been mounted Jun 29 19:09:48 localhost mount-shared-storage.sh[4096]: /mnt/mount2 has been mounted Jun 29 19:09:48 localhost systemd[1]: Started Mount glusterfs sharedstorage. Multiple fixes based on code review suggestions and spellcheck Removed spaces in grep for glusterfs as tabs are valid as well Added tab as an IFS field separator for the lines read from /etc/fstab Increased sleep time to 10 seconds before mount validation Changed mount check to use “mountpoint -q” Change-Id: Ib90c99ced8f7aefc8dbe87340afc73a28f6195e7 fixes: bz#1596789 Signed-off-by: Josiah <josiahp@gmail.com>
40 lines
916 B
Bash
Executable File
40 lines
916 B
Bash
Executable File
#!/bin/bash
|
|
#Post reboot there is a chance in which mounting of shared storage will fail
|
|
#This will impact starting of features like NFS-Ganesha. So this script will
|
|
#try to mount the shared storage if it fails
|
|
|
|
exitStatus=0
|
|
|
|
while IFS= read -r glm
|
|
do
|
|
IFS=$' \t' read -r -a arr <<< "$glm"
|
|
|
|
#Validate storage type is glusterfs
|
|
if [ "${arr[2]}" == "glusterfs" ]
|
|
then
|
|
|
|
#check whether shared storage is mounted
|
|
#if it is mounted then mountpoint -q will return a 0 success code
|
|
if mountpoint -q "${arr[1]}"
|
|
then
|
|
echo "${arr[1]} is already mounted"
|
|
continue
|
|
fi
|
|
|
|
mount -t glusterfs "${arr[0]}" "${arr[1]}"
|
|
#wait for few seconds
|
|
sleep 10
|
|
|
|
#recheck mount got succeed
|
|
if mountpoint -q "${arr[1]}"
|
|
then
|
|
echo "${arr[1]} has been mounted"
|
|
continue
|
|
else
|
|
echo "${arr[1]} failed to mount"
|
|
exitStatus=1
|
|
fi
|
|
fi
|
|
done <<< "$(sed '/^#/ d' </etc/fstab | grep 'glusterfs')"
|
|
exit $exitStatus
|