linux-initial-deployment.sh 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #!/bin/bash
  2. #
  3. # This script installs prerequisites on the Linux server, clones the benchmark repository
  4. # and performs initial Linux server setup.
  5. #
  6. # It should be executed on a host provisioned according to the deployment documentation,
  7. # with the prescribed operating system version and no additional software.
  8. #
  9. set -o nounset -o errexit
  10. BENCHMARK_DEPLOYMENT_HOME="toolset/deployment"
  11. if [ ! -d "$BENCHMARK_DEPLOYMENT_HOME" ]; then echo "Could not find the '$BENCHMARK_DEPLOYMENT_HOME' directory. This script must be run from the FrameworkBenchmarks directory."; exit 1; fi
  12. source "$BENCHMARK_DEPLOYMENT_HOME/common/bash-common.sh"
  13. if [ -z "$1" ]; then fail "The deployment configuration file name must be provided as an argument."; fi
  14. BENCHMARK_DEPLOYMENT_CONFIGURATION=$1
  15. if [ ! -f $BENCHMARK_DEPLOYMENT_CONFIGURATION ]; then fail "File not found: $BENCHMARK_DEPLOYMENT_CONFIGURATION"; fi
  16. source "$BENCHMARK_DEPLOYMENT_CONFIGURATION"
  17. information "******************************************************************************"
  18. information "Benchmark Suite Deployment: Linux server setup"
  19. information "******************************************************************************"
  20. BENCHMARK_REMOTE_CONFIGURATION_FILE="$BENCHMARK_WORKING_DIR/benchmark-configuration.sh"
  21. BENCHMARK_REMOTE_KEY_FILE="/home/$BENCHMARK_LINUX_USER/.ssh/benchmark-key"
  22. # Create Linux host configuration script.
  23. echo ""
  24. echo "Creating Linux host configuration script at $BENCHMARK_REMOTE_CONFIGURATION_FILE"
  25. cat >$BENCHMARK_REMOTE_CONFIGURATION_FILE <<_EOF_
  26. #!/bin/bash
  27. export BENCHMARK_HOME="/home/$BENCHMARK_LINUX_USER/FrameworkBenchmarks"
  28. export BENCHMARK_SERVER_IP="$BENCHMARK_LINUX_SERVER_IP"
  29. export BENCHMARK_CLIENT_IP="$BENCHMARK_LINUX_CLIENT_IP"
  30. export BENCHMARK_KEY_PATH="$BENCHMARK_REMOTE_KEY_FILE"
  31. export BENCHMARK_REPOSITORY="$BENCHMARK_REPOSITORY"
  32. export BENCHMARK_BRANCH="$BENCHMARK_BRANCH"
  33. _EOF_
  34. # Upload Linux host configuration script.
  35. echo ""
  36. upload_file "$BENCHMARK_REMOTE_CONFIGURATION_FILE" "$BENCHMARK_LINUX_USER" "$BENCHMARK_LINUX_SERVER" "~" "$BENCHMARK_SSH_KEY"
  37. # Copy key to server.
  38. echo ""
  39. upload_file "$BENCHMARK_SSH_KEY" "$BENCHMARK_LINUX_USER" "$BENCHMARK_LINUX_SERVER" "$BENCHMARK_REMOTE_KEY_FILE" "$BENCHMARK_SSH_KEY"
  40. # Install software.
  41. echo ""
  42. run_remote_script "Installing benchmark software on the Linux server. This may take about 2 hours." "$BENCHMARK_LINUX_USER" "$BENCHMARK_LINUX_SERVER" "$BENCHMARK_SSH_KEY" "$BENCHMARK_DEPLOYMENT_HOME/common/remote/lsr-step-1.sh" "$BENCHMARK_WORKING_DIR/lsr-step-1.log" || fail "Error running script."
  43. echo ""