github.com/swiftstack/proxyfs@v0.0.0-20201223034610-5434d919416e/cookbooks/proxyfs/files/default/usr/bin/unmount_and_stop_pfs (about) 1 #!/bin/bash 2 3 # A simple script to unmount the sample mount point and stop the services 4 # The PATH, etc should already be setup by systemctl environment 5 6 function await_proxyfsd_shutdown { 7 while true 8 do 9 pidof proxyfsd > /dev/null 10 if [ $? -ne 0 ] 11 then 12 break 13 fi 14 echo "Waiting for ProxyFS to be stopped..." 15 sleep 1 16 done 17 } 18 19 function await_pfsagentd_shutdown { 20 while true 21 do 22 pidof pfsagentd > /dev/null 23 if [ $? -ne 0 ] 24 then 25 break 26 fi 27 echo "Waiting for PFSAgent to be stopped..." 28 sleep 1 29 done 30 } 31 32 MOUNT_POINT_NFS=127.0.0.1:/CommonMountPoint 33 SHARE_NFS=/mnt/nfs_proxyfs_mount/ 34 35 MOUNT_POINT_SMB=//127.0.0.1/proxyfs 36 SHARE_SMB=/mnt/smb_proxyfs_mount/ 37 38 if [ $# = 0 ]; then 39 SHOULD_UNMOUNT=1 40 else 41 if [ $1 = "keepmounts" ]; then 42 SHOULD_UNMOUNT=0 43 else 44 echo "Invalid argument: $1" 45 exit 1 46 fi 47 fi 48 49 if [ $SHOULD_UNMOUNT = 1 ]; then 50 mountpoint -q $SHARE_NFS 51 if [ $? -eq 0 ]; then 52 echo "Unmounting NFS mount point at '${SHARE_NFS}'..." 53 sudo umount $SHARE_NFS 54 fi 55 56 mountpoint -q $SHARE_SMB 57 if [ $? -eq 0 ]; then 58 echo "Unmounting SMB mount point at '${SHARE_SMB}'..." 59 sudo umount $SHARE_SMB 60 fi 61 fi 62 63 if [ -f /usr/bin/systemctl ]; then 64 # Centos 65 sudo /usr/bin/systemctl stop pfsagentd 66 sudo /usr/bin/systemctl stop nfs-idmap 67 sudo /usr/bin/systemctl stop nfs-lock 68 sudo /usr/bin/systemctl stop nfs-server 69 sudo /usr/bin/systemctl stop rpcbind 70 sudo /usr/bin/systemctl stop smb 71 sudo /usr/bin/systemctl stop nmb 72 # We need to make sure PFSAgent is stopped before we stop ProxyFS, but we 73 # don't care if other services are stopped in the meantime. 74 await_pfsagentd_shutdown 75 sudo /usr/bin/systemctl stop proxyfsd 76 await_proxyfsd_shutdown 77 sudo /usr/bin/swift-init main stop 78 sudo /usr/bin/systemctl stop memcached 79 else 80 # Ubuntu (not tested!) 81 # Here we should stop pfsagentd, but we don't support Ubuntu 82 sudo /usr/sbin/service nfs-idmap stop 83 sudo /usr/sbin/service nfs-lock stop 84 sudo /usr/sbin/service nfs-server stop 85 sudo /usr/sbin/service rpcbind stop 86 sudo /usr/sbin/service smbd stop 87 sudo /usr/sbin/service nmbd stop 88 sudo /usr/sbin/service proxyfsd stop 89 await_proxyfsd_shutdown 90 sudo /usr/bin/swift-init main stop 91 sudo /usr/sbin/service memcached stop 92 fi