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