Last active
December 20, 2015 09:19
-
-
Save dfarrell07/6106997 to your computer and use it in GitHub Desktop.
Script for setting up OpenStack test environment.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# Create a new user and setup their test environment | |
# Author: Daniel Farrell | |
EX_USAGE=64 | |
EX_NOPERM=77 | |
EX_CONFIG=78 | |
EX_OK=0 | |
usage() | |
{ | |
cat << EOF | |
Usage: $0 {username} | |
Script for creating a new user and setting up their test enviroment. | |
EOF | |
} | |
config() | |
{ | |
cat << EOF | |
This software should be distributed as a tarball consisting of: | |
- setup.sh (this script) | |
- run_test.sh (for running tests) | |
- OpenStackTest (directory with JUnit tests) | |
- lib-jar (directory with required jars) | |
EOF | |
} | |
if [ $# -ne 1 ] | |
then | |
usage | |
exit $EX_USAGE | |
else | |
usr=$1 | |
echo "Creating new user with username $usr." | |
fi | |
if [[ $EUID -ne 0 ]] | |
then | |
echo "Error: Run this script as root." >&2 | |
exit $EX_NOPERM | |
fi | |
if [ ! -d ./OpenStackTest ] | |
then | |
echo "OpenStackTest directory not found." >&2 | |
config | |
exit $EX_CONFIG | |
fi | |
if [ ! -d ./lib-jar ] | |
then | |
echo "lib-jar directory not found." >&2 | |
config | |
exit $EX_CONFIG | |
fi | |
if [ ! -f ./run_test.sh ] | |
then | |
echo "run_test.sh script not found." >&2 | |
config | |
exit $EX_CONFIG | |
fi | |
useradd $usr | |
echo "Set a password for your new user." | |
passwd $usr | |
cp -R OpenStackTest lib-jar /home/$usr | |
cp run_test.sh /home/$usr/OpenStackTest | |
chown -R $usr:$usr /home/$usr/lib-jar /home/$usr/OpenStackTest | |
sed -i 's/your_username/'"$usr"'/g' /home/$usr/OpenStackTest/nightly \ | |
/home/$usr/OpenStackTest/regression | |
if [ ! -d /var/www/html/$usr ] | |
then | |
mkdir /var/www/html/$usr | |
fi | |
chown $usr:$usr /var/www/html/$usr | |
chmod 777 /var/www/html/$usr | |
echo | |
tput setaf 2 | |
echo "Done. Try run_test.sh with CWD=/home/$usr/OpenStackTest as $usr." | |
tput sgr0 | |
exit $EX_OK |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment