github.com/swiftstack/proxyfs@v0.0.0-20201223034610-5434d919416e/saio/bin/start_proxyfs_and_swift (about) 1 #!/bin/bash 2 3 # A simple script to start the swift services only 4 # The PATH, etc should already be setup by systemctl environment 5 6 function await_proxyfsd_startup { 7 while true 8 do 9 /usr/bin/systemctl -q is-active proxyfsd 10 if [ $? -ne 0 ] 11 then 12 echo "ProxyFS failed to start. Exiting..." 13 exit 1 14 fi 15 curl http://127.0.0.1:15346/ 2>/dev/null >/dev/null 16 if [ $? -eq 0 ] 17 then 18 break 19 fi 20 sleep 1 21 done 22 } 23 24 function await_swift_startup { 25 while true 26 do 27 curl http://127.0.0.1:8090/info 2>/dev/null >/dev/null 28 if [ $? -eq 0 ] 29 then 30 break 31 fi 32 echo "Waiting for Swift to be started..." 33 sleep 1 34 done 35 } 36 37 function format_volume_if_necessary { 38 sudo /vagrant/bin/mkproxyfs -I $1 /vagrant/src/github.com/swiftstack/ProxyFS/saio/proxyfs.conf SwiftClient.RetryLimit=1 39 if [ $? -ne 0 ] 40 then 41 echo "Could not pre-format $1" 42 exit 1 43 fi 44 } 45 46 sudo mount -a 47 48 echo "Shutting down services and mount points..." 49 /vagrant/src/github.com/swiftstack/ProxyFS/saio/bin/unmount_and_stop_pfs 50 echo 51 echo "Bringing up services..." 52 if [ -f /usr/bin/systemctl ]; then 53 # Centos 54 sudo /usr/bin/systemctl start memcached 55 sudo /usr/bin/swift-init main start 56 await_swift_startup 57 format_volume_if_necessary CommonVolume 58 sudo /usr/bin/systemctl start proxyfsd 59 await_proxyfsd_startup 60 else 61 # Ubuntu (not tested!) 62 sudo /usr/sbin/service memcached start 63 sudo /usr/bin/swift-init main start 64 await_swift_startup 65 format_volume_if_necessary CommonVolume 66 sudo /usr/sbin/service proxyfsd start 67 await_proxyfsd_startup 68 fi