#!/bin/bash
#
# by: Brian Butler (20100921)
#
# Setup script for the Email lab
# this script is to be installed and run on desktopX.example.com
# output is logged to syslog

# Set environment and declare global variables
. /usr/local/lib/labtool.shlib
trap on_exit EXIT
LOG_FACILITY=local0
LOG_PRIORITY=info
LOG_TAG=emailLab
DEBUG=false
ERROR_MESSAGE="Error running script. Contact your instructor if you continue to see this message."
PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin
userInput="no"
set -o pipefail
stationNum="$(hostname | grep -o "[0-9]*")"

# Check to make sure we are running as root
check_root

# Check to make sure we are running on the correct host
check_host "desktop"

# Prompt the user before we make any changes to the system
cat <<EOL

*** NOTICE ***
This script will reset vserver and vserver2 to setup the excercise.
EOL
confirm
echo
echo -n "Setting up, one moment please... "

# Reset vserver
(/usr/local/sbin/lab-resetvm 2>&1 | log) || exit

# Reset vserver2 (create it if needed)
if virsh dominfo vserver2 >& /dev/null
then
    (/usr/local/sbin/lab-resetvm vserver2 2>&1 | log) || exit
else
    (/usr/local/sbin/install-vserver2 2>&1 | log) || exit
fi


# Configure vserver to use the classroom network
(gls-vserver-network --classroom 2>&1 | log) || exit

# Configure vserver2 to use the classroom network
(gls-vserver-network --classroom vserver2 2>&1 | log) || exit

# Wait for ssh to become available then create and install sshkey on vserver
wait_tcp_port server${stationNum}.example.com 22
push_sshkey server${stationNum}.example.com

echo "done!"

exit 0
