#!/bin/bash
#
# Copyright 2014 Red Hat, Inc.
#
# NAME
#     lab-process101 - install a program called process101 for RH124/RH199/RH299
#
# SYNOPSIS
#     lab-process101 {-h|--help}
#     lab-process101 setup
#
#     This script only works on serverX.example.com.
#
# DESCRIPTION
#     This script creates an executable called process101 that uses
#     25% to 30% of the CPU.
#
# CHANGELOG
#   * Thu Apr 24 2014 George Hacker <ghacker@redhat.com>
#   - original code

PATH=/usr/bin:/bin:/usr/sbin:/sbin

# Initialize and set some variables
MYHOST=""
CMD=""
DEBUG='true'
RUN_AS_ROOT='true'

# Source library of functions
source /usr/local/bin/labtool.shlib
trap on_exit EXIT

# Additional functions for this shell script
function print_usage {
  local problem_name=$(basename $0 | sed -e 's/^lab-//')
  cat << EOF
This script controls the setup and grading of this lab.
Usage: lab ${problem_name} COMMAND
       lab ${problem_name} -h|--help
COMMAND is one of:
    setup - perform any setup steps for this lab on this machine
EOF
#    grade - perform any grading steps and report on this machine
}

function lab_setup {
  VMNAME=$1
  case $VMNAME in
    desktop)
      print_FAIL && echo "The setup script needs to be run on server"
      ;;
    server)
      process101=/usr/local/bin/process101
      if [[ ! -x ${process101} ]] ; then
	# This is the "penguin" executable under a different name.
	base64 -d > ${process101} <<EOF
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
FAAAABwAAACo/f//KgAAAAAAAAAAAAAAFAAAAAAAAAABelIAAXgQARsMBwiQAQAAJAAAABwAAAAY
/f//YAAAAAAOEEYOGEoPC3cIgAA/GjsqMyQiAAAAABwAAABEAAAAQP7//38AAAAAQQ4QhgJDDQYC
egwHCAAARAAAAGQAAACg/v//ZQAAAABCDhCPAkUOGI4DRQ4gjQRFDiiMBUgOMIYGSA44gwdNDkBs
DjhBDjBBDihCDiBCDhhCDhBCDggAFAAAAKwAAADI/v//AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAkAVAAAAAAABwBUAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAwAAAAAAAAA
UARAAAAAAAANAAAAAAAAALQGQAAAAAAAGQAAAAAAAAAQDmAAAAAAABsAAAAAAAAACAAAAAAAAAAa
AAAAAAAAABgOYAAAAAAAHAAAAAAAAAAIAAAAAAAAAPX+/28AAAAAmAJAAAAAAAAFAAAAAAAAAEgD
QAAAAAAABgAAAAAAAAC4AkAAAAAAAAoAAAAAAAAASwAAAAAAAAALAAAAAAAAABgAAAAAAAAAFQAA
AAAAAAAAAAAAAAAAAAMAAAAAAAAAABBgAAAAAAACAAAAAAAAAHgAAAAAAAAAFAAAAAAAAAAHAAAA
AAAAABcAAAAAAAAA2ANAAAAAAAAHAAAAAAAAAMADQAAAAAAACAAAAAAAAAAYAAAAAAAAAAkAAAAA
AAAAGAAAAAAAAAD+//9vAAAAAKADQAAAAAAA////bwAAAAABAAAAAAAAAPD//28AAAAAlANAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgOYAAAAAAA
AAAAAAAAAAAAAAAAAAAAAIYEQAAAAAAAlgRAAAAAAACmBEAAAAAAALYEQAAAAAAAxgRAAAAAAAAA
AAAAR0NDOiAoR05VKSA0LjguMiAyMDE0MDEyMCAoUmVkIEhhdCA0LjguMi0xMikAR0NDOiAoR05V
KSA0LjguMiAyMDE0MDEyMCAoUmVkIEhhdCA0LjguMi0xMykAAC5zeW10YWIALnN0cnRhYgAuc2hz
dHJ0YWIALmludGVycAAubm90ZS5BQkktdGFnAC5ub3RlLmdudS5idWlsZC1pZAAuZ251Lmhhc2gA
LmR5bnN5bQAuZHluc3RyAC5nbnUudmVyc2lvbgAuZ251LnZlcnNpb25fcgAucmVsYS5keW4ALnJl
bGEucGx0AC5pbml0AC50ZXh0AC5maW5pAC5yb2RhdGEALmVoX2ZyYW1lX2hkcgAuZWhfZnJhbWUA
LmluaXRfYXJyYXkALmZpbmlfYXJyYXkALmpjcgAuZHluYW1pYwAuZ290AC5nb3QucGx0AC5kYXRh
AC5ic3MALmNvbW1lbnQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGwAAAAEAAAACAAAAAAAAADgCQAAAAAAAOAIAAAAAAAAc
AAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAACMAAAAHAAAAAgAAAAAAAABUAkAAAAAAAFQC
AAAAAAAAIAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAxAAAABwAAAAIAAAAAAAAAdAJA
AAAAAAB0AgAAAAAAACQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAARAAAAPb//28CAAAA
AAAAAJgCQAAAAAAAmAIAAAAAAAAcAAAAAAAAAAUAAAAAAAAACAAAAAAAAAAAAAAAAAAAAE4AAAAL
AAAAAgAAAAAAAAC4AkAAAAAAALgCAAAAAAAAkAAAAAAAAAAGAAAAAQAAAAgAAAAAAAAAGAAAAAAA
AABWAAAAAwAAAAIAAAAAAAAASANAAAAAAABIAwAAAAAAAEsAAAAAAAAAAAAAAAAAAAABAAAAAAAA
AAAAAAAAAAAAXgAAAP///28CAAAAAAAAAJQDQAAAAAAAlAMAAAAAAAAMAAAAAAAAAAUAAAAAAAAA
AgAAAAAAAAACAAAAAAAAAGsAAAD+//9vAgAAAAAAAACgA0AAAAAAAKADAAAAAAAAIAAAAAAAAAAG
AAAAAQAAAAgAAAAAAAAAAAAAAAAAAAB6AAAABAAAAAIAAAAAAAAAwANAAAAAAADAAwAAAAAAABgA
AAAAAAAABQAAAAAAAAAIAAAAAAAAABgAAAAAAAAAhAAAAAQAAAACAAAAAAAAANgDQAAAAAAA2AMA
AAAAAAB4AAAAAAAAAAUAAAAMAAAACAAAAAAAAAAYAAAAAAAAAI4AAAABAAAABgAAAAAAAABQBEAA
AAAAAFAEAAAAAAAAGgAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAACJAAAAAQAAAAYAAAAA
AAAAcARAAAAAAABwBAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAlAAAAAEA
AAAGAAAAAAAAANAEQAAAAAAA0AQAAAAAAADkAQAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAA
AJoAAAABAAAABgAAAAAAAAC0BkAAAAAAALQGAAAAAAAACQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAA
AAAAAAAAAACgAAAAAQAAAAIAAAAAAAAAwAZAAAAAAADABgAAAAAAABAAAAAAAAAAAAAAAAAAAAAI
AAAAAAAAAAAAAAAAAAAAqAAAAAEAAAACAAAAAAAAANAGQAAAAAAA0AYAAAAAAAA0AAAAAAAAAAAA
AAAAAAAABAAAAAAAAAAAAAAAAAAAALYAAAABAAAAAgAAAAAAAAAIB0AAAAAAAAgHAAAAAAAA9AAA
AAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAADAAAAADgAAAAMAAAAAAAAAEA5gAAAAAAAQDgAA
AAAAAAgAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAzAAAAA8AAAADAAAAAAAAABgOYAAA
AAAAGA4AAAAAAAAIAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAANgAAAABAAAAAwAAAAAA
AAAgDmAAAAAAACAOAAAAAAAACAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAADdAAAABgAA
AAMAAAAAAAAAKA5gAAAAAAAoDgAAAAAAANABAAAAAAAABgAAAAAAAAAIAAAAAAAAABAAAAAAAAAA
5gAAAAEAAAADAAAAAAAAAPgPYAAAAAAA+A8AAAAAAAAIAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAI
AAAAAAAAAOsAAAABAAAAAwAAAAAAAAAAEGAAAAAAAAAQAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAgA
AAAAAAAACAAAAAAAAAD0AAAAAQAAAAMAAAAAAAAAQBBgAAAAAABAEAAAAAAAAAQAAAAAAAAAAAAA
AAAAAAAEAAAAAAAAAAAAAAAAAAAA+gAAAAgAAAADAAAAAAAAAEQQYAAAAAAARBAAAAAAAAAEAAAA
AAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAP8AAAABAAAAMAAAAAAAAAAAAAAAAAAAAEQQAAAA
AAAAWgAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAARAAAAAwAAAAAAAAAAAAAAAAAAAAAA
AACeEAAAAAAAAAgBAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAAAAAAAAAA
AAAAAAAAAAAAKBkAAAAAAABIBgAAAAAAAB0AAAAtAAAACAAAAAAAAAAYAAAAAAAAAAkAAAADAAAA
AAAAAAAAAAAAAAAAAAAAAHAfAAAAAAAAYQIAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwABADgCQAAAAAAAAAAAAAAAAAAAAAAAAwACAFQC
QAAAAAAAAAAAAAAAAAAAAAAAAwADAHQCQAAAAAAAAAAAAAAAAAAAAAAAAwAEAJgCQAAAAAAAAAAA
AAAAAAAAAAAAAwAFALgCQAAAAAAAAAAAAAAAAAAAAAAAAwAGAEgDQAAAAAAAAAAAAAAAAAAAAAAA
AwAHAJQDQAAAAAAAAAAAAAAAAAAAAAAAAwAIAKADQAAAAAAAAAAAAAAAAAAAAAAAAwAJAMADQAAA
AAAAAAAAAAAAAAAAAAAAAwAKANgDQAAAAAAAAAAAAAAAAAAAAAAAAwALAFAEQAAAAAAAAAAAAAAA
AAAAAAAAAwAMAHAEQAAAAAAAAAAAAAAAAAAAAAAAAwANANAEQAAAAAAAAAAAAAAAAAAAAAAAAwAO
ALQGQAAAAAAAAAAAAAAAAAAAAAAAAwAPAMAGQAAAAAAAAAAAAAAAAAAAAAAAAwAQANAGQAAAAAAA
AAAAAAAAAAAAAAAAAwARAAgHQAAAAAAAAAAAAAAAAAAAAAAAAwASABAOYAAAAAAAAAAAAAAAAAAA
AAAAAwATABgOYAAAAAAAAAAAAAAAAAAAAAAAAwAUACAOYAAAAAAAAAAAAAAAAAAAAAAAAwAVACgO
YAAAAAAAAAAAAAAAAAAAAAAAAwAWAPgPYAAAAAAAAAAAAAAAAAAAAAAAAwAXAAAQYAAAAAAAAAAA
AAAAAAAAAAAAAwAYAEAQYAAAAAAAAAAAAAAAAAAAAAAAAwAZAEQQYAAAAAAAAAAAAAAAAAAAAAAA
AwAaAAAAAAAAAAAAAAAAAAAAAAABAAAABADx/wAAAAAAAAAAAAAAAAAAAAAMAAAAAQAUACAOYAAA
AAAAAAAAAAAAAAAZAAAAAgANAAAFQAAAAAAAAAAAAAAAAAAuAAAAAgANADAFQAAAAAAAAAAAAAAA
AABBAAAAAgANAHAFQAAAAAAAAAAAAAAAAABXAAAAAQAZAEQQYAAAAAAAAQAAAAAAAABmAAAAAQAT
ABgOYAAAAAAAAAAAAAAAAACNAAAAAgANAJAFQAAAAAAAAAAAAAAAAACZAAAAAQASABAOYAAAAAAA
AAAAAAAAAAC4AAAABADx/wAAAAAAAAAAAAAAAAAAAAABAAAABADx/wAAAAAAAAAAAAAAAAAAAADC
AAAAAQARAPgHQAAAAAAAAAAAAAAAAADQAAAAAQAUACAOYAAAAAAAAAAAAAAAAAAAAAAABADx/wAA
AAAAAAAAAAAAAAAAAADcAAAAAAASABgOYAAAAAAAAAAAAAAAAADtAAAAAQAVACgOYAAAAAAAAAAA
AAAAAAD2AAAAAAASABAOYAAAAAAAAAAAAAAAAAAJAQAAAQAXAAAQYAAAAAAAAAAAAAAAAAAfAQAA
EgANALAGQAAAAAAAAgAAAAAAAAAvAQAAIAAAAAAAAAAAAAAAAAAAAAAAAABLAQAAIAAYAEAQYAAA
AAAAAAAAAAAAAABWAQAAEAAYAEQQYAAAAAAAAAAAAAAAAABdAQAAEgAOALQGQAAAAAAAAAAAAAAA
AABjAQAAEgAAAAAAAAAAAAAAAAAAAAAAAACCAQAAEAAYAEAQYAAAAAAAAAAAAAAAAACPAQAAIAAA
AAAAAAAAAAAAAAAAAAAAAACeAQAAEQIPAMgGQAAAAAAAAAAAAAAAAACrAQAAEQAPAMAGQAAAAAAA
BAAAAAAAAAC6AQAAEgANAEAGQAAAAAAAZQAAAAAAAADKAQAAEgAAAAAAAAAAAAAAAAAAAAAAAADe
AQAAEAAZAEgQYAAAAAAAAAAAAAAAAADjAQAAEgANANAEQAAAAAAAAAAAAAAAAADqAQAAEAAZAEQQ
YAAAAAAAAAAAAAAAAAD2AQAAEgANAMAFQAAAAAAAfwAAAAAAAAD7AQAAIAAAAAAAAAAAAAAAAAAA
AAAAAAAPAgAAEQIYAEgQYAAAAAAAAAAAAAAAAAAbAgAAIAAAAAAAAAAAAAAAAAAAAAAAAAA1AgAA
EgALAFAEQAAAAAAAAAAAAAAAAAA7AgAAEgAAAAAAAAAAAAAAAAAAAAAAAABNAgAAEgAAAAAAAAAA
AAAAAAAAAAAAAAAAY3J0c3R1ZmYuYwBfX0pDUl9MSVNUX18AZGVyZWdpc3Rlcl90bV9jbG9uZXMA
cmVnaXN0ZXJfdG1fY2xvbmVzAF9fZG9fZ2xvYmFsX2R0b3JzX2F1eABjb21wbGV0ZWQuNjMzMwBf
X2RvX2dsb2JhbF9kdG9yc19hdXhfZmluaV9hcnJheV9lbnRyeQBmcmFtZV9kdW1teQBfX2ZyYW1l
X2R1bW15X2luaXRfYXJyYXlfZW50cnkAcGVuZ3Vpbi5jAF9fRlJBTUVfRU5EX18AX19KQ1JfRU5E
X18AX19pbml0X2FycmF5X2VuZABfRFlOQU1JQwBfX2luaXRfYXJyYXlfc3RhcnQAX0dMT0JBTF9P
RkZTRVRfVEFCTEVfAF9fbGliY19jc3VfZmluaQBfSVRNX2RlcmVnaXN0ZXJUTUNsb25lVGFibGUA
ZGF0YV9zdGFydABfZWRhdGEAX2ZpbmkAX19saWJjX3N0YXJ0X21haW5AQEdMSUJDXzIuMi41AF9f
ZGF0YV9zdGFydABfX2dtb25fc3RhcnRfXwBfX2Rzb19oYW5kbGUAX0lPX3N0ZGluX3VzZWQAX19s
aWJjX2NzdV9pbml0AG1hbGxvY0BAR0xJQkNfMi4yLjUAX2VuZABfc3RhcnQAX19ic3Nfc3RhcnQA
bWFpbgBfSnZfUmVnaXN0ZXJDbGFzc2VzAF9fVE1DX0VORF9fAF9JVE1fcmVnaXN0ZXJUTUNsb25l
VGFibGUAX2luaXQAZm9ya0BAR0xJQkNfMi4yLjUAdXNsZWVwQEBHTElCQ18yLjIuNQA=
EOF
	chmod 755 ${process101}
      fi

      # Kill processes if they exist from previous attempts.
      # Multiple process101 processes were started in the last practice;
      # also ensure they are killed to avoid resource contention here. 
      killall -q process101

      echo "done!"
      ;;
    *)
      # Should never get here, but what the hey....
      print_FAIL && echo "The setup script needs to be run on server"
      ;;
  esac
}

# Main area

# Check if to be run as root (must do this first)
if [[ "${RUN_AS_ROOT}" == 'true' ]] && [[ "${EUID}" -gt "0" ]] ; then
  if [[ -x /usr/bin/sudo ]] ; then
    ${SUDO:-sudo} $0 "$@"
    exit
  else
    # Fail out if not running as root
    check_root
  fi
fi

# Process command line
# Parse input
case $1 in
    setup)
        CMD=$1
        ;;
    -h|--help)
        print_usage
        exit 0
        ;;
    *)
        echo Bad option $1
        print_usage
        exit 1
        ;;
esac
# Validation
[ -z "$CMD" ] && debug "Missing command" && print_usage && exit 1

# Get local system information
get_X

# Branch based on short (without number) hostname
case $MYHOST in
    desktop|server)
        lab_$CMD $MYHOST
        ;;
    *)
        debug "Bad or missing hostname - $MYHOST"
        debug "This command needs to be run on desktop or server"
        exit 3
        ;;
esac
