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