Remove unused eg_startup template file. Re-add eg_vhost.
authorChris Sharp <csharp@georgialibraries.org>
Sat, 16 Oct 2021 18:20:34 +0000 (14:20 -0400)
committerChris Sharp <csharp@georgialibraries.org>
Sat, 16 Oct 2021 18:20:34 +0000 (14:20 -0400)
GenaSYS.sh
templates/apache2/eg_startup [deleted file]
templates/apache2/eg_vhost.conf [new file with mode: 0644]
templates/setup-head.sh

index b1d6314..b0c7d17 100755 (executable)
@@ -40,18 +40,18 @@ echo ; echo >&2 "Usage: $0 [-c config file] [-h] help" ; echo
 }
 
 dont_waste_my_time() {
-       sleep() {
-               true
-       }
+    sleep() {
+        true
+    }
 }
 while getopts c:nhd OPTIONS
-do     case "$OPTIONS" in
-       c)      CONFIG_FILE="$OPTARG";;
-       n)      NOSPLASH="1";;
-       d)      NOSPLASH="1";BLOW_PAST="1";dont_waste_my_time;;
-       h)      Usage ; exit 1;;
-       [?])    Usage ; exit 2;;
-       esac
+do    case "$OPTIONS" in
+    c)    CONFIG_FILE="$OPTARG";;
+    n)    NOSPLASH="1";;
+    d)    NOSPLASH="1";BLOW_PAST="1";dont_waste_my_time;;
+    h)    Usage ; exit 1;;
+    [?])    Usage ; exit 2;;
+    esac
 done
 
 
@@ -89,15 +89,15 @@ export TERM=xterm-256color
 
 if [ -e ${TMPFOLDER} ] 
 then
-       rm -rf ${TMPFOLDER} || sudo rm -rf ${TMPFOLDER}
-       mkdir -p ${TMPFOLDER}
+    rm -rf ${TMPFOLDER} || sudo rm -rf ${TMPFOLDER}
+    mkdir -p ${TMPFOLDER}
 else
-       mkdir -p ${TMPFOLDER}
+    mkdir -p ${TMPFOLDER}
 fi
 
 if [ ! -e ${WD}/ssl_cert ] 
-       then
-       mkdir ${WD}ssl_cert
+    then
+    mkdir ${WD}ssl_cert
 fi
 #TMPBRICKDRONES="/tmp/tmpbricknodes"
 
@@ -206,11 +206,11 @@ echo
 #echo -e $COL_BR_BLUE"${CHAR}x${TEXT}                                                          ${CHAR}x${TEXT}"
 #echo -e "${CHAR}x${TEXT}$COL_RESET Georgia PINES Evergreen $EG_VERSION Cluster configuration.     $COL_BR_BLUE${CHAR}x${TEXT}"
 #echo -e "${CHAR}x${TEXT}                                                          ${CHAR}x${TEXT}"
-#echo -e $COL_BR_BLUE"${CHAR}x${TEXT}$COL_RESET Welcome to GenaSYS for Evergreen $EG_VERSION               $COL_BR_BLUE${CHAR}x${TEXT}"
+#echo -e $COL_BR_BLUE"${CHAR}x${TEXT}$COL_RESET Welcome to GenaSYS for Evergreen $EG_VERSION            $COL_BR_BLUE${CHAR}x${TEXT}"
 #echo -e ${CHAR}x${TEXT}"$COL_RESET This program will ask you a few questions then generate  $COL_BR_BLUE${CHAR}x${TEXT}"
 #echo -e ${CHAR}x${TEXT}"$COL_RESET all the system config files needed for a standard        $COL_BR_BLUE${CHAR}x${TEXT}"
-#echo -e ${CHAR}x${TEXT}"$COL_RESET distributed installation of Evergreen $EG_VERSION              $COL_BR_BLUE${CHAR}x${TEXT}"
-#echo -e ${CHAR}x${TEXT}"                                                         ${CHAR}x${TEXT}"
+#echo -e ${CHAR}x${TEXT}"$COL_RESET distributed installation of Evergreen $EG_VERSION                $COL_BR_BLUE${CHAR}x${TEXT}"
+#echo -e ${CHAR}x${TEXT}"                               ${CHAR}x${TEXT}"
 #echo -e ${COL_BR_BLUE}${CHAR}"maaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaj"${COL_RESET}${TEXT}
 BoxTitleBar GenaSYS
 echo 
@@ -317,18 +317,18 @@ done
 if [ "$TEST_CLUSTER" = "y" ] || [ "$TEST_CLUSTER" = "Y" ]
         then
         echo 
-       echo "You selected test cluster.  There are times when setting up a test environment"
-       echo "that it is desired to dis-allow access to / by all user-agents with a robots.txt"
-       echo
-       while true; do
-       echo
+    echo "You selected test cluster.  There are times when setting up a test environment"
+    echo "that it is desired to dis-allow access to / by all user-agents with a robots.txt"
+    echo
+    while true; do
+    echo
         read -n 1 -p "Dis-allow access to / by all user-agents with robots.txt?. [y/n] : " ROBOTS_TXT
-               case $ROBOTS_TXT in
-                       [Yy]* ) echo ; break;;
-                       [Nn]* ) echo ; break;;
-                       * ) echo " Please answer yes or no.";;
-               esac
-       done
+            case $ROBOTS_TXT in
+            [Yy]* ) echo ; break;;
+            [Nn]* ) echo ; break;;
+            * ) echo " Please answer yes or no.";;
+        esac
+    done
 fi
 }
 
@@ -399,14 +399,14 @@ while true; do
     esac
 done
 if [ "$USE_HOSTNAME_PREFIX" = "y" ] || [ "$USE_HOSTNAME_PREFIX" = "Y" ]
-       then
-       echo
-       echo -e $COL_BR_CYAN
-       read -p "Enter the hostname prefix eg. test : " HOSTNAME_PREFIX
-       echo -e $COL_RESET
-       echo 
-       echo -e "The hostname prefix $COL_BR_YELLOW $HOSTNAME_PREFIX $COL_RESET will be used."
-       echo
+    then
+    echo
+    echo -e $COL_BR_CYAN
+    read -p "Enter the hostname prefix eg. test : " HOSTNAME_PREFIX
+    echo -e $COL_RESET
+    echo 
+    echo -e "The hostname prefix $COL_BR_YELLOW $HOSTNAME_PREFIX $COL_RESET will be used."
+    echo
 fi
 }
 
@@ -456,56 +456,56 @@ done
 }
 
 Generate_SSL_Cert () { ### Generate SSL Certificate.
-       mkdir -p "${OUTDIR}/ssl_cert"
-       echo
-       echo -e $COL_BR_BLUE"Generating self-signed certificate"${COL_RESET}
-       sleep 1
-       if ! which openssl >/dev/null
-               then
-               echo
-               echo "openssl command not found - please install openssl"
-               read -p "then press [Enter] to continue" ENTER
-               echo
-               cd "${CERT_DIR}"
+    mkdir -p "${OUTDIR}/ssl_cert"
+    echo
+    echo -e $COL_BR_BLUE"Generating self-signed certificate"${COL_RESET}
+    sleep 1
+    if ! which openssl >/dev/null
+        then
+        echo
+        echo "openssl command not found - please install openssl"
+        read -p "then press [Enter] to continue" ENTER
+        echo
+        cd "${CERT_DIR}"
                 openssl req -new -x509 -days 365 -nodes -out server.crt -keyout server.key -subj "/CN=$CLUSTERDOMAINNAME"
-               echo;echo;echo "Certificate for $CLUSTERDOMAINNAME"
-               openssl x509 -in server.crt -text -noout
-               openssl dhparam -out dhparams.pem 2048
-               sleep 2
-               cd "${WD}"
-                       else
-                       echo
-                       cd "${CERT_DIR}"
-                       openssl req -new -x509 -days 365 -nodes -out server.crt -keyout server.key -subj "/CN=$CLUSTERDOMAINNAME"
-                       echo;echo;echo "Certificate for $CLUSTERDOMAINNAME"
-                       openssl x509 -in server.crt -text -noout
-                       openssl dhparam -out dhparams.pem 2048
-                       sleep 2
-                       cd "${WD}"
-       fi      
+        echo;echo;echo "Certificate for $CLUSTERDOMAINNAME"
+        openssl x509 -in server.crt -text -noout
+        openssl dhparam -out dhparams.pem 2048
+        sleep 2
+        cd "${WD}"
+            else
+            echo
+            cd "${CERT_DIR}"
+            openssl req -new -x509 -days 365 -nodes -out server.crt -keyout server.key -subj "/CN=$CLUSTERDOMAINNAME"
+            echo;echo;echo "Certificate for $CLUSTERDOMAINNAME"
+            openssl x509 -in server.crt -text -noout
+            openssl dhparam -out dhparams.pem 2048
+            sleep 2
+            cd "${WD}"
+    fi    
 }
 
 
 Use_CA_Cert () { ### Configure with CA Certificate
-               if [ -e "${WD}/ssl_cert/server.key" ] && [ -e "${WD}/ssl_cert/server.crt" ]
-                       then
-                       CERT_DIR="${WD}/ssl_cert"
-                       echo
-                       echo -e $COL_BR_BLUE"Using certificate files found in"$COL_RESET $COL_YELLOW"${CERT_DIR}"$COL_RESET
-                       sleep 1
-                       #openssl x509 -in $CERT_DIR/server.crt -text -noout
-                       #sleep 2
-                       CA_FILES_EXIST="y"
-                               else
-                               echo
-                               echo "The files server.crt and server.key are not found in ${WD}/ssl_cert."
-                               echo "You must include both files."
-                               echo "please copy the certificate files to ${WD}/ssl_cert"
-                               echo "and run this program again."
-                               echo "Exiting...."
-                               exit 4
-               fi
-               
+        if [ -e "${WD}/ssl_cert/server.key" ] && [ -e "${WD}/ssl_cert/server.crt" ]
+            then
+            CERT_DIR="${WD}/ssl_cert"
+            echo
+            echo -e $COL_BR_BLUE"Using certificate files found in"$COL_RESET $COL_YELLOW"${CERT_DIR}"$COL_RESET
+            sleep 1
+            #openssl x509 -in $CERT_DIR/server.crt -text -noout
+            #sleep 2
+            CA_FILES_EXIST="y"
+                else
+                echo
+                echo "The files server.crt and server.key are not found in ${WD}/ssl_cert."
+                echo "You must include both files."
+                echo "please copy the certificate files to ${WD}/ssl_cert"
+                echo "and run this program again."
+                echo "Exiting...."
+                exit 4
+        fi
+        
         
 }
 
@@ -527,23 +527,23 @@ done
 
 Get_Drone_Config () { ### Choose seperate or integrated drones
 while true; do
-       read -n 1 -p "Do you want to use separate drone servers in this configuration? [y/n]: " USEDRONES
-       case $USEDRONES in
-               [Yy]* ) echo ; break;;
-               [Nn]* ) echo ; break;;
-               * ) echo " Please answer yes or no.";;
-       esac
+    read -n 1 -p "Do you want to use separate drone servers in this configuration? [y/n]: " USEDRONES
+    case $USEDRONES in
+        [Yy]* ) echo ; break;;
+        [Nn]* ) echo ; break;;
+        * ) echo " Please answer yes or no.";;
+    esac
 done
 }
 
 Get_Drone_Count () { ### Get the number of drones
 while true; do
-       echo
-       read -n 1 -p "How many drones per brick would you like to configure? [1-9] : " DRONECOUNT
-       case $DRONECOUNT in
-               [1-9]* ) echo ; break;;
-               * ) echo " Please enter a number between [1-9].";;
-       esac
+    echo
+    read -n 1 -p "How many drones per brick would you like to configure? [1-9] : " DRONECOUNT
+    case $DRONECOUNT in
+        [1-9]* ) echo ; break;;
+        * ) echo " Please enter a number between [1-9].";;
+    esac
 done
 }
 
@@ -561,16 +561,16 @@ Ask_Use_Manual_Brick_Addresses () { ### Prompt to use manually assigned address
 echo;echo
 TitleBar "Brick IP Addresses"
 while true; do
-       echo
-       echo -e "By default GenaSYS will generate the IP addresses for the bricks in this cluster."
-       echo "If you choose [n] here you will be prompted to enter the IP address for each brick in the cluster."
-       echo "   **Note that seperate drone servers are not supported if you enter IPs for the bricks manually."
-       echo -e "Do you want GenaSYS to generate the IP addresses for the bricks?"
-       echo -en $COL_BR_CYAN
-       read -n 1 -p "[y/n] :" GENERATE_BRICKS_IPS
-       echo -e $COL_RESET
-       case $GENERATE_BRICKS_IPS in
-               [Yy]* ) echo ; break;;
+    echo
+    echo -e "By default GenaSYS will generate the IP addresses for the bricks in this cluster."
+    echo "If you choose [n] here you will be prompted to enter the IP address for each brick in the cluster."
+    echo "   **Note that seperate drone servers are not supported if you enter IPs for the bricks manually."
+    echo -e "Do you want GenaSYS to generate the IP addresses for the bricks?"
+    echo -en $COL_BR_CYAN
+    read -n 1 -p "[y/n] :" GENERATE_BRICKS_IPS
+    echo -e $COL_RESET
+    case $GENERATE_BRICKS_IPS in
+        [Yy]* ) echo ; break;;
                 [Nn]* ) echo ; break;;
                 * ) echo " Please answer yes or no.";;
         esac
@@ -582,8 +582,8 @@ Get_Brick_IP_Addresses () { ### Get IP addresses for the bricks.
 for BRICK in $(seq $BRICKCOUNT)
 do
         read -p "Enter the IP for brick0${BRICK}-head: " MANUAL_BRICK_IP_0${BRICK}
-       eval echo "Using IP address \$MANUAL_BRICK_IP_0${BRICK} for brick0${BRICK}-head."
-       echo
+    eval echo "Using IP address \$MANUAL_BRICK_IP_0${BRICK} for brick0${BRICK}-head."
+    echo
 done
 }
 
@@ -620,10 +620,10 @@ done
 echo -e $COL_RESET
 echo
 #if [  "$USE_HOSTNAME_PREFIX" = "y" ] || [ "$USE_HOSTNAME_PREFIX" = "Y" ]
-#      then
-#              REPORTS_NFS_HOSTNAME="${HOSTNAME_PREFIX}-${CHOSEN_REPORTS_NFS_HOSTNAME}"
-#      else
-#              REPORTS_NFS_HOSTNAME="${CHOSEN_REPORTS_NFS_HOSTNAME}"
+#    then
+#        REPORTS_NFS_HOSTNAME="${HOSTNAME_PREFIX}-${CHOSEN_REPORTS_NFS_HOSTNAME}"
+#    else
+#        REPORTS_NFS_HOSTNAME="${CHOSEN_REPORTS_NFS_HOSTNAME}"
 #fi
 echo;echo -e $COL_BR_BLUE"Setting up reports output NFS share on"$COL_RESET $COL_BR_GREEN"${CHOSEN_REPORTS_NFS_HOSTNAME}.${CLUSTERDOMAINNAME}"$COL_RESET
 sleep 2
@@ -642,7 +642,7 @@ read -sp "Enter OpenSRF Password: " OPENSRF_PASSWORD
 while [ "$OPENSRF_PASSWORD" = "" ]
         do
         echo
-       MORON="1"
+    MORON="1"
         echo -e $COL_BR_RED"Cannot be blank - you must enter a password"$COL_RESET
         read -sp "Enter the opensrf password: " OPENSRF_PASSWORD
 done
@@ -664,32 +664,32 @@ echo
 read -sp "Enter the database password: " DATABASE_PASSWORD
 while [ "$DATABASE_PASSWORD" = "" ]
         do
-       if [ "$MORON" = "1" ]
-               then
-               echo
-               echo "Cannot be blank you - must enter a password"
-               sleep 1
-               echo "are you a moron?"
-               sleep 3
-               echo
-               echo "Lets try this again shall we?"
-               sleep 3
-               echo "Try not to be a moron this time"
-               sleep 2
-               read -sp "Enter the database password: " DATABASE_PASSWORD
-                       else
-                       echo
-                       MORON=1
-                       echo -e $COL_BR_RED"Cannot be blank you must enter a password"$COL_RESET
-                       read -sp "Enter the database password: " DATABASE_PASSWORD
-       fi
+    if [ "$MORON" = "1" ]
+        then
+        echo
+            echo "Cannot be blank you - must enter a password"
+        sleep 1
+            echo "are you a moron?"
+        sleep 3
+            echo
+        echo "Lets try this again shall we?"
+        sleep 3
+        echo "Try not to be a moron this time"
+        sleep 2
+            read -sp "Enter the database password: " DATABASE_PASSWORD
+            else
+            echo
+            MORON=1
+            echo -e $COL_BR_RED"Cannot be blank you must enter a password"$COL_RESET
+            read -sp "Enter the database password: " DATABASE_PASSWORD
+    fi
 done
 echo
 read -sp "Confirm the database password: " DATABASE_PASSWORD_CONFIRM
 while [ "$DATABASE_PASSWORD_CONFIRM" = "" ]
         do
-       echo -e $COL_BR_RED"Cannot be blank you must enter a password"$COL_RESET
-       read -sp "Confirm the database password: " DATABASE_PASSWORD_CONFIRM
+    echo -e $COL_BR_RED"Cannot be blank you must enter a password"$COL_RESET
+    read -sp "Confirm the database password: " DATABASE_PASSWORD_CONFIRM
 done
 }
 
@@ -705,16 +705,16 @@ Get_EG_Admin_Password () { ### Prompt for Evergreen admin password.
 echo
 read -sp "Enter the Evergreen Administrator Password: " EG_ADMIN_PASSWORD
 while [ "$EG_ADMIN_PASSWORD" = "" ]
-       do 
-       echo
-       echo -e $COL_BR_RED"Cannot be blank you must enter a password"$COL_RESET
-       read -sp "Enter the Evergreen Administrator Password: " EG_ADMIN_PASSWORD
+    do 
+    echo
+    echo -e $COL_BR_RED"Cannot be blank you must enter a password"$COL_RESET
+    read -sp "Enter the Evergreen Administrator Password: " EG_ADMIN_PASSWORD
 done
 echo
 read -sp "Confirm the Evergreen Administrator Password: " EG_ADMIN_PASSWORD_CONFIRM
 while [ "$EG_ADMIN_PASSWORD_CONFIRM" == "" ]
-       do
-       echo -e $COL_BR_RED"Cannot be blank you must enter a password"$COL_RESET
+    do
+    echo -e $COL_BR_RED"Cannot be blank you must enter a password"$COL_RESET
         read -sp "Enter the Evergreen Administrator Password: " EG_ADMIN_PASSWORD_CONFIRM
 done
 }
@@ -820,15 +820,15 @@ sleep 1
 echo
 if [ "$USE_STANDARD_PRIVATE_NETWORK" = "y" ] || [ "$USE_STANDARD_PRIVATE_NETWORK" = "Y" ] 
 then
-       PRIVATENET_GATEWAY="${PRIVATENET}.1"
+    PRIVATENET_GATEWAY="${PRIVATENET}.1"
 else
-       echo -e "Enter the gateway address for the" ${COL_BR_GREEN}"private network"${COL_RESET} "network" "(${COL_BR_GREEN}${PRIVATENET}${COL_RESET}): "
-       echo -e $COL_BR_CYAN
-       read -p "eg. ${PRIVATENET}.1 >> " PRIVATENET_GATEWAY
-       [ -z "$PRIVATENET_GATEWAY" ] && PRIVATENET_GATEWAY="${PRIVATENET}.1"
-       echo "Using $PRIVATENET_GATEWAY"
-       echo -e $COL_RESET
-       sleep 1
+    echo -e "Enter the gateway address for the" ${COL_BR_GREEN}"private network"${COL_RESET} "network" "(${COL_BR_GREEN}${PRIVATENET}${COL_RESET}): "
+    echo -e $COL_BR_CYAN
+    read -p "eg. ${PRIVATENET}.1 >> " PRIVATENET_GATEWAY
+    [ -z "$PRIVATENET_GATEWAY" ] && PRIVATENET_GATEWAY="${PRIVATENET}.1"
+    echo "Using $PRIVATENET_GATEWAY"
+    echo -e $COL_RESET
+    sleep 1
 fi
 }
 
@@ -851,12 +851,12 @@ done
 Get_Private_Net () { ### Get Private Network Configuration.
 if [ "$USE_STANDARD_PRIVATE_NETWORK" != "y" ]
         then
-       echo
-       echo "Enter the first 3 octets of the private network ip address for the cluster : "
-       echo -en $COL_BR_CYAN
+    echo
+    echo "Enter the first 3 octets of the private network ip address for the cluster : "
+    echo -en $COL_BR_CYAN
         read -p "eg. 192.168.1   Private Network IP: " PRIVATENET
-       ORIGIN_PRIVATENET="$PRIVATENET"
-       echo -e $COL_RESET
+    ORIGIN_PRIVATENET="$PRIVATENET"
+    echo -e $COL_RESET
                 echo
                 echo -e "The network IP" $COL_BR_YELLOW "${PRIVATENET}.0/24" $COL_RESET "will be used for the private network."
                 echo
@@ -951,10 +951,10 @@ echo
 
 Get_Use_Syndetics () { ### Choose Syndetics for added content.
 while true; do
-       echo;echo;echo;echo
-       #echo -e $COL_BR_BLUE"____________________Added Content____________________"$COL_RESET
-       TitleBar "Added Content"
-       echo 
+    echo;echo;echo;echo
+    #echo -e $COL_BR_BLUE"____________________Added Content____________________"$COL_RESET
+    TitleBar "Added Content"
+    echo 
         read -n 1 -p "Do you want to use Syndetics for added content? [y/n]: " USE_SYNDETICS
         case $USE_SYNDETICS in
                 [Yy]* ) echo ; break;;
@@ -1034,9 +1034,9 @@ echo "In order to configure monitoring for the cluster,"
 echo "(Icinga/Nagios, PhP4Nagios, and Munin) we need to"
 echo "configure the admin credentials and email contact."
 read -p "Enter a monitoring admin username. eg monitoradmin: " MONITOR_ADMIN_USERNAME
-       [ -z "$MONITOR_ADMIN_USERNAME" ] && MONITOR_ADMIN_USERNAME="monitoradmin"
-       echo
-       echo -e "Setting the monitor admin username to: "$COL_BR_CYAN"$MONITOR_ADMIN_USERNAME"$COL_RESET
+    [ -z "$MONITOR_ADMIN_USERNAME" ] && MONITOR_ADMIN_USERNAME="monitoradmin"
+    echo
+    echo -e "Setting the monitor admin username to: "$COL_BR_CYAN"$MONITOR_ADMIN_USERNAME"$COL_RESET
 echo
 }
 
@@ -1068,8 +1068,8 @@ echo "to recieve alerts from the monitoring servers."
 read -p "Enter notification email address: " NOTIFY_EMAIL_ADDRESS
 while [ "$NOTIFY_EMAIL_ADDRESS" = "" ]
 do
-       echo -e $COL_BR_RED"Cannot be blank you must enter an email address"$COL_RESET
-       read -p "Enter notification email address: " NOTIFY_EMAIL_ADDRESS
+    echo -e $COL_BR_RED"Cannot be blank you must enter an email address"$COL_RESET
+    read -p "Enter notification email address: " NOTIFY_EMAIL_ADDRESS
 done
 echo 
 echo "Using $NOTIFY_EMAIL_ADDRESS for monitoring alerts"
@@ -1077,20 +1077,20 @@ echo "Using $NOTIFY_EMAIL_ADDRESS for monitoring alerts"
 
 Confirm_Input () { ### Confirm input. Correct? [y/n]
 while true; do
-       read -n 1 -p "Is this correct? [y/n] : " RETRY
-       case $RETRY in
-               [Yy]* ) echo ; break;;
-               [Nn]* ) $@;;
-               * ) echo " Please choose [y] or [n].";;
-       esac
+    read -n 1 -p "Is this correct? [y/n] : " RETRY
+    case $RETRY in
+        [Yy]* ) echo ; break;;
+        [Nn]* ) $@;;
+        * ) echo " Please choose [y] or [n].";;
+    esac
 done
 }
 
 Confirm_Input_Continue () { ### Confirm input. Continue [y/n]
 while true; do
-       echo -e $COL_BR_CYAN
+    echo -e $COL_BR_CYAN
         read -n 1 -p "(C)ontinue? (R)etry [c/r] : " RETRY
-       echo -e $COL_RESET
+    echo -e $COL_RESET
         case $RETRY in
                 [Cc]* ) echo ; break;;
                 [Rr]* ) $@;;
@@ -1101,10 +1101,10 @@ done
 
 Confirm_Password () { ### Confirm Password 
 while [ $(eval echo "$1") != $(eval echo "$2") ]
-       do
-       echo -e $COL_BR_RED"Passwords do not match"$COL_RESET
-       sleep 2
-       $3
+    do
+    echo -e $COL_BR_RED"Passwords do not match"$COL_RESET
+    sleep 2
+    $3
 done
 }
 
@@ -1128,26 +1128,26 @@ Run_Functions_For_Input () {
 ### If config file exist then use it.
 if [ -e "$CONFIG_FILE" ]  
 then
-       CONFIG_VERSION="$(cat "$CONFIG_FILE" | grep "CONFIG_VERSION" | awk -F"=" '{ print $2 }')" 
-       if [ ! -z "$CONFIG_VERSION" ] && [ "$CONFIG_VERSION" -ge "$MIN_CONFIG_VERSION" ] 
-       then
-               . "$CONFIG_FILE"
-       
-               USE_CONFIG_FILE="1"
-               echo
-               echo -e $COL_BR_BLUE"Using config file:"$COL_RESET $COL_BR_GREEN"$CONFIG_FILE"$COL_RESET
-               echo
-               sleep 3
-       else
-       echo;echo;echo;echo
-       echo "*** Config version is incompatible."
-       echo "Running without the config switch will"
-       echo "create a new compatible configuration file."
-       USE_CONFIG_FILE="0"
-       read -p "Press [Enter] to start."
-       fi
+    CONFIG_VERSION="$(cat "$CONFIG_FILE" | grep "CONFIG_VERSION" | awk -F"=" '{ print $2 }')" 
+    if [ ! -z "$CONFIG_VERSION" ] && [ "$CONFIG_VERSION" -ge "$MIN_CONFIG_VERSION" ] 
+    then
+        . "$CONFIG_FILE"
+    
+        USE_CONFIG_FILE="1"
+        echo
+        echo -e $COL_BR_BLUE"Using config file:"$COL_RESET $COL_BR_GREEN"$CONFIG_FILE"$COL_RESET
+        echo
+        sleep 3
+    else
+    echo;echo;echo;echo
+    echo "*** Config version is incompatible."
+    echo "Running without the config switch will"
+    echo "create a new compatible configuration file."
+    USE_CONFIG_FILE="0"
+    read -p "Press [Enter] to start."
+    fi
 else
-       USE_CONFIG_FILE="0"
+    USE_CONFIG_FILE="0"
 fi
 
 
@@ -1166,13 +1166,13 @@ if [ -z $CLUSTERDOMAINNAME ] || [ "$USE_CONFIG_FILE" == "0" ] ; then
 Choose_Detected_Domain_Name
 
 ### prompt for domain info if chosen
-       if [ "$USE_DETECTED_DOMAIN" != "y" ]
-               then
-               Get_Domain_Name
-               Confirm_Input Get_Domain_Name
-                       else
-                       CLUSTERDOMAINNAME="$(hostname -d)"
-       fi
+    if [ "$USE_DETECTED_DOMAIN" != "y" ]
+            then
+        Get_Domain_Name
+        Confirm_Input Get_Domain_Name
+                    else
+                    CLUSTERDOMAINNAME="$(hostname -d)"
+    fi
 fi
 
 ### Set output directory.
@@ -1206,10 +1206,10 @@ Write_Config_File CLUSTERDOMAINNAME
 ### Prompt to get hostname prefix
 if [ -z "$USE_HOSTNAME_PREFIX" ] || [ "$USE_CONFIG_FILE" == "0" ]
 then
-       if [ -z "$HOSTNAME_PREFIX" ] || [ "$USE_CONFIG_FILE" == "0" ]
+    if [ -z "$HOSTNAME_PREFIX" ] || [ "$USE_CONFIG_FILE" == "0" ]
         then
-               Get_Hostname_Prefix
-       fi
+            Get_Hostname_Prefix
+    fi
 fi
 Write_Config_File USE_HOSTNAME_PREFIX
 Write_Config_File HOSTNAME_PREFIX
@@ -1217,52 +1217,52 @@ Write_Config_File HOSTNAME_PREFIX
 
 if [ -z "$USE_DATABASE_PREFIX" ] || [ "$USE_CONFIG_FILE" == "0" ]
 then 
-       if [ "$USE_HOSTNAME_PREFIX" = "y" ] || [ "$USE_HOSTNAME_PREFIX" = "Y" ]
-       then
-               Ask_Database_Prefix
-       fi
+    if [ "$USE_HOSTNAME_PREFIX" = "y" ] || [ "$USE_HOSTNAME_PREFIX" = "Y" ]
+    then
+        Ask_Database_Prefix
+    fi
 fi
 Write_Config_File USE_DATABASE_PREFIX
 
 if [ -z $USE_CA_CERT ]  || [ "$USE_CONFIG_FILE" == "0" ] 
 then
-       Choose_SSL_Cert
+    Choose_SSL_Cert
 fi
 #echo "USE_CA_CERT=\"$USE_CA_CERT\"" >> $NEW_CONFIG_FILE
 Write_Config_File USE_CA_CERT
 
 if [ "$USE_CA_CERT" == "N" ] || [ "$USE_CA_CERT" == "n" ]
 then
-       Generate_SSL_Cert
+    Generate_SSL_Cert
 else
-       Use_CA_Cert
+    Use_CA_Cert
 fi
 
 
 if [ -z $USE_STANDARD_HEAD_CONFIG ] || [ "$USE_CONFIG_FILE" == "0" ] 
 then
-       Get_Brick_Layout
+    Get_Brick_Layout
 fi
 Write_Config_File USE_STANDARD_HEAD_CONFIG
 
 ### Prompt for # of drones per brick.
 if [ "$USE_STANDARD_HEAD_CONFIG" = "n" ] || [ "$USE_STANDARD_HEAD_CONFIG" = "N" ]
 then
-       if [ -z $USEDRONES ] || [ "$USE_CONFIG_FILE" == "0" ] 
-       then
-               Get_Drone_Config
-       fi
+    if [ -z $USEDRONES ] || [ "$USE_CONFIG_FILE" == "0" ] 
+    then
+            Get_Drone_Config
+    fi
 
         if [ "$USEDRONES" == "Y" ] || [ "$USEDRONES" == "y" ]
-       then
-               if [ -z $DRONECOUNT ] || [ "$USE_CONFIG_FILE" == "0" ] 
-               then
-                       Get_Drone_Count
-               fi
-       else
-               echo
-               echo -e "The cluster will be configured" ${COL_BR_CYAN}without${COL_RESET} "separate drones"
-               DRONELESS="1"
+    then
+        if [ -z $DRONECOUNT ] || [ "$USE_CONFIG_FILE" == "0" ] 
+        then
+                    Get_Drone_Count
+        fi
+    else
+        echo
+        echo -e "The cluster will be configured" ${COL_BR_CYAN}without${COL_RESET} "separate drones"
+        DRONELESS="1"
         fi
 
 fi
@@ -1272,27 +1272,27 @@ Write_Config_File DRONECOUNT
 
 if [ -z $BRICKCOUNT ] || [ "$USE_CONFIG_FILE" == "0" ] 
 then
-       Get_Brick_Count
+    Get_Brick_Count
 fi
 Write_Config_File BRICKCOUNT
 
 if [ "$DRONELESS" = "1" ]
 then
-       if [ -z $GENERATE_BRICKS_IPS ] || [ "$USE_CONFIG_FILE" == "0" ]
-       then
-               Ask_Use_Manual_Brick_Addresses
-       fi
+    if [ -z $GENERATE_BRICKS_IPS ] || [ "$USE_CONFIG_FILE" == "0" ]
+    then
+        Ask_Use_Manual_Brick_Addresses
+    fi
 fi
 Write_Config_File GENERATE_BRICKS_IPS
 
 if [ "$GENERATE_BRICKS_IPS" = "n" ] #|| [ "$USE_CONFIG_FILE" == "0" ]
 then
-       Get_Brick_IP_Addresses
+    Get_Brick_IP_Addresses
 fi
 
 if [ -z $CHOSEN_REPORTS_NFS_HOSTNAME ] || [ "$USE_CONFIG_FILE" == "0" ] 
 then
-       EG_Reporter
+    EG_Reporter
 fi
 if [ "$USE_HOSTNAME_PREFIX" = "y" ] || [ "$USE_HOSTNAME_PREFIX" = "Y" ]
 then
@@ -1305,33 +1305,33 @@ Write_Config_File CHOSEN_REPORTS_NFS_HOSTNAME
 
 if [ -z $OPENSRF_PASSWORD ] || [ "$USE_CONFIG_FILE" == "0" ] 
 then
-       Get_OSRF_Cred
-       Confirm_Password '$OPENSRF_PASSWORD' '$OPENSRF_PASSWORD_CONFIRM' Get_OSRF_Cred
-       #while [ "$OPENSRF_PASSWORD" != "$OPENSRF_PASSWORD_CONFIRM" ]
-       #       do
-       #       Get_OSRF_Cred
-       #done
+    Get_OSRF_Cred
+    Confirm_Password '$OPENSRF_PASSWORD' '$OPENSRF_PASSWORD_CONFIRM' Get_OSRF_Cred
+    #while [ "$OPENSRF_PASSWORD" != "$OPENSRF_PASSWORD_CONFIRM" ]
+    #    do
+    #    Get_OSRF_Cred
+    #done
 fi
 Write_Config_File OPENSRF_PASSWORD
 
 if [ -z $DATABASE_PASSWORD ] || [ "$USE_CONFIG_FILE" == "0" ] 
 then
-       Get_DB_Cred
-       Confirm_Password '$DATABASE_PASSWORD' '$DATABASE_PASSWORD_CONFIRM' Get_DB_Cred
-       
+    Get_DB_Cred
+    Confirm_Password '$DATABASE_PASSWORD' '$DATABASE_PASSWORD_CONFIRM' Get_DB_Cred
+    
 fi
 Write_Config_File DATABASE_PASSWORD
 
 if [ -z $EG_ADMIN_USER ] || [ "$USE_CONFIG_FILE" == "0" ] 
 then
-       Get_EG_Admin_User
+    Get_EG_Admin_User
 fi
 Write_Config_File EG_ADMIN_USER
 
 if [ -z $EG_ADMIN_PASSWORD ] || [ "$USE_CONFIG_FILE" == "0" ] 
 then
-       Get_EG_Admin_Password
-       Confirm_Password '$EG_ADMIN_PASSWORD' '$EG_ADMIN_PASSWORD_CONFIRM' Get_EG_Admin_Password
+    Get_EG_Admin_Password
+    Confirm_Password '$EG_ADMIN_PASSWORD' '$EG_ADMIN_PASSWORD_CONFIRM' Get_EG_Admin_Password
 fi
 Write_Config_File EG_ADMIN_PASSWORD
 
@@ -1344,7 +1344,7 @@ Write_Config_File USE_DMZ
 if [ "$USE_DMZ" = "y" ] || [ "$USE_DMZ" = "Y" ]
 then
         Get_DMZ_Subnet
-       Get_Gateways
+    Get_Gateways
 fi
 Write_Config_File DMZ_NET
 Write_Config_File DMZ_GATEWAY
@@ -1352,73 +1352,73 @@ Write_Config_File PRIVATENET_GATEWAY
 
 if [ -z $USE_STANDARD_PRIVATE_NETWORK ] || [ "$USE_CONFIG_FILE" == "0" ] 
 then
-       Choose_Private_Net
+    Choose_Private_Net
 fi
 Write_Config_File USE_STANDARD_PRIVATE_NETWORK
 
 if [ "$USE_STANDARD_PRIVATE_NETWORK" = "n" ] || [ "$USE_STANDARD_PRIVATE_NETWORK" = "N" ]
 then
-       if [ "$USE_CONFIG_FILE" == "0" ]
-       then
-               Get_Private_Net
-               Confirm_Input Get_Private_Net
-       fi
-       if [ -z $PRIVATENET ]
-       then
-               Get_Private_Net
-               Confirm_Input Get_Private_Net
-       fi
+    if [ "$USE_CONFIG_FILE" == "0" ]
+    then
+        Get_Private_Net
+            Confirm_Input Get_Private_Net
+    fi
+    if [ -z $PRIVATENET ]
+    then
+        Get_Private_Net
+        Confirm_Input Get_Private_Net
+    fi
 fi
 ORIGIN_PRIVATENET="$PRIVATENET"
 Write_Config_File PRIVATENET
 
 if [ -z $CLUSTERIPADDRESS ] || [ "$USE_CONFIG_FILE" == "0" ] 
 then
-       Get_Cluster_Public_IP
-       Confirm_Input Get_Cluster_Public_IP
+    Get_Cluster_Public_IP
+    Confirm_Input Get_Cluster_Public_IP
 fi
 Write_Config_File CLUSTERIPADDRESS
 
 if [ -z $CLUSTERNETMASK ] || [ "$USE_CONFIG_FILE" == "0" ] 
 then
-       Get_Cluster_Public_Netmask
-       Confirm_Input Get_Cluster_Public_Netmask
+    Get_Cluster_Public_Netmask
+    Confirm_Input Get_Cluster_Public_Netmask
 fi
 Write_Config_File CLUSTERNETMASK
 
 if [ -z $CLUSTERGATEWAY ] || [ "$USE_CONFIG_FILE" == "0" ] 
 then
-       Get_Cluster_Public_Gateway
-       Confirm_Input Get_Cluster_Public_Gateway
+    Get_Cluster_Public_Gateway
+    Confirm_Input Get_Cluster_Public_Gateway
 fi
 Write_Config_File CLUSTERGATEWAY 
 
 if [ -z $LVS01_PHYSICAL_PUBLIC_IP ] || [ "$USE_CONFIG_FILE" == "0" ] 
 then
-       Get_Lvs01_Physical_Public_IP
-       Confirm_Input Get_Lvs01_Physical_Public_IP
+    Get_Lvs01_Physical_Public_IP
+    Confirm_Input Get_Lvs01_Physical_Public_IP
 fi
 Write_Config_File LVS01_PHYSICAL_PUBLIC_IP
 
 if [ -z $LVS02_PHYSICAL_PUBLIC_IP ] || [ "$USE_CONFIG_FILE" == "0" ] 
 then
-       Get_Lvs02_Physical_Public_IP
-       Confirm_Input Get_Lvs02_Physical_Public_IP
+    Get_Lvs02_Physical_Public_IP
+    Confirm_Input Get_Lvs02_Physical_Public_IP
 fi
 Write_Config_File LVS02_PHYSICAL_PUBLIC_IP
 
 if [ -z $USE_SYNDETICS ] || [ "$USE_SYNDETICS" == "0" ]
 then
-       Get_Use_Syndetics
+    Get_Use_Syndetics
 fi
 Write_Config_File USE_SYNDETICS
 
 if [[ "$USE_SYNDETICS" == "y" || "$USE_SYNDETICS" == "Y" ]]
 then
-       if [ -z "$SYNDETICS_USER_ID" ] || [ "$SYNDETICS_USER_ID" == "0" ]
-       then
-               Get_Syndetics_Userid
-       fi
+    if [ -z "$SYNDETICS_USER_ID" ] || [ "$SYNDETICS_USER_ID" == "0" ]
+    then
+        Get_Syndetics_Userid
+    fi
 fi
 Write_Config_File SYNDETICS_USER_ID
 
@@ -1442,14 +1442,14 @@ then
         if [ -z "$NOVELIST_PASSWORD" ] || [ "$NOVELIST_PASSWORD" == "0" ]
         then
                 Get_Novelist_Password
-               Confirm_Password '$NOVELIST_PASSWORD' '$NOVELIST_PASSWORD_CONFIRM' Get_Novelist_Password
+        Confirm_Password '$NOVELIST_PASSWORD' '$NOVELIST_PASSWORD_CONFIRM' Get_Novelist_Password
         fi
 fi
 Write_Config_File NOVELIST_PASSWORD
 
 #if [ "$MONITOR_ADMIN_USERNAME" = "" ] || [ "$MONITOR_ADMIN_USERNAME" = "0" ]
 #then
-#      Get_Monitor_Admin_Username
+#    Get_Monitor_Admin_Username
 #fi
 #Write_Config_File MONITOR_ADMIN_USERNAME
 
@@ -1462,13 +1462,13 @@ Write_Config_File MONITOR_ADMIN_PASSWORD
 
 #if [ -z $NOTIFY_EMAIL_ADDRESS ] || [ "$NOTIFY_EMAIL_ADDRESS" == "0" ]
 #then
-#      Get_Notification_Email
+#    Get_Notification_Email
 #fi
 #Write_Config_File NOTIFY_EMAIL_ADDRESS
 
 #if [ -z $SYNDETICS_USER_ID ] || [ "$SYNDETICS_USER_ID" == "0" ]
-#      then
-#      Get_Syndetics_Userid
+#    then
+#    Get_Syndetics_Userid
 #fi
 #Write_Config_File SYNDETICS_USER_ID
 
@@ -1484,7 +1484,7 @@ echo;echo -e $COL_RESET
 Run_Functions_For_Input
 if [ "$USE_CONFIG_FILE" == "0" ]
 then
-       Confirm_Input_Continue Run_Functions_For_Input
+    Confirm_Input_Continue Run_Functions_For_Input
 fi
 
 GetNetInfo ${CLUSTERIPADDRESS} ${CLUSTERNETMASK}
@@ -1498,80 +1498,80 @@ if [ "$USE_HOSTNAME_PREFIX" = "y" ] || [ "$USE_HOSTNAME_PREFIX" = "Y" ]; then
 ### With hostname prefix.
 PRFX="$HOSTNAME_PREFIX"
 
-       ### All the machines in the cluster except BRICKS and LVS servers.
-       MACHINES_NO_BRICKS_LVS="${PRFX}-db01 ${PRFX}-db02 ${PRFX}-db03 ${PRFX}-logger01 ${PRFX}-utility01 ${PRFX}-utility02 ${PRFX}-utility03 ${PRFX}-sip01 ${PRFX}-sip02 ${PRFX}-reporter01 ${PRFX}-memcache01 ${PRFX}-memcache02 ${PRFX}-monitor01 ${PRFX}-monitor02 ${PRFX}-backup01 ${PRFX}-admin01"
+    ### All the machines in the cluster except BRICKS and LVS servers.
+    MACHINES_NO_BRICKS_LVS="${PRFX}-db01 ${PRFX}-db02 ${PRFX}-db03 ${PRFX}-logger01 ${PRFX}-utility01 ${PRFX}-utility02 ${PRFX}-utility03 ${PRFX}-sip01 ${PRFX}-sip02 ${PRFX}-reporter01 ${PRFX}-memcache01 ${PRFX}-memcache02 ${PRFX}-monitor01 ${PRFX}-monitor02 ${PRFX}-backup01 ${PRFX}-admin01"
 
-       ### All the machines in the cluster except BRICKS.
-       MACHINES_NO_BRICKS="${PRFX}-lvs01 ${PRFX}-lvs02 ${PRFX}-db01 ${PRFX}-db02 ${PRFX}-db03 ${PRFX}-logger01 ${PRFX}-utility01 ${PRFX}-utility02 ${PRFX}-utility03 ${PRFX}-sip01 ${PRFX}-sip02 ${PRFX}-reporter01 ${PRFX}-memcache01 ${PRFX}-memcache02 ${PRFX}-monitor01 ${PRFX}-monitor02 ${PRFX}-backup01 ${PRFX}-admin01"
+    ### All the machines in the cluster except BRICKS.
+    MACHINES_NO_BRICKS="${PRFX}-lvs01 ${PRFX}-lvs02 ${PRFX}-db01 ${PRFX}-db02 ${PRFX}-db03 ${PRFX}-logger01 ${PRFX}-utility01 ${PRFX}-utility02 ${PRFX}-utility03 ${PRFX}-sip01 ${PRFX}-sip02 ${PRFX}-reporter01 ${PRFX}-memcache01 ${PRFX}-memcache02 ${PRFX}-monitor01 ${PRFX}-monitor02 ${PRFX}-backup01 ${PRFX}-admin01"
 
-       ### All OpenSRF nodes except bricks.
-       MACHINES_OSRF_NO_BRICKS="${PRFX}-utility01 ${PRFX}-utility02 ${PRFX}-utility03 ${PRFX}-sip01 ${PRFX}-sip02 ${PRFX}-reporter01"
+    ### All OpenSRF nodes except bricks.
+    MACHINES_OSRF_NO_BRICKS="${PRFX}-utility01 ${PRFX}-utility02 ${PRFX}-utility03 ${PRFX}-sip01 ${PRFX}-sip02 ${PRFX}-reporter01"
 
-       ### Only LVS machines.
-       MACHINES_LVS_ONLY="${PRFX}-lvs01 ${PRFX}-lvs02"
+    ### Only LVS machines.
+    MACHINES_LVS_ONLY="${PRFX}-lvs01 ${PRFX}-lvs02"
 
-       ### Only SIP machines.
-       MACHINES_SIP_ONLY="${PRFX}-sip01 ${PRFX}-sip02"
+    ### Only SIP machines.
+    MACHINES_SIP_ONLY="${PRFX}-sip01 ${PRFX}-sip02"
 
-       ### Only DB machines.
-       MACHINES_DB_ONLY="${PRFX}-db01 ${PRFX}-db02 ${PRFX}-db03"
+    ### Only DB machines.
+    MACHINES_DB_ONLY="${PRFX}-db01 ${PRFX}-db02 ${PRFX}-db03"
 
-       ### Only Memcache servers.
-       MACHINES_MEMCACHE_ONLY="${PRFX}-memcache01 ${PRFX}-memcache02"
-       
-       ### Only logger machines.
-       MACHINES_LOGGER="${PRFX}-logger01"
-       
-       ### Only utility machines.
-       MACHINES_UTILITY="${PRFX}-utility01 ${PRFX}-utility02 ${PRFX}-utility03"
+    ### Only Memcache servers.
+    MACHINES_MEMCACHE_ONLY="${PRFX}-memcache01 ${PRFX}-memcache02"
+    
+    ### Only logger machines.
+    MACHINES_LOGGER="${PRFX}-logger01"
+    
+    ### Only utility machines.
+    MACHINES_UTILITY="${PRFX}-utility01 ${PRFX}-utility02 ${PRFX}-utility03"
 
-       ### Only backup machines.
-       MACHINES_BACKUP="${PRFX}-backup01"
-       
-       ### Only monitor machines.
-       MACHINES_MONITOR="${PRFX}-monitor01 ${PRFX}-monitor02"
+    ### Only backup machines.
+    MACHINES_BACKUP="${PRFX}-backup01"
+    
+    ### Only monitor machines.
+    MACHINES_MONITOR="${PRFX}-monitor01 ${PRFX}-monitor02"
 
-       ### Only reporter machines.
-       MACHINES_REPORTER="${PRFX}-reporter01"
+    ### Only reporter machines.
+    MACHINES_REPORTER="${PRFX}-reporter01"
 
 else
 
 ### Without hostname prefix.
 
-       ### All the machines in the cluster except BRICKS and LVS servers.
-       MACHINES_NO_BRICKS_LVS="db01 db02 db03 logger01 utility01 utility02 utility03 sip01 sip02 reporter01 memcache01 memcache02 monitor01 monitor02 backup01 admin01"
+    ### All the machines in the cluster except BRICKS and LVS servers.
+    MACHINES_NO_BRICKS_LVS="db01 db02 db03 logger01 utility01 utility02 utility03 sip01 sip02 reporter01 memcache01 memcache02 monitor01 monitor02 backup01 admin01"
 
-       ### All the machines in the cluster except BRICKS.
-       MACHINES_NO_BRICKS="lvs01 lvs02 db01 db02 db03 logger01 utility01 utility02 utility03 sip01 sip02 reporter01 memcache01 memcache02 monitor01 monitor02 backup01 admin01"
+    ### All the machines in the cluster except BRICKS.
+    MACHINES_NO_BRICKS="lvs01 lvs02 db01 db02 db03 logger01 utility01 utility02 utility03 sip01 sip02 reporter01 memcache01 memcache02 monitor01 monitor02 backup01 admin01"
 
-       ### All OpenSRF nodes except bricks.
-       MACHINES_OSRF_NO_BRICKS="utility01 utility02 utility03 sip01 sip02 reporter01"
+    ### All OpenSRF nodes except bricks.
+    MACHINES_OSRF_NO_BRICKS="utility01 utility02 utility03 sip01 sip02 reporter01"
 
-       ### Only LVS machines.
-       MACHINES_LVS_ONLY="lvs01 lvs02"
+    ### Only LVS machines.
+    MACHINES_LVS_ONLY="lvs01 lvs02"
 
-       ### Only SIP machines.
-       MACHINES_SIP_ONLY="sip01 sip02"
+    ### Only SIP machines.
+    MACHINES_SIP_ONLY="sip01 sip02"
 
-       ### Only DB machines.
-       MACHINES_DB_ONLY="db01 db02 db03"
+    ### Only DB machines.
+    MACHINES_DB_ONLY="db01 db02 db03"
 
         ### Only Memcache servers.
         MACHINES_MEMCACHE_ONLY="memcache01 memcache02"
 
-       ### Only logger machines.
+    ### Only logger machines.
         MACHINES_LOGGER="logger01"
 
-       ### Only utility machines.
+    ### Only utility machines.
         MACHINES_UTILITY="utility01 utility02 utility03"
 
         ### Only backup machines.
         MACHINES_BACKUP="backup01"
-       
-       ### Only monitor machines.
-       MACHINES_MONITOR="monitor01 monitor02"
+    
+    ### Only monitor machines.
+    MACHINES_MONITOR="monitor01 monitor02"
 
-       ### Only reporter machines.
+    ### Only reporter machines.
         MACHINES_REPORTER="reporter01"
 fi
 
@@ -1580,15 +1580,15 @@ HOSTNAMES_NO_BRICKS="lvs01 lvs02 db01 db02 db03 logger01 utility01 utility02 uti
 ### Setup Privatenet IP for all hosts except bricks.
 if [ "$USE_DMZ" = "y" ] || [ "$USE_DMZ" = "Y" ]
 then
-       Set_DMZ_Net
-       echo PRIVATENET SET to $PRIVATENET
-       LVS01_PRIVATE_SHARED_IP="${PRIVATENET}.1"
-       LVS01_PRIVATE_IP="${PRIVATENET}.2"
-       LVS02_PRIVATE_IP="${PRIVATENET}.3"
-       Unset_DMZ_Net
-       echo PRIVATENET UNSET to $PRIVATENET
+    Set_DMZ_Net
+    echo PRIVATENET SET to $PRIVATENET
+    LVS01_PRIVATE_SHARED_IP="${PRIVATENET}.1"
+    LVS01_PRIVATE_IP="${PRIVATENET}.2"
+    LVS02_PRIVATE_IP="${PRIVATENET}.3"
+    Unset_DMZ_Net
+    echo PRIVATENET UNSET to $PRIVATENET
 else
-       LVS01_PRIVATE_SHARED_IP="${PRIVATENET}.1"
+    LVS01_PRIVATE_SHARED_IP="${PRIVATENET}.1"
         LVS01_PRIVATE_IP="${PRIVATENET}.2"
         LVS02_PRIVATE_IP="${PRIVATENET}.3"
 fi
@@ -1646,45 +1646,45 @@ cp -f "$TEMPLATEDIR/lvs/ha.cf" "$TMPFOLDER/ha.cf"
 cp -f "$TEMPLATEDIR/lvs/haresources" "$TMPFOLDER/haresources"
 for LVS_NODE in $MACHINES_LVS_ONLY
 do
-       if echo $LVS_NODE | grep -q lvs01
-       then
-               sed -i "s^FIRST_LVS_SERVER^$LVS_NODE^g" "$TMPFOLDER/ha.cf"
-               sed -i "s^FIRST_LVS^$LVS_NODE^g" "$TMPFOLDER/haresources"
-       fi
-       if echo $LVS_NODE | grep -q lvs02
-       then
-               sed -i "s^SECOND_LVS_SERVER^$LVS_NODE^g" "$TMPFOLDER/ha.cf"
-       fi
+    if echo $LVS_NODE | grep -q lvs01
+    then
+        sed -i "s^FIRST_LVS_SERVER^$LVS_NODE^g" "$TMPFOLDER/ha.cf"
+        sed -i "s^FIRST_LVS^$LVS_NODE^g" "$TMPFOLDER/haresources"
+    fi
+    if echo $LVS_NODE | grep -q lvs02
+    then
+        sed -i "s^SECOND_LVS_SERVER^$LVS_NODE^g" "$TMPFOLDER/ha.cf"
+    fi
 done
 
 
 for LVS in $MACHINES_LVS_ONLY
         do
-       LVSDIR="$LVS/etc/ha.d"
+    LVSDIR="$LVS/etc/ha.d"
         mkdir -p "$OUTDIR/$LVSDIR"
         mkdir -p "$OUTDIR/$LVS/etc/network"
         mkdir -p "$OUTDIR/$LVS/etc/postfix"
         cp -f "$TMPFOLDER/ha.cf" "$OUTDIR/$LVSDIR"
         cp -f "$TMPFOLDER/haresources" "$OUTDIR/$LVSDIR"
-       cp -f "$TMPFOLDER/authkeys" "$OUTDIR/$LVSDIR"
+    cp -f "$TMPFOLDER/authkeys" "$OUTDIR/$LVSDIR"
         cp -f "$TEMPLATEDIR/lvs/iptables-rules.fw" "$OUTDIR/$LVS/etc/network"
         cp -f "$TEMPLATEDIR/lvs/rc.local" "$OUTDIR/$LVS/etc"
         cp -f "$TEMPLATEDIR/lvs/ntp.conf" "$OUTDIR/$LVS/etc"
         cp -f "$TEMPLATEDIR/lvs/resolv.conf" "$OUTDIR/$LVS/etc"
         cp -f "$TEMPLATEDIR/lvs/main.cf" "$OUTDIR/$LVS/etc/postfix"
-       if [ -e "$CUSTOMDIR/${SIP_FW_WHITELIST_FILE}" ] 
-       then
-               echo
-               echo -e ${COL_GREEN}"Using SIP firewall whitelist found in ${CUSTOMDIR}"${COL_RESET}
-               sleep 2
-               cp -f "${CUSTOMDIR}/${SIP_FW_WHITELIST_FILE}" "$OUTDIR/$LVS/etc/network"
-       else
-               echo -e ${COL_BR_RED}"sip_whitelist.fw NOT FOUND in ${CUSTOMDIR}"${COL_RESET}
-               sleep 2
-       fi
-       sed -i "s^CLUSTER_DOMAIN_NAME^$CLUSTERDOMAINNAME^g" "$OUTDIR/$LVS/etc/resolv.conf"
-       sed -i "s^HostName^$LVS^g" "$OUTDIR/$LVS/etc/postfix/main.cf"
-       sed -i "s^ClusterDomainName^$CLUSTERDOMAINNAME^g" "$OUTDIR/$LVS/etc/postfix/main.cf"
+    if [ -e "$CUSTOMDIR/${SIP_FW_WHITELIST_FILE}" ] 
+    then
+        echo
+        echo -e ${COL_GREEN}"Using SIP firewall whitelist found in ${CUSTOMDIR}"${COL_RESET}
+        sleep 2
+        cp -f "${CUSTOMDIR}/${SIP_FW_WHITELIST_FILE}" "$OUTDIR/$LVS/etc/network"
+    else
+        echo -e ${COL_BR_RED}"sip_whitelist.fw NOT FOUND in ${CUSTOMDIR}"${COL_RESET}
+        sleep 2
+    fi
+    sed -i "s^CLUSTER_DOMAIN_NAME^$CLUSTERDOMAINNAME^g" "$OUTDIR/$LVS/etc/resolv.conf"
+    sed -i "s^HostName^$LVS^g" "$OUTDIR/$LVS/etc/postfix/main.cf"
+    sed -i "s^ClusterDomainName^$CLUSTERDOMAINNAME^g" "$OUTDIR/$LVS/etc/postfix/main.cf"
         sed -i "s^Priv_NET^${PRIVATENET}^g" "$OUTDIR/$LVS/etc/network/iptables-rules.fw"
         sed -i "s^Priv_NET^${PRIVATENET}^g" "$OUTDIR/$LVS/etc/postfix/main.cf"
         sed -i "s^Pub_BCAST^${PUB_BCAST}^g" "$OUTDIR/$LVS/etc/network/iptables-rules.fw"
@@ -1692,51 +1692,51 @@ for LVS in $MACHINES_LVS_ONLY
         sed -i "s^ClusterPublic_IP^${CLUSTERIPADDRESS}^g" "$OUTDIR/$LVS/etc/ha.d/haresources"
         sed -i "s^ClusterPublic_CIDR^${CLUSTER_CIDR}^g" "$OUTDIR/$LVS/etc/ha.d/haresources"
         sed -i "s^ClusterPublic_Bcast^${PUB_BCAST}^g" "$OUTDIR/$LVS/etc/ha.d/haresources"
-       sed -i "s^Lvs01Private_Shared_IP^${LVS01_PRIVATE_SHARED_IP}^g" "$OUTDIR/$LVS/etc/ha.d/haresources"
-       if [ "$USE_DMZ" = "y" ] || [ "$USE_DMZ" = "Y" ]
-       then
-               sed -i "s^lvs01Private_Net^${DMZ_NET}^g" "$OUTDIR/$LVS/etc/ha.d/haresources"
-       else
-               sed -i "s^lvs01Private_Net^${PRIVATENET}^g" "$OUTDIR/$LVS/etc/ha.d/haresources"
-       fi
-       
-       
-       ### Configure the maintenance page on LVS servers
-       mkdir -p "$OUTDIR/$LVS/var/www/html"
-       if $(ls $CUSTOMDIR/maint_page |grep -q "index.html\|index.php")
+    sed -i "s^Lvs01Private_Shared_IP^${LVS01_PRIVATE_SHARED_IP}^g" "$OUTDIR/$LVS/etc/ha.d/haresources"
+    if [ "$USE_DMZ" = "y" ] || [ "$USE_DMZ" = "Y" ]
+    then
+        sed -i "s^lvs01Private_Net^${DMZ_NET}^g" "$OUTDIR/$LVS/etc/ha.d/haresources"
+    else
+        sed -i "s^lvs01Private_Net^${PRIVATENET}^g" "$OUTDIR/$LVS/etc/ha.d/haresources"
+    fi
+    
+    
+    ### Configure the maintenance page on LVS servers
+    mkdir -p "$OUTDIR/$LVS/var/www/html"
+    if $(ls $CUSTOMDIR/maint_page |grep -q "index.html\|index.php")
         then
-               echo;echo "Installing custom maintenance page on ${LVS}..."
-               CUSTOM_MAINT_PAGE_INDEX="y"
+        echo;echo "Installing custom maintenance page on ${LVS}..."
+            CUSTOM_MAINT_PAGE_INDEX="y"
         fi
-       if [ "$CUSTOM_MAINT_PAGE_INDEX" = "y" ]
-       then
-               cp -f $CUSTOMDIR/maint_page/* "$OUTDIR/$LVS/var/www/html"
-       else
-               cp -f $TEMPLATEDIR/lvs/maint_page/* "$OUTDIR/$LVS/var/www/html"
-       fi
-       
-       
-       ### configure apache2 ssl for maint. page. 
-       mkdir -p "$OUTDIR/$LVS/etc/apache2/ssl" && cp -f "${CERT_DIR}/server.key" "$OUTDIR/$LVS/etc/apache2/ssl"
-       [ -e "${CERT_DIR}/ca.crt" ] && cp -f "${CERT_DIR}/ca.crt" "$OUTDIR/$LVS/etc/apache2/ssl"
+    if [ "$CUSTOM_MAINT_PAGE_INDEX" = "y" ]
+    then
+        cp -f $CUSTOMDIR/maint_page/* "$OUTDIR/$LVS/var/www/html"
+    else
+        cp -f $TEMPLATEDIR/lvs/maint_page/* "$OUTDIR/$LVS/var/www/html"
+    fi
+    
+    
+    ### configure apache2 ssl for maint. page. 
+    mkdir -p "$OUTDIR/$LVS/etc/apache2/ssl" && cp -f "${CERT_DIR}/server.key" "$OUTDIR/$LVS/etc/apache2/ssl"
+    [ -e "${CERT_DIR}/ca.crt" ] && cp -f "${CERT_DIR}/ca.crt" "$OUTDIR/$LVS/etc/apache2/ssl"
         cp -f "${CERT_DIR}/server.crt" "$OUTDIR/$LVS/etc/apache2/ssl"
-       cp -f "${CERT_DIR}/dhparams.pem" "$OUTDIR/$LVS/etc/apache2/ssl"
+    cp -f "${CERT_DIR}/dhparams.pem" "$OUTDIR/$LVS/etc/apache2/ssl"
 done
 
 
 ### Start hosts and DNS zone file configuration.
 if [ "$USE_HOSTNAME_PREFIX" = "y" ] || [ "$USE_HOSTNAME_PREFIX" = "Y" ]
-       then
-       cp $TEMPLATEDIR/hosts-footer-prefixed $TMPFOLDER/hosts-footer
-       cp "$TEMPLATEDIR/lvs/bind/zonefile-footer-prefixed" $TMPFOLDER/zonefile-footer
-       cp "$TEMPLATEDIR/lvs/bind/revzonefile-footer-prefixed" $TMPFOLDER/revzonefile-footer
-       sed -i "s^PREFIX^$HOSTNAME_PREFIX^g" $TMPFOLDER/hosts-footer
-       sed -i "s^PREFIX^$HOSTNAME_PREFIX^g" $TMPFOLDER/zonefile-footer
-       sed -i "s^PREFIX^$HOSTNAME_PREFIX^g" $TMPFOLDER/revzonefile-footer
-               else 
-               cp $TEMPLATEDIR/hosts-footer $TMPFOLDER
-               cp "$TEMPLATEDIR/lvs/bind/zonefile-footer" $TMPFOLDER
-               cp "$TEMPLATEDIR/lvs/bind/revzonefile-footer" $TMPFOLDER
+    then
+    cp $TEMPLATEDIR/hosts-footer-prefixed $TMPFOLDER/hosts-footer
+    cp "$TEMPLATEDIR/lvs/bind/zonefile-footer-prefixed" $TMPFOLDER/zonefile-footer
+    cp "$TEMPLATEDIR/lvs/bind/revzonefile-footer-prefixed" $TMPFOLDER/revzonefile-footer
+    sed -i "s^PREFIX^$HOSTNAME_PREFIX^g" $TMPFOLDER/hosts-footer
+    sed -i "s^PREFIX^$HOSTNAME_PREFIX^g" $TMPFOLDER/zonefile-footer
+    sed -i "s^PREFIX^$HOSTNAME_PREFIX^g" $TMPFOLDER/revzonefile-footer
+        else 
+        cp $TEMPLATEDIR/hosts-footer $TMPFOLDER
+        cp "$TEMPLATEDIR/lvs/bind/zonefile-footer" $TMPFOLDER
+        cp "$TEMPLATEDIR/lvs/bind/revzonefile-footer" $TMPFOLDER
 fi
 sed -i "s^Priv_NET^${PRIVATENET}^g" $TMPFOLDER/hosts-footer
 sed -i "s^ClusterDomainName^${CLUSTERDOMAINNAME}^g" $TMPFOLDER/hosts-footer
@@ -1747,38 +1747,38 @@ sed -i "s^domain.org^${CLUSTERDOMAINNAME}^g" $TMPFOLDER/revzonefile-footer
 echo
 echo Begin Reports Output Confiugration.
 if [ "$CHOSEN_REPORTS_NFS_HOSTNAME" = "db01" ]
-       then
-       REPORTS_NFS_HOSTNAME_IP="${PRIVATENET}.101"
-               elif [ "$CHOSEN_REPORTS_NFS_HOSTNAME" = "db02" ]
-                       then
-                       REPORTS_NFS_HOSTNAME_IP="${PRIVATENET}.102"
-               elif [ "$CHOSEN_REPORTS_NFS_HOSTNAME" = "db03" ]
-                       then
-                       REPORTS_NFS_HOSTNAME_IP="${PRIVATENET}.103"
-               elif [ "$CHOSEN_REPORTS_NFS_HOSTNAME" = "reporter01" ]
-                       then 
-                       REPORTS_NFS_HOSTNAME_IP="${PRIVATENET}.141"
+    then
+    REPORTS_NFS_HOSTNAME_IP="${PRIVATENET}.101"
+        elif [ "$CHOSEN_REPORTS_NFS_HOSTNAME" = "db02" ]
+            then
+            REPORTS_NFS_HOSTNAME_IP="${PRIVATENET}.102"
+        elif [ "$CHOSEN_REPORTS_NFS_HOSTNAME" = "db03" ]
+            then
+            REPORTS_NFS_HOSTNAME_IP="${PRIVATENET}.103"
+        elif [ "$CHOSEN_REPORTS_NFS_HOSTNAME" = "reporter01" ]
+            then 
+            REPORTS_NFS_HOSTNAME_IP="${PRIVATENET}.141"
 fi
 
 
 if [ ! -z "$REPORTS_NFS_HOSTNAME" ]
-       then
-       if ! grep -q "$REPORTS_NFS_HOSTNAME" $TMPFOLDER/hosts-footer
-                       then
-               ADD_REPORTS_SHARE="1"
-               REPORTS_NFS_HOSTNAME_IP="${PRIVATENET}.161"
-               #sed -i "9a\\${PRIVATENET}.161\t${REPORTS_NFS_HOSTNAME}.${CLUSTERDOMAINNAME} ${REPORTS_NFS_HOSTNAME}" /tmp/hosts-footer
-               sed -i "/.171/i\\${PRIVATENET}.161\t${REPORTS_NFS_HOSTNAME}.${CLUSTERDOMAINNAME}\t${REPORTS_NFS_HOSTNAME}" $TMPFOLDER/hosts-footer
-               #sed -i "17a\\${REPORTS_NFS_HOSTNAME}\tA\t${PRIVATENET}.161" /tmp/zonefile-footer
-               sed -i "/.171/i\\${REPORTS_NFS_HOSTNAME}\tA\t${PRIVATENET}.161" $TMPFOLDER/zonefile-footer
-               #sed -i "15a\\161\tIN\tPTR\t${REPORTS_NFS_HOSTNAME}.${CLUSTERDOMAINNAME}." /tmp/revzonefile-footer
-               sed -i "/171/i\161\tIN\tPTR\t${REPORTS_NFS_HOSTNAME}.${CLUSTERDOMAINNAME}." $TMPFOLDER/revzonefile-footer
-       fi
+    then
+    if ! grep -q "$REPORTS_NFS_HOSTNAME" $TMPFOLDER/hosts-footer
+               then
+        ADD_REPORTS_SHARE="1"
+        REPORTS_NFS_HOSTNAME_IP="${PRIVATENET}.161"
+            #sed -i "9a\\${PRIVATENET}.161\t${REPORTS_NFS_HOSTNAME}.${CLUSTERDOMAINNAME} ${REPORTS_NFS_HOSTNAME}" /tmp/hosts-footer
+        sed -i "/.171/i\\${PRIVATENET}.161\t${REPORTS_NFS_HOSTNAME}.${CLUSTERDOMAINNAME}\t${REPORTS_NFS_HOSTNAME}" $TMPFOLDER/hosts-footer
+        #sed -i "17a\\${REPORTS_NFS_HOSTNAME}\tA\t${PRIVATENET}.161" /tmp/zonefile-footer
+        sed -i "/.171/i\\${REPORTS_NFS_HOSTNAME}\tA\t${PRIVATENET}.161" $TMPFOLDER/zonefile-footer
+        #sed -i "15a\\161\tIN\tPTR\t${REPORTS_NFS_HOSTNAME}.${CLUSTERDOMAINNAME}." /tmp/revzonefile-footer
+        sed -i "/171/i\161\tIN\tPTR\t${REPORTS_NFS_HOSTNAME}.${CLUSTERDOMAINNAME}." $TMPFOLDER/revzonefile-footer
+    fi
 fi
 
 if [ ! -e "${OUTDIR}/${REPORTS_NFS_HOSTNAME}" ]
-       then
-       mkdir -p "${OUTDIR}/${REPORTS_NFS_HOSTNAME}/etc/network" || echo "failed to create : ${OUTDIR}/${REPORTS_NFS_HOSTNAME}/etc/network"
+    then
+    mkdir -p "${OUTDIR}/${REPORTS_NFS_HOSTNAME}/etc/network" || echo "failed to create : ${OUTDIR}/${REPORTS_NFS_HOSTNAME}/etc/network"
 fi
 mkdir -p "${OUTDIR}/${REPORTS_NFS_HOSTNAME}/storage/reports-output"
 echo End Reports Output Confiugration.
@@ -1797,7 +1797,7 @@ sed -i "s^LVS02_Priv_IP^$LVS02_PRIVATE_IP^g" "$TMPFOLDER/resolv.conf"
 ### Start Logger setup.
 if grep -q 'Debian GNU/Linux 6' /etc/issue
 then
-       OSDISTRO="Debian6"
+    OSDISTRO="Debian6"
 fi
 cp $TEMPLATEDIR/rsyslog/60-evergreen-ils.conf $TMPFOLDER/60-evergreen-ils.conf
 sed -i "s^CLUSTER_DOMAINNAME^$CLUSTERDOMAINNAME^g" $TMPFOLDER/60-evergreen-ils.conf
@@ -1818,14 +1818,14 @@ CLUSTER_TLD="$(echo $CLUSTERDOMAINNAME |awk -F"." '{ print $NF }')"
 [ -e "$TMPREVZONEFILE_DMZ" ] && rm -f "$TMPREVZONEFILE_DMZ"
 [ -e "$TMPOSRFNODES" ] && rm -f "$TMPOSRFNODES"
 if [ "$USE_HOSTNAME_PREFIX" = "y" ] || [ "$USE_HOSTNAME_PREFIX" = "Y" ]
-       then
-       cat "$TEMPLATEDIR/hosts-header-prefixed" > "$TMPHOSTS"
-       cat "$TEMPLATEDIR/lvs/bind/zonefile-header-prefixed" > "$TMPZONEFILE"
-       sed -i "s^PREFIX^$HOSTNAME_PREFIX^g" "$TMPHOSTS"
-       sed -i "s^PREFIX^$HOSTNAME_PREFIX^g" "$TMPZONEFILE"
-               else
-               cat $TEMPLATEDIR/hosts-header > "$TMPHOSTS"
-               cat "$TEMPLATEDIR/lvs/bind/zonefile-header" > "$TMPZONEFILE"
+    then
+    cat "$TEMPLATEDIR/hosts-header-prefixed" > "$TMPHOSTS"
+    cat "$TEMPLATEDIR/lvs/bind/zonefile-header-prefixed" > "$TMPZONEFILE"
+    sed -i "s^PREFIX^$HOSTNAME_PREFIX^g" "$TMPHOSTS"
+    sed -i "s^PREFIX^$HOSTNAME_PREFIX^g" "$TMPZONEFILE"
+        else
+        cat $TEMPLATEDIR/hosts-header > "$TMPHOSTS"
+        cat "$TEMPLATEDIR/lvs/bind/zonefile-header" > "$TMPZONEFILE"
 fi
 cat "$TEMPLATEDIR/lvs/bind/revzonefile-header" > "$TMPREVZONEFILE"
 
@@ -1841,34 +1841,34 @@ sed -i "s^_REV_PRIVATE_NET^$REV_PRIVATENET^g" "$TMPREVZONEFILE"
 
 if [ "$USE_DMZ" = "y" ] || [ "$USE_DMZ" = "Y" ]
 then
-       cat "$TEMPLATEDIR/lvs/bind/revzonefile-header" > "$TMPREVZONEFILE_DMZ"
+    cat "$TEMPLATEDIR/lvs/bind/revzonefile-header" > "$TMPREVZONEFILE_DMZ"
 
-       
-       ### Split the DMZ network into 3 separate octects.
-       DMZ_NET_1ST="$(echo $DMZ_NET | awk -F"." '{ print $1 }')"
-       DMZ_NET_2ND="$(echo $DMZ_NET | awk -F"." '{ print $2 }')"
-       DMZ_NET_3RD="$(echo $DMZ_NET | awk -F"." '{ print $3 }')"
+    
+    ### Split the DMZ network into 3 separate octects.
+    DMZ_NET_1ST="$(echo $DMZ_NET | awk -F"." '{ print $1 }')"
+    DMZ_NET_2ND="$(echo $DMZ_NET | awk -F"." '{ print $2 }')"
+    DMZ_NET_3RD="$(echo $DMZ_NET | awk -F"." '{ print $3 }')"
 
-       ### Reverse the DMZ net for DNS reverse zone.
-       REV_DMZ_NET="${DMZ_NET_3RD}.${DMZ_NET_2ND}.${DMZ_NET_1ST}"
+    ### Reverse the DMZ net for DNS reverse zone.
+    REV_DMZ_NET="${DMZ_NET_3RD}.${DMZ_NET_2ND}.${DMZ_NET_1ST}"
 
-       sed -i "s^_REV_PRIVATE_NET^$REV_DMZ_NET^g" "$TMPREVZONEFILE_DMZ"
+    sed -i "s^_REV_PRIVATE_NET^$REV_DMZ_NET^g" "$TMPREVZONEFILE_DMZ"
 fi
 
 ### Add lvs servers entry to the global hosts file and DNS zone file. 
 NUM=0
 for LVS_SERVERS in $MACHINES_LVS_ONLY 
-       do
-       ((NUM++))
-       #echo "$LVS01_PRIVATE_IP $LVS_SERVERS.${CLUSTERDOMAINNAME}  $LVS_SERVERS " >> "$TMPHOSTS"
-       eval echo "\$LVS0${NUM}_PRIVATE_IP $LVS_SERVERS.${CLUSTERDOMAINNAME}  $LVS_SERVERS " >> "$TMPHOSTS"
-       eval printf "$LVS_SERVERS\\\tA\\\t\$LVS0${NUM}_PRIVATE_IP\\\n" >> "$TMPZONEFILE"
-       if [ "$USE_DMZ" = "y" ] || [ "$USE_DMZ" = "Y" ]
-       then
-               printf "0${NUM}\tIN\tPTR\t$LVS_SERVERS.${CLUSTERDOMAINNAME}.\n" >> "$TMPREVZONEFILE_DMZ"
-       else
-               printf "0${NUM}\tIN\tPTR\t$LVS_SERVERS.${CLUSTERDOMAINNAME}.\n" >> "$TMPREVZONEFILE"
-       fi
+    do
+    ((NUM++))
+    #echo "$LVS01_PRIVATE_IP $LVS_SERVERS.${CLUSTERDOMAINNAME}  $LVS_SERVERS " >> "$TMPHOSTS"
+    eval echo "\$LVS0${NUM}_PRIVATE_IP $LVS_SERVERS.${CLUSTERDOMAINNAME}  $LVS_SERVERS " >> "$TMPHOSTS"
+    eval printf "$LVS_SERVERS\\\tA\\\t\$LVS0${NUM}_PRIVATE_IP\\\n" >> "$TMPZONEFILE"
+    if [ "$USE_DMZ" = "y" ] || [ "$USE_DMZ" = "Y" ]
+    then
+        printf "0${NUM}\tIN\tPTR\t$LVS_SERVERS.${CLUSTERDOMAINNAME}.\n" >> "$TMPREVZONEFILE_DMZ"
+    else
+        printf "0${NUM}\tIN\tPTR\t$LVS_SERVERS.${CLUSTERDOMAINNAME}.\n" >> "$TMPREVZONEFILE"
+    fi
 done
 
 
@@ -1879,14 +1879,14 @@ NETCFGFILE="$OUTDIR/${CLUSTERDOMAINNAME}_network_config.txt"
 cp $TEMPLATEDIR/opensrf.xml/opensrf.xml-header $TMPOPENSRF_XML
 if [ "$USE_DATABASE_PREFIX" = "y" ] || [ "$USE_DATABASE_PREFIX" = "Y" ]
 then
-       sed -i "s^<db>evergreen^<db>${HOSTNAME_PREFIX}_evergreen^g" $TMPOPENSRF_XML
+    sed -i "s^<db>evergreen^<db>${HOSTNAME_PREFIX}_evergreen^g" $TMPOPENSRF_XML
 fi
 #sed -i "s^DatabasePassword^$DATABASE_PASSWORD^g" $TMPOPENSRF_XML
 sed -i "s^DatabasePassword^$(echo $DATABASE_PASSWORD | sed  -e 's^&^\\\&^g' -e 's/\^/\\\^/g')^g" $TMPOPENSRF_XML
 # the below line appears to not be doing anything
 # sed -i "s^DatabaseHostName^db01^g" $TMPOPENSRF_XML
 if [ -n "$HOSTNAME_PREFIX" ]; then
-       sed -i "s^>\([A-Za-z0-9-]*\.ClusterDomainName\)^>$HOSTNAME_PREFIX-\1^g" $TMPOPENSRF_XML
+    sed -i "s^>\([A-Za-z0-9-]*\.ClusterDomainName\)^>$HOSTNAME_PREFIX-\1^g" $TMPOPENSRF_XML
 fi
 sed -i "s^ClusterDomainName^$CLUSTERDOMAINNAME^g" $TMPOPENSRF_XML
 sed -i "s^memcache01_IP^$MEMCACHE01_IP^g" $TMPOPENSRF_XML
@@ -1894,19 +1894,19 @@ sed -i "s^memcache02_IP^$MEMCACHE02_IP^g" $TMPOPENSRF_XML
 sed -i "s^<importer>/tmp^<importer>$VANDELAY_PATH^g" $TMPOPENSRF_XML
 echo "enabling eg.conf..."
 if [ -e "${CUSTOMDIR}/zips.txt" ] 
-       then
-       sed -i 's^<!--<zips_file>^<zips_file>^g' $TMPOPENSRF_XML
-       sed -i 's^</zips_file>-->^</zips_file>^g' $TMPOPENSRF_XML
+    then
+    sed -i 's^<!--<zips_file>^<zips_file>^g' $TMPOPENSRF_XML
+    sed -i 's^</zips_file>-->^</zips_file>^g' $TMPOPENSRF_XML
 fi
 
 ### Write the Syndetics login information to both opensrf.xml and eg_vhost for alternate configs
 
 if [ "$USE_SYNDETICS" == "y" ]|| [ "$USE_SYNDETICS" == "Y" ]
-       then
-       sed -i 's^::OpenLibrary</module>^::Syndetic</module>^g' $TMPOPENSRF_XML
-       sed -i 's^OpenLibrary added content^Syndetics added content^g' $TMPOPENSRF_XML
-       sed -i "s^MODULE_USER_ID^$SYNDETICS_USER_ID^g" $TMPOPENSRF_XML
-       sed -i '/<module>OpenILS::WWW::/a \\t    <base_url>https://syndetics.com/index.aspx</base_url>' $TMPOPENSRF_XML
+    then
+    sed -i 's^::OpenLibrary</module>^::Syndetic</module>^g' $TMPOPENSRF_XML
+    sed -i 's^OpenLibrary added content^Syndetics added content^g' $TMPOPENSRF_XML
+    sed -i "s^MODULE_USER_ID^$SYNDETICS_USER_ID^g" $TMPOPENSRF_XML
+    sed -i '/<module>OpenILS::WWW::/a \\t    <base_url>https://syndetics.com/index.aspx</base_url>' $TMPOPENSRF_XML
 fi
 
 ### Start setup of munin.conf file
@@ -1918,178 +1918,186 @@ cp -f ${TEMPLATEDIR}/monitor/munin.conf $TMPMUNINCONF
 CreateBricks () { ### Create config for Bricks without separate drones. DRONELESS
 if [ "$USE_DMZ" = "y" ] || [ "$USE_DMZ" = "Y" ]
 then
-       Set_DMZ_Net
+    Set_DMZ_Net
 fi
 for BRICK in $(seq $BRICKCOUNT)
         do
-       if [ -z "$HOSTNAME_PREFIX" ] ; then
+    if [ -z "$HOSTNAME_PREFIX" ] ; then
         typeset BRICKHOSTNAME${BRICK}="brick0${BRICK}"
-               else
-               typeset BRICKHOSTNAME${BRICK}="${HOSTNAME_PREFIX}-brick0${BRICK}"
-       fi
+        else
+        typeset BRICKHOSTNAME${BRICK}="${HOSTNAME_PREFIX}-brick0${BRICK}"
+    fi
         echo >> "$NETCFGFILE"
         eval echo \$BRICKHOSTNAME${BRICK} >> "$NETCFGFILE"
         echo "Brick${BRICK} hostname set to: $(eval echo \$BRICKHOSTNAME${BRICK})" >> "$NETCFGFILE"
         typeset BRICKHOSTNAME${BRICK}_HEAD="$(eval echo \$BRICKHOSTNAME${BRICK}-head)"
         echo "Brick${BRICK} Head hostname set to: $(eval echo \$BRICKHOSTNAME${BRICK}_HEAD)" >> "$NETCFGFILE"
-       if [ "$GENERATE_BRICKS_IPS" = "n" ]
-       then
-               typeset BRICKHOSTNAME${BRICK}_HEAD_IP=$(eval echo "\$MANUAL_BRICK_IP_0${BRICK}")
-       else
-               typeset BRICKHOSTNAME${BRICK}_HEAD_IP="$PRIVATENET.${BRICK}0"
-       fi
-        echo "Brick${BRICK} Head IP Address set to: $(eval echo \$BRICKHOSTNAME${BRICK}_HEAD_IP)" >> "$NETCFGFILE"
-       [ "${BRICK}" = "1" ] && BRICK01_HEAD_IP="$(eval echo \$BRICKHOSTNAME${BRICK}_HEAD_IP)"
-        eval echo -e "\\\treal=\$BRICKHOSTNAME${BRICK}_HEAD_IP:80 masq" >> "$LVSCONFIGFILE"
-        eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}
-        eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/conf
-        eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc
-        eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/network
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/rsyslog.d
-        eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/sites-available
-        eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/sites-enabled
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/conf-available
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/mods-available
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/ssl
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/nginx/sites-available
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/nginx/sites-enabled
-        eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/init.d
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/munin
-        eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/var/run/evergreen
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/var/run/munin
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/var/data/offline
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/var/data/vandelay
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/var/data/locale/opac
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/var/web/reporter
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/systemd/system/apache2.service.d
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/sudoers.d
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/usr/local/bin
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/netplan
-       
-        ### head gets exports
-       if [ "$ROBOTS_TXT" = "y" ] || [ "$ROBOTS_TXT" = "Y" ] ### Copy robots.txt if selected.
-       then
-               eval cp -f $TEMPLATEDIR/apache2/robots.txt ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/var/web
-       fi
-       eval cp -f $TEMPLATEDIR/eg_fstab_head ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc
-       eval cp -f ${CERT_DIR}/server.* ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/ssl
-       eval cp -f ${CERT_DIR}/dhparams.pem ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/ssl
-       
-       [ -e "${CERT_DIR}/ca.crt" ] && eval cp -f "${CERT_DIR}/ca.crt" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/ssl
-       [ -e "${CERT_DIR}/dhparams.pem" ] && eval cp -f "${CERT_DIR}/dhparams.pem" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/ssl
-       [ -e "${CUSTOMDIR}/zips.txt" ] && eval cp -f "${CUSTOMDIR}/zips.txt"  ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/var/data/zips.txt
-       eval ls "${CUSTOMDIR}/*.po" >/dev/null 2>&1 && eval cp -f "${CUSTOMDIR}/*.po" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/var/data/locale/opac
-        eval cp -f $TEMPLATEDIR/opensrf_core.xml ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/conf
-       eval sed -i "s^UTILITY01_IP^$UTILITY01_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/eg_fstab_head
-       eval sed -i "s^UTILITY02_IP^$UTILITY02_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/eg_fstab_head
-       eval sed -i "s^UTILITY03_IP^$UTILITY03_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/eg_fstab_head
-       eval sed -i "s^REPORTER_OUTPUT_NFS_HOST_IP^$REPORTS_NFS_HOSTNAME_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/eg_fstab_head
-        eval sed -i "s^Brick_head_Fqdn^$(eval echo \$BRICKHOSTNAME${BRICK}_HEAD).$CLUSTERDOMAINNAME^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/openils/conf/opensrf_core.xml
-        #eval sed -i "s^OpenSRF_Password^$OPENSRF_PASSWORD^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/openils/conf/opensrf_core.xml
-       sed -i "s^OpenSRF_Password^$(echo $OPENSRF_PASSWORD | sed  -e 's^&^\\\&^g' -e 's/\^/\\\^/g')^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/openils/conf/opensrf_core.xml
-        cp -f $TEMPLATEDIR/opensrf.xml/opensrf.xml-full $TMPFOLDER/opensrf.xml-head
-        eval sed -i "s^NODE_HOST_NAME^$(eval echo \$BRICKHOSTNAME${BRICK}_HEAD)^g" $TMPFOLDER/opensrf.xml-head
-        cat $TMPFOLDER/opensrf.xml-head >> $TMPOPENSRF_XML
-
-        eval cp -f $TEMPLATEDIR/oils_web.xml ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/conf
-        eval cp -f $TEMPLATEDIR/oils_brick.cfg-header ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/conf/.oils_brick.cfg
-        eval sed -i "s^Priv_IP^$(eval echo \$BRICKHOSTNAME${BRICK}_HEAD_IP)^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/openils/conf/.oils_brick.cfg
-        eval printf 'export\ DRONES\=\(' >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/openils/conf/.oils_brick.cfg
-        eval cp -f $TEMPLATEDIR/apache2/eg.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/sites-available
-       eval cp -f $TEMPLATEDIR/nginx/osrf-ws-http-proxy ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/nginx/sites-available
-        #eval cp -f $TEMPLATEDIR/apache2/eg_vhost.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2
-       # no longer configuring mpm_prefork in apache2.conf, has its own config file
-       #eval cp -f $TEMPLATEDIR/apache2/apache2.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2
-       eval cp -f $TEMPLATEDIR/apache2/mpm_prefork.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/mods-available
-       eval cp -f $TEMPLATEDIR/apache2/mutex-file.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/conf-available
-       #eval cp -f $TEMPLATEDIR/apache2/eg_startup ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2
+    if [ "$GENERATE_BRICKS_IPS" = "n" ]
+    then
+        typeset BRICKHOSTNAME${BRICK}_HEAD_IP=$(eval echo "\$MANUAL_BRICK_IP_0${BRICK}")
+    else
+            typeset BRICKHOSTNAME${BRICK}_HEAD_IP="$PRIVATENET.${BRICK}0"
+    fi
+    echo "Brick${BRICK} Head IP Address set to: $(eval echo \$BRICKHOSTNAME${BRICK}_HEAD_IP)" >> "$NETCFGFILE"
+    [ "${BRICK}" = "1" ] && BRICK01_HEAD_IP="$(eval echo \$BRICKHOSTNAME${BRICK}_HEAD_IP)"
+    eval echo -e "\\\treal=\$BRICKHOSTNAME${BRICK}_HEAD_IP:80 masq" >> "$LVSCONFIGFILE"
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/conf
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/network
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/rsyslog.d
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/sites-available
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/sites-enabled
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/conf-available
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/mods-available
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/ssl
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/nginx/sites-available
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/nginx/sites-enabled
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/init.d
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/munin
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/var/run/evergreen
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/var/run/munin
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/var/data/offline
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/var/data/vandelay
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/var/data/locale/opac
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/var/web/reporter
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/systemd/system/apache2.service.d
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/sudoers.d
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/usr/local/bin
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/netplan
+    
+    if [ "$ROBOTS_TXT" = "y" ] || [ "$ROBOTS_TXT" = "Y" ] ### Copy robots.txt if selected.
+    then
+        eval cp -f $TEMPLATEDIR/apache2/robots.txt ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/var/web
+    fi
+    eval cp -f $TEMPLATEDIR/eg_fstab_head ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc
+    eval cp -f ${CERT_DIR}/server.* ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/ssl
+    eval cp -f ${CERT_DIR}/dhparams.pem ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/ssl
+    
+    [ -e "${CERT_DIR}/ca.crt" ] && eval cp -f "${CERT_DIR}/ca.crt" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/ssl
+    [ -e "${CERT_DIR}/dhparams.pem" ] && eval cp -f "${CERT_DIR}/dhparams.pem" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/ssl
+    [ -e "${CUSTOMDIR}/zips.txt" ] && eval cp -f "${CUSTOMDIR}/zips.txt"  ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/var/data/zips.txt
+    eval ls "${CUSTOMDIR}/*.po" >/dev/null 2>&1 && eval cp -f "${CUSTOMDIR}/*.po" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/var/data/locale/opac
+    eval cp -f $TEMPLATEDIR/opensrf_core.xml ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/conf
+    eval sed -i "s^UTILITY01_IP^$UTILITY01_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/eg_fstab_head
+    eval sed -i "s^UTILITY02_IP^$UTILITY02_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/eg_fstab_head
+    eval sed -i "s^UTILITY03_IP^$UTILITY03_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/eg_fstab_head
+    eval sed -i "s^REPORTER_OUTPUT_NFS_HOST_IP^$REPORTS_NFS_HOSTNAME_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/eg_fstab_head
+    eval sed -i "s^Brick_head_Fqdn^$(eval echo \$BRICKHOSTNAME${BRICK}_HEAD).$CLUSTERDOMAINNAME^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/openils/conf/opensrf_core.xml
+    sed -i "s^OpenSRF_Password^$(echo $OPENSRF_PASSWORD | sed  -e 's^&^\\\&^g' -e 's/\^/\\\^/g')^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/openils/conf/opensrf_core.xml
+    cp -f $TEMPLATEDIR/opensrf.xml/opensrf.xml-full $TMPFOLDER/opensrf.xml-head
+    eval sed -i "s^NODE_HOST_NAME^$(eval echo \$BRICKHOSTNAME${BRICK}_HEAD)^g" $TMPFOLDER/opensrf.xml-head
+    cat $TMPFOLDER/opensrf.xml-head >> $TMPOPENSRF_XML
+
+    eval cp -f $TEMPLATEDIR/oils_web.xml ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/conf
+    eval cp -f $TEMPLATEDIR/oils_brick.cfg-header ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/conf/.oils_brick.cfg
+    eval sed -i "s^Priv_IP^$(eval echo \$BRICKHOSTNAME${BRICK}_HEAD_IP)^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/openils/conf/.oils_brick.cfg
+    eval printf 'export\ DRONES\=\(' >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/openils/conf/.oils_brick.cfg
+    eval cp -f $TEMPLATEDIR/apache2/eg.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/sites-available
+    eval cp -f $TEMPLATEDIR/nginx/osrf-ws-http-proxy ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/nginx/sites-available
+    
+    # set up eg_vhost.conf
+    if [[ "$USE_NOVELIST" == "y" || "$USE_NOVELIST" == "Y" ]]; then
+        eval sed -i "s^GENASYS_NOVELIST_PROFILE^$NOVELIST_PROFILE^" $TEMPLATEDIR/apache2/eg_vhost.conf
+        eval sed -i "s^GENASYS_NOVELIST_PASSWORD^$NOVELIST_PROFILE^" $TEMPLATEDIR/apache2/eg_vhost.conf
+    fi
+    
+    if [[ "$USE_SYNDETICS" == "y" || "$USE_SYNDETICS" == "Y" ]]; then
+        eval sed -i "s^GENASYS_SYNDETICS_USER_ID^$SYNDETICS_USER_ID^" $TEMPLATEDIR/apache2/eg_vhost.conf
+    fi
+    eval sed -i "s^MEMCACHE01_IP^$MEMCACHE01_IP^" $TEMPLATEDIR/apache2/eg_vhost.conf
+    eval cp -f $TEMPLATEDIR/apache2/eg_vhost.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2
+
+    # no longer configuring mpm_prefork in apache2.conf, has its own config file
+    eval cp -f $TEMPLATEDIR/apache2/mpm_prefork.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/mods-available
+    eval cp -f $TEMPLATEDIR/apache2/mutex-file.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/conf-available
         eval cd ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/sites-enabled && ln -s ../sites-available/eg.conf . && \
         cd $WD
-       eval cd ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/nginx/sites-enabled && ln -s ../sites-available/osrf-ws-http-proxy . && cd $WD
+    eval cd ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/nginx/sites-enabled && ln -s ../sites-available/osrf-ws-http-proxy . && cd $WD
         eval cp -f $TEMPLATEDIR/interfaces ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/network
-       eval cp -f $TEMPLATEDIR/netplan/config.yaml ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/netplan
+    eval cp -f $TEMPLATEDIR/netplan/config.yaml ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/netplan
         eval cp -f $TMPFOLDER/ntp.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/
         eval cp -f $TMPFOLDER/resolv.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/
-       #sed -i "s^# OSRFTranslatorCacheServer 127.0.0.1:11211^OSRFTranslatorCacheServer $MEMCACHE01_IP:11211^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/apache2/eg_vhost.conf
-       [ "$CA_FILES_EXIST" = "y" ] &&  sed -i "s^#SSLCACertificateFile ssl/ca.crt^SSLCACertificateFile ssl/ca.crt^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/apache2/sites-available/eg.conf
+    #sed -i "s^# OSRFTranslatorCacheServer 127.0.0.1:11211^OSRFTranslatorCacheServer $MEMCACHE01_IP:11211^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/apache2/eg_vhost.conf
+    [ "$CA_FILES_EXIST" = "y" ] &&  sed -i "s^#SSLCACertificateFile ssl/ca.crt^SSLCACertificateFile ssl/ca.crt^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/apache2/sites-available/eg.conf
         eval sed -i "s^Priv_IP^$(eval echo \$BRICKHOSTNAME${BRICK}_HEAD_IP)^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/network/interfaces
-       eval sed -i "s^Priv_IP^$(eval echo \$BRICKHOSTNAME${BRICK}_HEAD_IP)^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/netplan/config.yaml
+    eval sed -i "s^Priv_IP^$(eval echo \$BRICKHOSTNAME${BRICK}_HEAD_IP)^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/netplan/config.yaml
         eval sed -i "s^Priv_NET^$PRIVATENET^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/network/interfaces
-       eval sed -i "s^Priv_NET^$PRIVATENET^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/netplan/config.yaml
-       eval sed -i "s^LVS01_Private_IP^$LVS01_PRIVATE_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/network/interfaces
-       eval sed -i "s^LVS01_Private_IP^$LVS01_PRIVATE_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/netplan/config.yaml
-       eval sed -i "s^LVS02_Private_IP^$LVS02_PRIVATE_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/network/interfaces
-       eval sed -i "s^LVS02_Private_IP^$LVS02_PRIVATE_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/netplan/config.yaml
-       eval sed -i "s^Cluster_Private_IP^$LVS01_PRIVATE_SHARED_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/network/interfaces
-       eval sed -i "s^Cluster_Private_IP^$LVS01_PRIVATE_SHARED_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/netplan/config.yaml
-       eval sed -i "s^CLUSTER_DOMAINNAME^${CLUSTERDOMAINNAME}^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/network/interfaces
-       eval sed -i "s^CLUSTER_DOMAINNAME^${CLUSTERDOMAINNAME}^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/netplan/config.yaml
+    eval sed -i "s^Priv_NET^$PRIVATENET^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/netplan/config.yaml
+    eval sed -i "s^LVS01_Private_IP^$LVS01_PRIVATE_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/network/interfaces
+    eval sed -i "s^LVS01_Private_IP^$LVS01_PRIVATE_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/netplan/config.yaml
+    eval sed -i "s^LVS02_Private_IP^$LVS02_PRIVATE_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/network/interfaces
+    eval sed -i "s^LVS02_Private_IP^$LVS02_PRIVATE_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/netplan/config.yaml
+    eval sed -i "s^Cluster_Private_IP^$LVS01_PRIVATE_SHARED_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/network/interfaces
+    eval sed -i "s^Cluster_Private_IP^$LVS01_PRIVATE_SHARED_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/netplan/config.yaml
+    eval sed -i "s^CLUSTER_DOMAINNAME^${CLUSTERDOMAINNAME}^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/network/interfaces
+    eval sed -i "s^CLUSTER_DOMAINNAME^${CLUSTERDOMAINNAME}^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/netplan/config.yaml
         #eval cp -f $TEMPLATEDIR/init/eg_opensrf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/init.d/opensrf
         eval cp -f $TEMPLATEDIR/setup-head.sh ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head
-       eval cp -f $TEMPLATEDIR/setup-vars ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/setup-vars
-       eval cp -f "$TEMPLATEDIR/setup-functions" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/setup-functions"
+    eval cp -f $TEMPLATEDIR/setup-vars ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/setup-vars
+    eval cp -f "$TEMPLATEDIR/setup-functions" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/setup-functions"
         eval sed -i "s^head_file^$(eval echo \$BRICKHOSTNAME${BRICK}-head)^g" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/setup-head.sh
-       eval sed -i "s^_EGVER^${VERSION_}^g" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/setup-head.sh
-       eval sed -i "s^_GENVER^${VERSION_}^g" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/setup-vars
-       eval sed -i "s^_EGVER^${EG_VERSION}^g" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/setup-vars
-       eval sed -i "s^Brick01_Head_IP^$BRICK01_HEAD_IP^g" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/setup-head.sh
+    eval sed -i "s^_EGVER^${VERSION_}^g" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/setup-head.sh
+    eval sed -i "s^_GENVER^${VERSION_}^g" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/setup-vars
+    eval sed -i "s^_EGVER^${EG_VERSION}^g" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/setup-vars
+    eval sed -i "s^Brick01_Head_IP^$BRICK01_HEAD_IP^g" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/setup-head.sh
         eval sed -i "s^CLUSTER_DOMAINNAME^${CLUSTERDOMAINNAME}^g" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/setup-head.sh
-       #TODO verify the outdir string if possible to simply
-       eval sed -i "s^Priv_IP^$(eval echo \$BRICKHOSTNAME${BRICK}_HEAD_IP)^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/setup-head.sh
-       eval sed -i "s^My_CIDR^$CLUSTER_CIDR^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/setup-head.sh
-       #TODO verify the outdir string if possible to simply ^^
+    #TODO verify the outdir string if possible to simply
+    eval sed -i "s^Priv_IP^$(eval echo \$BRICKHOSTNAME${BRICK}_HEAD_IP)^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/setup-head.sh
+    eval sed -i "s^My_CIDR^$CLUSTER_CIDR^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/setup-head.sh
+    #TODO verify the outdir string if possible to simply ^^
         eval cp -f $TEMPLATEDIR/apt/head_apt.list ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/\$BRICKHOSTNAME${BRICK}-head_apt.list
         eval cp -f $TMPFOLDER/60-evergreen-ils.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/rsyslog.d
-       eval cp -f $TEMPLATEDIR/rsyslog/50-default.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/rsyslog.d
-       eval cp -f $TEMPLATEDIR/systemd/autogen.service ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/systemd/system
-       eval cp -f $TEMPLATEDIR/systemd/apache2.service.d/10-partof_opensrf_service.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/systemd/system/apache2.service.d
-       eval cp -f $TEMPLATEDIR/systemd/opensrf.sudoers ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/sudoers.d/opensrf
-       eval cp -f $TEMPLATEDIR/monitor/check_osrf.sudoers ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/sudoers.d/nagios
-       eval cp -fP $TEMPLATEDIR/websocketd/websocket* ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/usr/local/bin
-       eval cp -f $TEMPLATEDIR/systemd/websocketd-osrf.service ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/systemd/system
-       #eval sed -i "s^CLUSTER_DOMAINNAME^${CLUSTERDOMAINNAME}^g" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/60-evergreen-ils.conf
-       
+    eval cp -f $TEMPLATEDIR/rsyslog/50-default.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/rsyslog.d
+    eval cp -f $TEMPLATEDIR/systemd/autogen.service ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/systemd/system
+    eval cp -f $TEMPLATEDIR/systemd/apache2.service.d/10-partof_opensrf_service.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/systemd/system/apache2.service.d
+    eval cp -f $TEMPLATEDIR/systemd/opensrf.sudoers ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/sudoers.d/opensrf
+    eval cp -f $TEMPLATEDIR/monitor/check_osrf.sudoers ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/sudoers.d/nagios
+    eval cp -fP $TEMPLATEDIR/websocketd/websocket* ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/usr/local/bin
+    eval cp -f $TEMPLATEDIR/systemd/websocketd-osrf.service ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/systemd/system
+    #eval sed -i "s^CLUSTER_DOMAINNAME^${CLUSTERDOMAINNAME}^g" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/60-evergreen-ils.conf
+    
         eval echo "\$BRICKHOSTNAME${BRICK}-head" > ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/hostname
         eval echo "\$BRICKHOSTNAME${BRICK}-head" >> $TMPOSRFNODES
         eval echo "\$BRICKHOSTNAME${BRICK}_HEAD_IP   \$BRICKHOSTNAME${BRICK}-head.${CLUSTERDOMAINNAME} public.\$BRICKHOSTNAME${BRICK}-head.${CLUSTERDOMAINNAME} private.\$BRICKHOSTNAME${BRICK}-head.${CLUSTERDOMAINNAME} \$BRICKHOSTNAME${BRICK}-head" >> $TMPHOSTS
-       eval printf "\$BRICKHOSTNAME${BRICK}-head\\\tA\\\t\$BRICKHOSTNAME${BRICK}_HEAD_IP\\\n" >> $TMPZONEFILE
-       eval printf "public.\$BRICKHOSTNAME${BRICK}-head\\\tA\\\t\$BRICKHOSTNAME${BRICK}_HEAD_IP\\\n" >> $TMPZONEFILE
-       eval printf "private.\$BRICKHOSTNAME${BRICK}-head\\\tA\\\t\$BRICKHOSTNAME${BRICK}_HEAD_IP\\\n" >> $TMPZONEFILE
-       if [ "$USE_DMZ" = "y" ] || [ "$USE_DMZ" = "Y" ]
-       then
-               eval printf "${BRICK}0\\\tIN\\\tPTR\\\t\$BRICKHOSTNAME${BRICK}-head.${CLUSTERDOMAINNAME}.\\\n" >> $TMPREVZONEFILE_DMZ
-               eval printf "${BRICK}0\\\tIN\\\tPTR\\\tpublic.\$BRICKHOSTNAME${BRICK}-head.${CLUSTERDOMAINNAME}.\\\n" >> $TMPREVZONEFILE_DMZ
-               eval printf "${BRICK}0\\\tIN\\\tPTR\\\tprivate.\$BRICKHOSTNAME${BRICK}-head.${CLUSTERDOMAINNAME}.\\\n" >> $TMPREVZONEFILE_DMZ
-       else
-               eval printf "${BRICK}0\\\tIN\\\tPTR\\\t\$BRICKHOSTNAME${BRICK}-head.${CLUSTERDOMAINNAME}.\\\n" >> $TMPREVZONEFILE
-               eval printf "${BRICK}0\\\tIN\\\tPTR\\\tpublic.\$BRICKHOSTNAME${BRICK}-head.${CLUSTERDOMAINNAME}.\\\n" >> $TMPREVZONEFILE
-               eval printf "${BRICK}0\\\tIN\\\tPTR\\\tprivate.\$BRICKHOSTNAME${BRICK}-head.${CLUSTERDOMAINNAME}.\\\n" >> $TMPREVZONEFILE
-       fi
-       eval echo "/openils/var/data/offline \$BRICKHOSTNAME${BRICK}_HEAD_IP\(rw,sync,no_subtree_check\)" >> $TMPFOLDER/exports
-       eval echo "/openils/var/data/vandelay \$BRICKHOSTNAME${BRICK}_HEAD_IP\(rw,sync,no_subtree_check\)" >> $TMPFOLDER/exports
-       eval echo "/storage/reports-output \$BRICKHOSTNAME${BRICK}_HEAD_IP\(ro,sync,no_subtree_check\)" >> $TMPFOLDER/exports_reporter
+    eval printf "\$BRICKHOSTNAME${BRICK}-head\\\tA\\\t\$BRICKHOSTNAME${BRICK}_HEAD_IP\\\n" >> $TMPZONEFILE
+    eval printf "public.\$BRICKHOSTNAME${BRICK}-head\\\tA\\\t\$BRICKHOSTNAME${BRICK}_HEAD_IP\\\n" >> $TMPZONEFILE
+    eval printf "private.\$BRICKHOSTNAME${BRICK}-head\\\tA\\\t\$BRICKHOSTNAME${BRICK}_HEAD_IP\\\n" >> $TMPZONEFILE
+    if [ "$USE_DMZ" = "y" ] || [ "$USE_DMZ" = "Y" ]
+    then
+        eval printf "${BRICK}0\\\tIN\\\tPTR\\\t\$BRICKHOSTNAME${BRICK}-head.${CLUSTERDOMAINNAME}.\\\n" >> $TMPREVZONEFILE_DMZ
+            eval printf "${BRICK}0\\\tIN\\\tPTR\\\tpublic.\$BRICKHOSTNAME${BRICK}-head.${CLUSTERDOMAINNAME}.\\\n" >> $TMPREVZONEFILE_DMZ
+            eval printf "${BRICK}0\\\tIN\\\tPTR\\\tprivate.\$BRICKHOSTNAME${BRICK}-head.${CLUSTERDOMAINNAME}.\\\n" >> $TMPREVZONEFILE_DMZ
+    else
+        eval printf "${BRICK}0\\\tIN\\\tPTR\\\t\$BRICKHOSTNAME${BRICK}-head.${CLUSTERDOMAINNAME}.\\\n" >> $TMPREVZONEFILE
+        eval printf "${BRICK}0\\\tIN\\\tPTR\\\tpublic.\$BRICKHOSTNAME${BRICK}-head.${CLUSTERDOMAINNAME}.\\\n" >> $TMPREVZONEFILE
+        eval printf "${BRICK}0\\\tIN\\\tPTR\\\tprivate.\$BRICKHOSTNAME${BRICK}-head.${CLUSTERDOMAINNAME}.\\\n" >> $TMPREVZONEFILE
+    fi
+    eval echo "/openils/var/data/offline \$BRICKHOSTNAME${BRICK}_HEAD_IP\(rw,sync,no_subtree_check\)" >> $TMPFOLDER/exports
+    eval echo "/openils/var/data/vandelay \$BRICKHOSTNAME${BRICK}_HEAD_IP\(rw,sync,no_subtree_check\)" >> $TMPFOLDER/exports
+    eval echo "/storage/reports-output \$BRICKHOSTNAME${BRICK}_HEAD_IP\(ro,sync,no_subtree_check\)" >> $TMPFOLDER/exports_reporter
         printf ")\n" >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/openils/conf/.oils_brick.cfg
         sed -i 's^ )^)^g' ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/openils/conf/.oils_brick.cfg
         eval cat $TEMPLATEDIR/oils_brick.cfg-footer >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/openils/conf/.oils_brick.cfg
-       BRICK_HEAD_LIST="$BRICK_HEAD_LIST$(eval printf "\$BRICKHOSTNAME${BRICK}-head\ ")"
-       ### Monitoring
-       printf 'define host {\n' >>$TMPNAGIHOSTS;eval printf "\\\thost_name\\\t\$BRICKHOSTNAME${BRICK}-head\\\n" >>$TMPNAGIHOSTS
-       eval printf "\\\talias\\\t\\\t\$BRICKHOSTNAME${BRICK}-head\\\n" >>$TMPNAGIHOSTS
-       eval printf "\\\taddress\\\t\\\t\$BRICKHOSTNAME${BRICK}_HEAD_IP\\\n" >>$TMPNAGIHOSTS
-       printf '\tuse\t\tgeneric-host\n}\n' >>$TMPNAGIHOSTS
-
-       ### Build munin-node.conf file.
+    BRICK_HEAD_LIST="$BRICK_HEAD_LIST$(eval printf "\$BRICKHOSTNAME${BRICK}-head\ ")"
+    ### Monitoring
+    printf 'define host {\n' >>$TMPNAGIHOSTS;eval printf "\\\thost_name\\\t\$BRICKHOSTNAME${BRICK}-head\\\n" >>$TMPNAGIHOSTS
+    eval printf "\\\talias\\\t\\\t\$BRICKHOSTNAME${BRICK}-head\\\n" >>$TMPNAGIHOSTS
+    eval printf "\\\taddress\\\t\\\t\$BRICKHOSTNAME${BRICK}_HEAD_IP\\\n" >>$TMPNAGIHOSTS
+    printf '\tuse\t\tgeneric-host\n}\n' >>$TMPNAGIHOSTS
+
+    ### Build munin-node.conf file.
         #eval echo "host_name \$BRICKHOSTNAME${BRICK}-head" >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/munin/munin-node.conf
-       cp -f $TEMPLATEDIR/monitor/munin-node.conf ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/munin/munin-node.conf
+    cp -f $TEMPLATEDIR/monitor/munin-node.conf ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/munin/munin-node.conf
         eval sed -i "s^MONITORED_NODENAME.CLUSTER_DOMAIN_NAME^$(eval echo \$BRICKHOSTNAME${BRICK}-head.$CLUSTERDOMAINNAME)^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/munin/munin-node.conf
         echo "allow $MONITOR01_IP" >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/munin/munin-node.conf
         echo "allow $MONITOR02_IP" >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/munin/munin-node.conf
-       #eval echo "host \$BRICKHOSTNAME${BRICK}_HEAD_IP" >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/munin/munin-node.conf
+    #eval echo "host \$BRICKHOSTNAME${BRICK}_HEAD_IP" >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/munin/munin-node.conf
 
         ### Build munin.conf file. 
         eval echo -e "[${CLUSTERDOMAINNAME}\;\$BRICKHOSTNAME${BRICK}-head.${CLUSTERDOMAINNAME}]" >>$TMPMUNINCONF
         #eval echo -e "\\\taddress \$BRICKHOSTNAME${BRICK}_HEAD_IP" >>$TMPMUNINCONF
-       eval echo -e "\\\taddress \$BRICKHOSTNAME${BRICK}-head.${CLUSTERDOMAINNAME}" >>$TMPMUNINCONF
+    eval echo -e "\\\taddress \$BRICKHOSTNAME${BRICK}-head.${CLUSTERDOMAINNAME}" >>$TMPMUNINCONF
         #eval echo -e "\\\thost_name \$BRICKHOSTNAME${BRICK}-head.${CLUSTERDOMAINNAME}" >>$TMPMUNINCONF
         echo >>$TMPMUNINCONF
 
@@ -2105,145 +2113,145 @@ for BRICK in $(seq $BRICKCOUNT)
         do
         eval cat $TMPHOSTS >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/hosts
         eval sed -i "s^thishost^$(eval echo \$BRICKHOSTNAME${BRICK})-head^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/hosts
-       [ -z "$HOSTNAME_PREFIX" ] || sed -i "s^${HOSTNAME_PREFIX}-${HOSTNAME_PREFIX}^${HOSTNAME_PREFIX}^g"  ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/hosts
+    [ -z "$HOSTNAME_PREFIX" ] || sed -i "s^${HOSTNAME_PREFIX}-${HOSTNAME_PREFIX}^${HOSTNAME_PREFIX}^g"  ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/hosts
         done
 }
 
 CreateBricksAndDrones () { ### Create config for bricks with seperate drones
 if [ "$USE_DMZ" = "y" ] || [ "$USE_DMZ" = "Y" ]
 then
-       Set_DMZ_Net
+    Set_DMZ_Net
 fi
 for BRICK in $(seq $BRICKCOUNT)
-       do
-       if [ -z "$HOSTNAME_PREFIX" ] ; then
+    do
+    if [ -z "$HOSTNAME_PREFIX" ] ; then
         typeset BRICKHOSTNAME${BRICK}="brick0${BRICK}"
                 else
                 typeset BRICKHOSTNAME${BRICK}="${HOSTNAME_PREFIX}-brick0${BRICK}"
         fi
-       echo >> "$NETCFGFILE"
-       eval echo \$BRICKHOSTNAME${BRICK} >> "$NETCFGFILE"
-       echo "Brick${BRICK} hostname set to: $(eval echo \$BRICKHOSTNAME${BRICK})" >> "$NETCFGFILE"
-       typeset BRICKHOSTNAME${BRICK}_HEAD="$(eval echo \$BRICKHOSTNAME${BRICK}-head)"
-       echo "Brick${BRICK} Head hostname set to: $(eval echo \$BRICKHOSTNAME${BRICK}_HEAD)" >> "$NETCFGFILE"
-       typeset BRICKHOSTNAME${BRICK}_HEAD_IP="$PRIVATENET.${BRICK}0"
-       echo "Brick${BRICK} Head IP Address set to: $(eval echo \$BRICKHOSTNAME${BRICK}_HEAD_IP)" >> "$NETCFGFILE"
-       [ "${BRICK}" = "1" ] && BRICK01_HEAD_IP="$(eval echo \$BRICKHOSTNAME${BRICK}_HEAD_IP)"
-       eval echo -e "\\\treal=\$BRICKHOSTNAME${BRICK}_HEAD_IP:80 masq" >> "$LVSCONFIGFILE"
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/conf
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/network
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/rsyslog.d
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/sites-available
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/sites-enabled
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/conf-available
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/mods-available
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/ssl
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/nginx/sites-available
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/nginx/sites-enabled
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/init.d
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/munin
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/var/run/evergreen
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/var/run/munin
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/var/data/offline
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/var/data/vandelay
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/var/data/locale/opac
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/var/web/reporter
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/systemd/system/apache2.service.d
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/sudoers.d
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/usr/local/bin
-       eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/netplan
-       ### head gets exports
-       if [ "$ROBOTS_TXT" = "y" ] || [ "$ROBOTS_TXT" = "Y" ] ### Copy robots.txt if selected.
+    echo >> "$NETCFGFILE"
+    eval echo \$BRICKHOSTNAME${BRICK} >> "$NETCFGFILE"
+    echo "Brick${BRICK} hostname set to: $(eval echo \$BRICKHOSTNAME${BRICK})" >> "$NETCFGFILE"
+    typeset BRICKHOSTNAME${BRICK}_HEAD="$(eval echo \$BRICKHOSTNAME${BRICK}-head)"
+    echo "Brick${BRICK} Head hostname set to: $(eval echo \$BRICKHOSTNAME${BRICK}_HEAD)" >> "$NETCFGFILE"
+    typeset BRICKHOSTNAME${BRICK}_HEAD_IP="$PRIVATENET.${BRICK}0"
+    echo "Brick${BRICK} Head IP Address set to: $(eval echo \$BRICKHOSTNAME${BRICK}_HEAD_IP)" >> "$NETCFGFILE"
+    [ "${BRICK}" = "1" ] && BRICK01_HEAD_IP="$(eval echo \$BRICKHOSTNAME${BRICK}_HEAD_IP)"
+    eval echo -e "\\\treal=\$BRICKHOSTNAME${BRICK}_HEAD_IP:80 masq" >> "$LVSCONFIGFILE"
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/conf
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/network
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/rsyslog.d
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/sites-available
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/sites-enabled
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/conf-available
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/mods-available
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/ssl
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/nginx/sites-available
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/nginx/sites-enabled
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/init.d
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/munin
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/var/run/evergreen
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/var/run/munin
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/var/data/offline
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/var/data/vandelay
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/var/data/locale/opac
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/var/web/reporter
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/systemd/system/apache2.service.d
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/sudoers.d
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/usr/local/bin
+    eval mkdir -p ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/netplan
+    ### head gets exports
+    if [ "$ROBOTS_TXT" = "y" ] || [ "$ROBOTS_TXT" = "Y" ] ### Copy robots.txt if selected.
         then
                 eval cp -f $TEMPLATEDIR/apache2/robots.txt ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/var/web
         fi
-       eval cp -f $TEMPLATEDIR/eg_fstab_head ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc
-       eval cp -f ${CERT_DIR}/server.* ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/ssl
-       [ -e "${CERT_DIR}/ca.crt" ] && eval cp -f "${CERT_DIR}/ca.crt" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/ssl
-       [ -e "${CERT_DIR}/dhparams.pem" ] && eval cp -f "${CERT_DIR}/dhparams.pem" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/ssl
-       [ -e "${CUSTOMDIR}/zips.txt" ] && eval cp -f "${CUSTOMDIR}/zips.txt"  ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/var/data/zips.txt
-       eval ls "${CUSTOMDIR}/*.po" >/dev/null 2>&1 && eval cp -f "${CUSTOMDIR}/*.po" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/var/data/locale/opac
-       eval sed -i "s^UTILITY01_IP^$UTILITY01_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/eg_fstab_head
-       eval sed -i "s^UTILITY02_IP^$UTILITY02_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/eg_fstab_head
-       eval sed -i "s^UTILITY03_IP^$UTILITY03_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/eg_fstab_head
+    eval cp -f $TEMPLATEDIR/eg_fstab_head ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc
+    eval cp -f ${CERT_DIR}/server.* ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/ssl
+    [ -e "${CERT_DIR}/ca.crt" ] && eval cp -f "${CERT_DIR}/ca.crt" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/ssl
+    [ -e "${CERT_DIR}/dhparams.pem" ] && eval cp -f "${CERT_DIR}/dhparams.pem" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/ssl
+    [ -e "${CUSTOMDIR}/zips.txt" ] && eval cp -f "${CUSTOMDIR}/zips.txt"  ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/var/data/zips.txt
+    eval ls "${CUSTOMDIR}/*.po" >/dev/null 2>&1 && eval cp -f "${CUSTOMDIR}/*.po" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/var/data/locale/opac
+    eval sed -i "s^UTILITY01_IP^$UTILITY01_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/eg_fstab_head
+    eval sed -i "s^UTILITY02_IP^$UTILITY02_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/eg_fstab_head
+    eval sed -i "s^UTILITY03_IP^$UTILITY03_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/eg_fstab_head
         eval sed -i "s^REPORTER_OUTPUT_NFS_HOST_IP^$REPORTS_NFS_HOSTNAME_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/eg_fstab_head
-       eval cp -f $TEMPLATEDIR/opensrf_core.xml ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/conf
-       eval sed -i "s^Brick_head_Fqdn^$(eval echo \$BRICKHOSTNAME${BRICK}_HEAD).$CLUSTERDOMAINNAME^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/openils/conf/opensrf_core.xml
-       #eval sed -i "s^OpenSRF_Password^$OPENSRF_PASSWORD^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/openils/conf/opensrf_core.xml
-       sed -i "s^OpenSRF_Password^$(echo $OPENSRF_PASSWORD | sed  -e 's^&^\\\&^g' -e 's/\^/\\\^/g')^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/openils/conf/opensrf_core.xml
-       cp -f $TEMPLATEDIR/opensrf.xml/opensrf.xml-head $TMPFOLDER/opensrf.xml-head
-       eval sed -i "s^NODE_HOST_NAME^$(eval echo \$BRICKHOSTNAME${BRICK}_HEAD)^g" $TMPFOLDER/opensrf.xml-head
-       cat $TMPFOLDER/opensrf.xml-head >> $TMPOPENSRF_XML
-       #;eval cp -f $TEMPLATEDIR/opensrf.xml ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/conf
-       
-       eval cp -f $TEMPLATEDIR/oils_web.xml ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/conf
-       eval cp -f $TEMPLATEDIR/oils_brick.cfg-header ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/conf/.oils_brick.cfg
-       eval sed -i "s^Priv_IP^$(eval echo \$BRICKHOSTNAME${BRICK}_HEAD_IP)^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/openils/conf/.oils_brick.cfg
-       eval printf 'export\ DRONES\=\(' >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/openils/conf/.oils_brick.cfg
-       eval cp -f $TEMPLATEDIR/apache2/eg.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/sites-available
-       eval cp -f $TEMPLATEDIR/nginx/osrf-ws-http-proxy ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/nginx/sites-available
-       #eval cp -f $TEMPLATEDIR/apache2/eg_vhost.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2
-       # no longer configuring mpm_prefork in apache2.conf, has its own config file
-       #eval cp -f $TEMPLATEDIR/apache2/apache2.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2
-       eval cp -f $TEMPLATEDIR/apache2/mpm_prefork.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/mods-available
-       eval cp -f $TEMPLATEDIR/apache2/mutex-file.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/conf-available
-       #eval cp -f $TEMPLATEDIR/apache2/eg_startup ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2
-       eval cd ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/sites-enabled && ln -s ../sites-available/eg.conf . && \
-       cd $WD
-       eval cd ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/nginx/sites-enabled && ln -s ../sites-available/osrf-ws-http-proxy . && cd $WD
-       eval cp -f $TEMPLATEDIR/interfaces ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/network
-       eval cp -f $TEMPLATEDIR/netplan/config.yaml ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/netplan
-       eval cp -f $TMPFOLDER/ntp.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/
-       eval cp -f $TMPFOLDER/resolv.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/
-       #sed -i "s^# OSRFTranslatorCacheServer 127.0.0.1:11211^OSRFTranslatorCacheServer $MEMCACHE01_IP:11211^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/apache2/eg_vhost.conf
-       [ "$CA_FILES_EXIST" = "y" ] &&  sed -i "s^#SSLCACertificateFile ssl/ca.crt^SSLCACertificateFile ssl/ca.crt^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/apache2/sites-available/eg.conf
-       eval sed -i "s^Priv_IP^$(eval echo \$BRICKHOSTNAME${BRICK}_HEAD_IP)^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/network/interfaces
-       eval sed -i "s^Priv_IP^$(eval echo \$BRICKHOSTNAME${BRICK}_HEAD_IP)^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/netplan/config.yaml
-       eval sed -i "s^Priv_NET^$PRIVATENET^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/network/interfaces
-       eval sed -i "s^Priv_NET^$PRIVATENET^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/netplan/config.yaml
-       eval sed -i "s^LVS01_Private_IP^$LVS01_PRIVATE_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/network/interfaces
-       eval sed -i "s^LVS01_Private_IP^$LVS01_PRIVATE_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/netplan/config.yaml
-       eval sed -i "s^LVS02_Private_IP^$LVS02_PRIVATE_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/network/interfaces
-       eval sed -i "s^LVS02_Private_IP^$LVS02_PRIVATE_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/netplan/config.yaml
-       eval sed -i "s^Cluster_Private_IP^$LVS01_PRIVATE_SHARED_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/network/interfaces
-       eval sed -i "s^Cluster_Private_IP^$LVS01_PRIVATE_SHARED_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/netplan/config.yaml
-       eval sed -i "s^CLUSTER_DOMAINNAME^${CLUSTERDOMAINNAME}^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/network/interfaces
-       eval sed -i "s^CLUSTER_DOMAINNAME^${CLUSTERDOMAINNAME}^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/netplan/config.yaml
-       eval cp -f $TEMPLATEDIR/exports ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/
-       eval echo "/openils/var/data/offline \$BRICKHOSTNAME${BRICK}_HEAD_IP\(rw,sync,no_subtree_check\)" >> $TMPFOLDER/exports
-       eval echo "/openils/var/data/vandelay \$BRICKHOSTNAME${BRICK}_HEAD_IP\(rw,sync,no_subtree_check\)" >> $TMPFOLDER/exports
-       eval echo "/storage/reports-output \$BRICKHOSTNAME${BRICK}_HEAD_IP\(ro,sync,no_subtree_check\)" >> $TMPFOLDER/exports_reporter
-       # eval cp -f $TEMPLATEDIR/init/eg_opensrf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/init.d/opensrf
-       eval cp -f $TEMPLATEDIR/setup-head.sh ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head
-       eval cp -f $TEMPLATEDIR/setup-vars ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/setup-vars
-       eval cp -f "$TEMPLATEDIR/setup-functions" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/setup-functions"
-       eval sed -i "s^_EGVER^${VERSION_}^g" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/setup-head.sh
-       eval sed -i "s^_GENVER^${VERSION_}^g" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/setup-vars
-       eval sed -i "s^_EGVER^${EG_VERSION}^g" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/setup-vars
-       eval sed -i "s^head_file^$(eval echo \$BRICKHOSTNAME${BRICK}-head)^g" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/setup-head.sh
-       eval sed -i "s^Brick01_Head_IP^$BRICK01_HEAD_IP^g" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/setup-head.sh
-       eval sed -i "s^CLUSTER_DOMAINNAME^${CLUSTERDOMAINNAME}^g" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/setup-head.sh
-       eval sed -i "s^Priv_IP^$(eval echo \$BRICKHOSTNAME${BRICK}_HEAD_IP)^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/setup-head.sh
+    eval cp -f $TEMPLATEDIR/opensrf_core.xml ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/conf
+    eval sed -i "s^Brick_head_Fqdn^$(eval echo \$BRICKHOSTNAME${BRICK}_HEAD).$CLUSTERDOMAINNAME^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/openils/conf/opensrf_core.xml
+    #eval sed -i "s^OpenSRF_Password^$OPENSRF_PASSWORD^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/openils/conf/opensrf_core.xml
+    sed -i "s^OpenSRF_Password^$(echo $OPENSRF_PASSWORD | sed  -e 's^&^\\\&^g' -e 's/\^/\\\^/g')^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/openils/conf/opensrf_core.xml
+    cp -f $TEMPLATEDIR/opensrf.xml/opensrf.xml-head $TMPFOLDER/opensrf.xml-head
+    eval sed -i "s^NODE_HOST_NAME^$(eval echo \$BRICKHOSTNAME${BRICK}_HEAD)^g" $TMPFOLDER/opensrf.xml-head
+    cat $TMPFOLDER/opensrf.xml-head >> $TMPOPENSRF_XML
+    #;eval cp -f $TEMPLATEDIR/opensrf.xml ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/conf
+    
+    eval cp -f $TEMPLATEDIR/oils_web.xml ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/conf
+    eval cp -f $TEMPLATEDIR/oils_brick.cfg-header ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/openils/conf/.oils_brick.cfg
+    eval sed -i "s^Priv_IP^$(eval echo \$BRICKHOSTNAME${BRICK}_HEAD_IP)^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/openils/conf/.oils_brick.cfg
+    eval printf 'export\ DRONES\=\(' >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/openils/conf/.oils_brick.cfg
+    eval cp -f $TEMPLATEDIR/apache2/eg.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/sites-available
+    eval cp -f $TEMPLATEDIR/nginx/osrf-ws-http-proxy ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/nginx/sites-available
+    #eval cp -f $TEMPLATEDIR/apache2/eg_vhost.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2
+    # no longer configuring mpm_prefork in apache2.conf, has its own config file
+    #eval cp -f $TEMPLATEDIR/apache2/apache2.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2
+    eval cp -f $TEMPLATEDIR/apache2/mpm_prefork.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/mods-available
+    eval cp -f $TEMPLATEDIR/apache2/mutex-file.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/conf-available
+    #eval cp -f $TEMPLATEDIR/apache2/eg_startup ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2
+    eval cd ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/apache2/sites-enabled && ln -s ../sites-available/eg.conf . && \
+    cd $WD
+    eval cd ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/nginx/sites-enabled && ln -s ../sites-available/osrf-ws-http-proxy . && cd $WD
+    eval cp -f $TEMPLATEDIR/interfaces ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/network
+    eval cp -f $TEMPLATEDIR/netplan/config.yaml ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/netplan
+    eval cp -f $TMPFOLDER/ntp.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/
+    eval cp -f $TMPFOLDER/resolv.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/
+    #sed -i "s^# OSRFTranslatorCacheServer 127.0.0.1:11211^OSRFTranslatorCacheServer $MEMCACHE01_IP:11211^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/apache2/eg_vhost.conf
+    [ "$CA_FILES_EXIST" = "y" ] &&  sed -i "s^#SSLCACertificateFile ssl/ca.crt^SSLCACertificateFile ssl/ca.crt^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/apache2/sites-available/eg.conf
+    eval sed -i "s^Priv_IP^$(eval echo \$BRICKHOSTNAME${BRICK}_HEAD_IP)^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/network/interfaces
+    eval sed -i "s^Priv_IP^$(eval echo \$BRICKHOSTNAME${BRICK}_HEAD_IP)^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/netplan/config.yaml
+    eval sed -i "s^Priv_NET^$PRIVATENET^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/network/interfaces
+    eval sed -i "s^Priv_NET^$PRIVATENET^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/netplan/config.yaml
+    eval sed -i "s^LVS01_Private_IP^$LVS01_PRIVATE_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/network/interfaces
+    eval sed -i "s^LVS01_Private_IP^$LVS01_PRIVATE_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/netplan/config.yaml
+    eval sed -i "s^LVS02_Private_IP^$LVS02_PRIVATE_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/network/interfaces
+    eval sed -i "s^LVS02_Private_IP^$LVS02_PRIVATE_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/netplan/config.yaml
+    eval sed -i "s^Cluster_Private_IP^$LVS01_PRIVATE_SHARED_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/network/interfaces
+    eval sed -i "s^Cluster_Private_IP^$LVS01_PRIVATE_SHARED_IP^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/netplan/config.yaml
+    eval sed -i "s^CLUSTER_DOMAINNAME^${CLUSTERDOMAINNAME}^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/network/interfaces
+    eval sed -i "s^CLUSTER_DOMAINNAME^${CLUSTERDOMAINNAME}^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/netplan/config.yaml
+    eval cp -f $TEMPLATEDIR/exports ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/
+    eval echo "/openils/var/data/offline \$BRICKHOSTNAME${BRICK}_HEAD_IP\(rw,sync,no_subtree_check\)" >> $TMPFOLDER/exports
+    eval echo "/openils/var/data/vandelay \$BRICKHOSTNAME${BRICK}_HEAD_IP\(rw,sync,no_subtree_check\)" >> $TMPFOLDER/exports
+    eval echo "/storage/reports-output \$BRICKHOSTNAME${BRICK}_HEAD_IP\(ro,sync,no_subtree_check\)" >> $TMPFOLDER/exports_reporter
+    # eval cp -f $TEMPLATEDIR/init/eg_opensrf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/init.d/opensrf
+    eval cp -f $TEMPLATEDIR/setup-head.sh ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head
+    eval cp -f $TEMPLATEDIR/setup-vars ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/setup-vars
+    eval cp -f "$TEMPLATEDIR/setup-functions" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/setup-functions"
+    eval sed -i "s^_EGVER^${VERSION_}^g" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/setup-head.sh
+    eval sed -i "s^_GENVER^${VERSION_}^g" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/setup-vars
+    eval sed -i "s^_EGVER^${EG_VERSION}^g" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/setup-vars
+    eval sed -i "s^head_file^$(eval echo \$BRICKHOSTNAME${BRICK}-head)^g" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/setup-head.sh
+    eval sed -i "s^Brick01_Head_IP^$BRICK01_HEAD_IP^g" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/setup-head.sh
+    eval sed -i "s^CLUSTER_DOMAINNAME^${CLUSTERDOMAINNAME}^g" ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/setup-head.sh
+    eval sed -i "s^Priv_IP^$(eval echo \$BRICKHOSTNAME${BRICK}_HEAD_IP)^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/setup-head.sh
         eval sed -i "s^My_CIDR^$CLUSTER_CIDR^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/setup-head.sh
-       eval cp -f $TEMPLATEDIR/apt/head_apt.list ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/\$BRICKHOSTNAME${BRICK}-head_apt.list
-       eval cp -f $TMPFOLDER/60-evergreen-ils.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/rsyslog.d
-       eval cp -f $TEMPLATEDIR/rsyslog/50-default.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/rsyslog.d
-       eval cp -f $TEMPLATEDIR/systemd/autogen.service ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/systemd/system
-       eval cp -f $TEMPLATEDIR/systemd/apache2.service.d/10-partof_opensrf_service.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/systemd/apache2.service.d
-       eval cp -f $TEMPLATEDIR/systemd/opensrf.sudoers ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/sudoers.d/opensrf
-       eval cp -f $TEMPLATEDIR/monitor/check_osrf.sudoers ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/sudoers.d/nagios
-       eval cp -fP $TEMPLATEDIR/websocketd/websocket* ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/usr/local/bin
-       eval cp -f $TEMPLATEDIR/systemd/websocketd-osrf.service ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/systemd/system
-       #eval cp -f /tmp/rsyslog.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/
-       eval echo "\$BRICKHOSTNAME${BRICK}-head" > ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/hostname
-       eval echo "\$BRICKHOSTNAME${BRICK}-head" >> $TMPOSRFNODES
-       eval echo "\$BRICKHOSTNAME${BRICK}_HEAD_IP   \$BRICKHOSTNAME${BRICK}-head.${CLUSTERDOMAINNAME} public.\$BRICKHOSTNAME${BRICK}-head.${CLUSTERDOMAINNAME} private.\$BRICKHOSTNAME${BRICK}-head.${CLUSTERDOMAINNAME} \$BRICKHOSTNAME${BRICK}-head" >> $TMPHOSTS
-       eval printf "\$BRICKHOSTNAME${BRICK}-head\\\tA\\\t\$BRICKHOSTNAME${BRICK}_HEAD_IP\\\n" >> $TMPZONEFILE
+    eval cp -f $TEMPLATEDIR/apt/head_apt.list ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/\$BRICKHOSTNAME${BRICK}-head_apt.list
+    eval cp -f $TMPFOLDER/60-evergreen-ils.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/rsyslog.d
+    eval cp -f $TEMPLATEDIR/rsyslog/50-default.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/rsyslog.d
+    eval cp -f $TEMPLATEDIR/systemd/autogen.service ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/systemd/system
+    eval cp -f $TEMPLATEDIR/systemd/apache2.service.d/10-partof_opensrf_service.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/systemd/apache2.service.d
+    eval cp -f $TEMPLATEDIR/systemd/opensrf.sudoers ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/sudoers.d/opensrf
+    eval cp -f $TEMPLATEDIR/monitor/check_osrf.sudoers ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/sudoers.d/nagios
+    eval cp -fP $TEMPLATEDIR/websocketd/websocket* ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/usr/local/bin
+    eval cp -f $TEMPLATEDIR/systemd/websocketd-osrf.service ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/systemd/system
+    #eval cp -f /tmp/rsyslog.conf ${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-head/etc/
+    eval echo "\$BRICKHOSTNAME${BRICK}-head" > ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/hostname
+    eval echo "\$BRICKHOSTNAME${BRICK}-head" >> $TMPOSRFNODES
+    eval echo "\$BRICKHOSTNAME${BRICK}_HEAD_IP   \$BRICKHOSTNAME${BRICK}-head.${CLUSTERDOMAINNAME} public.\$BRICKHOSTNAME${BRICK}-head.${CLUSTERDOMAINNAME} private.\$BRICKHOSTNAME${BRICK}-head.${CLUSTERDOMAINNAME} \$BRICKHOSTNAME${BRICK}-head" >> $TMPHOSTS
+    eval printf "\$BRICKHOSTNAME${BRICK}-head\\\tA\\\t\$BRICKHOSTNAME${BRICK}_HEAD_IP\\\n" >> $TMPZONEFILE
         eval printf "public.\$BRICKHOSTNAME${BRICK}-head\\\tA\\\t\$BRICKHOSTNAME${BRICK}_HEAD_IP\\\n" >> $TMPZONEFILE
         eval printf "private.\$BRICKHOSTNAME${BRICK}-head\\\tA\\\t\$BRICKHOSTNAME${BRICK}_HEAD_IP\\\n" >> $TMPZONEFILE
-       if [ "$USE_DMZ" = "y" ] || [ "$USE_DMZ" = "Y" ]
+    if [ "$USE_DMZ" = "y" ] || [ "$USE_DMZ" = "Y" ]
         then
                 eval printf "${BRICK}0\\\tIN\\\tPTR\\\t\$BRICKHOSTNAME${BRICK}-head.${CLUSTERDOMAINNAME}.\\\n" >> $TMPREVZONEFILE_DMZ
                 eval printf "${BRICK}0\\\tIN\\\tPTR\\\tpublic.\$BRICKHOSTNAME${BRICK}-head.${CLUSTERDOMAINNAME}.\\\n" >> $TMPREVZONEFILE_DMZ
@@ -2253,144 +2261,144 @@ for BRICK in $(seq $BRICKCOUNT)
                 eval printf "${BRICK}0\\\tIN\\\tPTR\\\tpublic.\$BRICKHOSTNAME${BRICK}-head.${CLUSTERDOMAINNAME}.\\\n" >> $TMPREVZONEFILE
                 eval printf "${BRICK}0\\\tIN\\\tPTR\\\tprivate.\$BRICKHOSTNAME${BRICK}-head.${CLUSTERDOMAINNAME}.\\\n" >> $TMPREVZONEFILE
         fi
-       BRICK_HEAD_LIST="$BRICK_HEAD_LIST$(eval printf "\$BRICKHOSTNAME${BRICK}-head\ ")"
-       ### Monitoring
+    BRICK_HEAD_LIST="$BRICK_HEAD_LIST$(eval printf "\$BRICKHOSTNAME${BRICK}-head\ ")"
+    ### Monitoring
         printf 'define host {\n' >>$TMPNAGIHOSTS;eval printf "\\\thost_name\\\t\$BRICKHOSTNAME${BRICK}-head\\\n" >>$TMPNAGIHOSTS
         eval printf "\\\talias\\\t\\\t\$BRICKHOSTNAME${BRICK}-head\\\n" >>$TMPNAGIHOSTS
         eval printf "\\\taddress\\\t\\\t\$BRICKHOSTNAME${BRICK}_HEAD_IP\\\n" >>$TMPNAGIHOSTS
         printf '\tuse\t\tgeneric-host\n}\n' >>$TMPNAGIHOSTS
-       
-       ### Build munin-node.conf file.
+    
+    ### Build munin-node.conf file.
         #eval echo "host_name \$BRICKHOSTNAME${BRICK}-head" >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/munin/munin-node.conf
-       cp -f $TEMPLATEDIR/monitor/munin-node.conf ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/munin/munin-node.conf
+    cp -f $TEMPLATEDIR/monitor/munin-node.conf ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/munin/munin-node.conf
         eval sed -i "s^MONITORED_NODENAME.CLUSTER_DOMAIN_NAME^$(eval echo \$BRICKHOSTNAME${BRICK}-head.$CLUSTERDOMAINNAME)^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/munin/munin-node.conf
         echo "allow $MONITOR01_IP" >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/munin/munin-node.conf
         echo "allow $MONITOR02_IP" >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/munin/munin-node.conf
         #eval echo "host \$BRICKHOSTNAME${BRICK}_HEAD_IP" >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/munin/munin-node.conf
         
         ### Build munin.conf file. 
-       eval echo -e "[${CLUSTERDOMAINNAME}\;\$BRICKHOSTNAME${BRICK}-head.${CLUSTERDOMAINNAME}]" >>$TMPMUNINCONF
+    eval echo -e "[${CLUSTERDOMAINNAME}\;\$BRICKHOSTNAME${BRICK}-head.${CLUSTERDOMAINNAME}]" >>$TMPMUNINCONF
         #eval echo -e "\\\taddress \$BRICKHOSTNAME${BRICK}_HEAD_IP" >>$TMPMUNINCONF
-       eval echo -e "\\\taddress \$BRICKHOSTNAME${BRICK}-head.${CLUSTERDOMAINNAME}" >>$TMPMUNINCONF
-       #eval echo -e "\\\thost_name \$BRICKHOSTNAME${BRICK}-head.${CLUSTERDOMAINNAME}" >>$TMPMUNINCONF
+    eval echo -e "\\\taddress \$BRICKHOSTNAME${BRICK}-head.${CLUSTERDOMAINNAME}" >>$TMPMUNINCONF
+    #eval echo -e "\\\thost_name \$BRICKHOSTNAME${BRICK}-head.${CLUSTERDOMAINNAME}" >>$TMPMUNINCONF
         echo >>$TMPMUNINCONF
-               for DRONE in $(seq $DRONECOUNT)
-               do
-               typeset TMPBRICKDRONES="$(eval echo \$BRICKHOSTNAME${BRICK}-head)_drones.txt"
-               #if [ -z "$HOSTNAME_PREFIX" ] ; then
-               #       typeset BRICKHOSTNAME${BRICK}_DRONE${DRONE}="$(eval echo \$BRICKHOSTNAME${BRICK}-drone0${DRONE})"
-               #       echo "Brick${BRICK} Drone${DRONE} hostname set to: $(eval echo "\$BRICKHOSTNAME${BRICK}_DRONE${DRONE}")" >> "$NETCFGFILE"
+        for DRONE in $(seq $DRONECOUNT)
+        do
+        typeset TMPBRICKDRONES="$(eval echo \$BRICKHOSTNAME${BRICK}-head)_drones.txt"
+        #if [ -z "$HOSTNAME_PREFIX" ] ; then
+        #    typeset BRICKHOSTNAME${BRICK}_DRONE${DRONE}="$(eval echo \$BRICKHOSTNAME${BRICK}-drone0${DRONE})"
+        #    echo "Brick${BRICK} Drone${DRONE} hostname set to: $(eval echo "\$BRICKHOSTNAME${BRICK}_DRONE${DRONE}")" >> "$NETCFGFILE"
                 #else
-               #       typeset BRICKHOSTNAME${BRICK}_DRONE${DRONE}="$(eval echo \$BRICKHOSTNAME${BRICK}-drone0${DRONE})"
-               #       echo "Brick${BRICK} Drone${DRONE} hostname set to: $(eval echo "\$BRICKHOSTNAME${BRICK}_DRONE${DRONE}")" >> "$NETCFGFILE"
-               #fi
+        #    typeset BRICKHOSTNAME${BRICK}_DRONE${DRONE}="$(eval echo \$BRICKHOSTNAME${BRICK}-drone0${DRONE})"
+        #    echo "Brick${BRICK} Drone${DRONE} hostname set to: $(eval echo "\$BRICKHOSTNAME${BRICK}_DRONE${DRONE}")" >> "$NETCFGFILE"
+            #fi
 
-               typeset BRICKHOSTNAME${BRICK}_DRONE${DRONE}="$(eval echo \$BRICKHOSTNAME${BRICK}-drone0${DRONE})"
-               echo "Brick${BRICK} Drone${DRONE} hostname set to: $(eval echo "\$BRICKHOSTNAME${BRICK}_DRONE${DRONE}")" >> "$NETCFGFILE"
-               typeset BRICKHOSTNAME${BRICK}_DRONE${DRONE}_IP="$PRIVATENET.${BRICK}${DRONE}"
+        typeset BRICKHOSTNAME${BRICK}_DRONE${DRONE}="$(eval echo \$BRICKHOSTNAME${BRICK}-drone0${DRONE})"
+        echo "Brick${BRICK} Drone${DRONE} hostname set to: $(eval echo "\$BRICKHOSTNAME${BRICK}_DRONE${DRONE}")" >> "$NETCFGFILE"
+        typeset BRICKHOSTNAME${BRICK}_DRONE${DRONE}_IP="$PRIVATENET.${BRICK}${DRONE}"
                 echo "Brick${BRICK} Drone${DRONE} IP Address set to: $(eval echo "\$BRICKHOSTNAME${BRICK}_DRONE${DRONE}_IP")" >> "$NETCFGFILE"
-               eval mkdir -p "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/openils/conf"
-               eval mkdir -p "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc"
-               eval mkdir -p "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/network"
-               eval mkdir -p "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/rsyslog.d"
-               eval mkdir -p "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/init.d"
-               eval mkdir -p "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/munin"
-               eval mkdir -p "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/var/run/evergreen"
-               eval mkdir -p "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/var/run/munin"
-               eval mkdir -p "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/netplan"
-               eval cp -f $TEMPLATEDIR/opensrf_core.xml "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/openils/conf"
-               eval sed -i "s^Brick_head_Fqdn^$(eval echo \$BRICKHOSTNAME${BRICK}-drone0${DRONE}).$CLUSTERDOMAINNAME^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/openils/conf/opensrf_core.xml"
-               #eval sed -i "s^OpenSRF_Password^$OPENSRF_PASSWORD^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/openils/conf/opensrf_core.xml"
-               eval sed -i "s^OpenSRF_Password^$(echo $OPENSRF_PASSWORD | sed  -e 's^&^\\\&^g' -e 's/\^/\\\^/g')^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/openils/conf/opensrf_core.xml"
-               ### drone gets fstab
-               eval cp -f $TEMPLATEDIR/interfaces "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/network"
-               eval cp -f $TEMPLATEDIR/netplan/config.yaml "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/netplan"
-               eval cp -f $TMPFOLDER/ntp.conf "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc"
-               eval cp -f $TMPFOLDER/resolv.conf "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc"
-               eval cp -f $TEMPLATEDIR/eg_fstab_drone "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc"
-               #eval cp -f $TEMPLATEDIR/init/eg_opensrf "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/init.d/opensrf"
-               eval cp -f $TEMPLATEDIR/setup-drone.sh "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}"
-               eval cp -f $TEMPLATEDIR/setup-vars "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/setup-vars"
-               eval cp -f "$TEMPLATEDIR/setup-functions" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/setup-functions"
-               eval cp -f $TEMPLATEDIR/apt/drone_apt.list "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}_apt.list"
-               eval cp -f $TMPFOLDER/60-evergreen-ils.conf "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/rsyslog.d"
-               eval cp -f $TEMPLATEDIR/rsyslog/50-default.conf "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/rsyslog.d"
-               #eval cp -f /tmp/rsyslog.conf "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc"
-               eval sed -i "s^drone_file^$(eval echo \$BRICKHOSTNAME${BRICK}-drone0${DRONE})^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/setup-drone.sh"
-               eval sed -i "s^_EGVER^${EG_VERSION}^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/setup-drone.sh"
-               eval sed -i "s^_GENVER^${VERSION_}^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/setup-vars"
-               eval sed -i "s^_EGVER^${EG_VERSION}^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/setup-vars"
-               eval sed -i "s^CLUSTER_DOMAINNAME^${CLUSTERDOMAINNAME}^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/setup-drone.sh"
-               eval sed -i "s^HEAD_IP^$(eval echo \$BRICKHOSTNAME${BRICK}_HEAD_IP)^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/eg_fstab_drone"
-               eval sed -i "s^UTILITY01_IP^$UTILITY01_IP^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/eg_fstab_drone"
-               eval sed -i "s^UTILITY02_IP^$UTILITY02_IP^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/eg_fstab_drone"
-               eval sed -i "s^UTILITY03_IP^$UTILITY03_IP^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/eg_fstab_drone"
-               eval sed -i "s^Priv_IP^$(eval echo \$BRICKHOSTNAME${BRICK}_DRONE${DRONE}_IP)^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/network/interfaces"
-               eval sed -i "s^Priv_IP^$(eval echo \$BRICKHOSTNAME${BRICK}_DRONE${DRONE}_IP)^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/netplan/config.yaml"
-               eval sed -i "s^Priv_NET^$PRIVATENET^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/network/interfaces"
-               eval sed -i "s^Priv_NET^$PRIVATENET^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/netplan/config.yaml"
-               eval sed -i "s^LVS01_Private_IP^$LVS01_PRIVATE_IP^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/network/interfaces"
-               eval sed -i "s^LVS01_Private_IP^$LVS01_PRIVATE_IP^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/netplan/config.yaml"
-               eval sed -i "s^LVS02_Private_IP^$LVS02_PRIVATE_IP^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/network/interfaces"
-               eval sed -i "s^LVS02_Private_IP^$LVS02_PRIVATE_IP^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/netplan/config.yaml"
-               eval sed -i "s^Cluster_Private_IP^$LVS01_PRIVATE_SHARED_IP^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/network/interfaces"
-               eval sed -i "s^Cluster_Private_IP^$LVS01_PRIVATE_SHARED_IP^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/netplan/config.yaml"
-               eval sed -i "s^CLUSTER_DOMAINNAME^${CLUSTERDOMAINNAME}^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/network/interfaces"
-               eval sed -i "s^CLUSTER_DOMAINNAME^${CLUSTERDOMAINNAME}^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/netplan/config.yaml"
-               #eval sed -i "s^DRONE_IP^$(eval echo \$BRICKHOSTNAME${BRICK}_HEAD_IP)^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/exports
-               eval echo "/openils \$BRICKHOSTNAME${BRICK}_DRONE${DRONE}_IP\(ro,sync,no_subtree_check\)" >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/exports
-               printf '\"' >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/openils/conf/.oils_brick.cfg
-               eval printf \"\$BRICKHOSTNAME${BRICK}_DRONE${DRONE}_IP\" >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/openils/conf/.oils_brick.cfg
-               printf '\" ' >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/openils/conf/.oils_brick.cfg
-               eval echo "/openils/var/data/offline \$BRICKHOSTNAME${BRICK}_DRONE${DRONE}_IP\(rw,sync,no_subtree_check\)" >> $TMPFOLDER/exports
-               eval echo "/openils/var/data/vandelay \$BRICKHOSTNAME${BRICK}_DRONE${DRONE}_IP\(rw,sync,no_subtree_check\)" >> $TMPFOLDER/exports
-               eval echo "/openils/var/data/vandelay \$BRICKHOSTNAME${BRICK}_HEAD_IP\(rw,sync,no_subtree_check\)" >> $TMPFOLDER/exports
-               
-               eval echo "\$BRICKHOSTNAME${BRICK}_DRONE${DRONE}" > ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK}-drone0${DRONE})/etc/hostname
-               eval echo "\$BRICKHOSTNAME${BRICK}_DRONE${DRONE}" >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/$TMPBRICKDRONES
-               eval echo "\$BRICKHOSTNAME${BRICK}_DRONE${DRONE}" >> $TMPOSRFNODES
-               cp -f $TEMPLATEDIR/opensrf.xml/opensrf.xml-drone $TMPFOLDER/opensrf.xml-drone
-               eval sed -i "s^NODE_HOST_NAME^$(eval echo \$BRICKHOSTNAME${BRICK}_DRONE${DRONE})^g" $TMPFOLDER/opensrf.xml-drone
-               cat $TMPFOLDER/opensrf.xml-drone >> $TMPOPENSRF_XML
-               ### eval echo "\$BRICKHOSTNAME${BRICK}_DRONE${DRONE}" >> $TMPBRICKDRONES
-               eval echo -e "\$BRICKHOSTNAME${BRICK}_DRONE${DRONE}_IP \$BRICKHOSTNAME${BRICK}_DRONE${DRONE}.${CLUSTERDOMAINNAME}   \$BRICKHOSTNAME${BRICK}_DRONE${DRONE}" \
-               >> $TMPHOSTS
-               eval printf "\$BRICKHOSTNAME${BRICK}_DRONE${DRONE}\\\tA\\\t\$BRICKHOSTNAME${BRICK}_DRONE${DRONE}_IP\\\n" >> $TMPZONEFILE
-               if [ "$USE_DMZ" = "y" ] || [ "$USE_DMZ" = "Y" ]
-               then
-                       eval printf "${BRICK}${DRONE}\\\tIN\\\tPTR\\\t\$BRICKHOSTNAME${BRICK}_DRONE${DRONE}.${CLUSTERDOMAINNAME}.\\\n" >> $TMPREVZONEFILE_DMZ
-               else
-                       eval printf "${BRICK}${DRONE}\\\tIN\\\tPTR\\\t\$BRICKHOSTNAME${BRICK}_DRONE${DRONE}.${CLUSTERDOMAINNAME}.\\\n" >> $TMPREVZONEFILE
-               fi
-               DRONE_LIST="$DRONE_LIST$(eval printf "\$BRICKHOSTNAME${BRICK}_DRONE${DRONE}\ ")"
-               ### Monitoring
-               printf 'define host {\n' >>$TMPNAGIHOSTS;eval printf "\\\thost_name\\\t\$BRICKHOSTNAME${BRICK}_DRONE${DRONE}\\\n" >>$TMPNAGIHOSTS
-               eval printf "\\\talias\\\t\\\t\$BRICKHOSTNAME${BRICK}_DRONE${DRONE}\\\n" >>$TMPNAGIHOSTS
-               eval printf "\\\taddress\\\t\\\t\$BRICKHOSTNAME${BRICK}_DRONE${DRONE}_IP\\\n" >>$TMPNAGIHOSTS
-               printf '\tuse\t\tgeneric-host\n}\n' >>$TMPNAGIHOSTS
-               
-               ### Build munin-node.conf file.
+        eval mkdir -p "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/openils/conf"
+        eval mkdir -p "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc"
+        eval mkdir -p "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/network"
+        eval mkdir -p "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/rsyslog.d"
+        eval mkdir -p "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/init.d"
+        eval mkdir -p "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/munin"
+        eval mkdir -p "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/var/run/evergreen"
+        eval mkdir -p "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/var/run/munin"
+        eval mkdir -p "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/netplan"
+        eval cp -f $TEMPLATEDIR/opensrf_core.xml "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/openils/conf"
+            eval sed -i "s^Brick_head_Fqdn^$(eval echo \$BRICKHOSTNAME${BRICK}-drone0${DRONE}).$CLUSTERDOMAINNAME^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/openils/conf/opensrf_core.xml"
+        #eval sed -i "s^OpenSRF_Password^$OPENSRF_PASSWORD^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/openils/conf/opensrf_core.xml"
+        eval sed -i "s^OpenSRF_Password^$(echo $OPENSRF_PASSWORD | sed  -e 's^&^\\\&^g' -e 's/\^/\\\^/g')^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/openils/conf/opensrf_core.xml"
+        ### drone gets fstab
+        eval cp -f $TEMPLATEDIR/interfaces "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/network"
+        eval cp -f $TEMPLATEDIR/netplan/config.yaml "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/netplan"
+        eval cp -f $TMPFOLDER/ntp.conf "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc"
+        eval cp -f $TMPFOLDER/resolv.conf "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc"
+        eval cp -f $TEMPLATEDIR/eg_fstab_drone "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc"
+        #eval cp -f $TEMPLATEDIR/init/eg_opensrf "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/init.d/opensrf"
+        eval cp -f $TEMPLATEDIR/setup-drone.sh "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}"
+        eval cp -f $TEMPLATEDIR/setup-vars "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/setup-vars"
+        eval cp -f "$TEMPLATEDIR/setup-functions" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/setup-functions"
+        eval cp -f $TEMPLATEDIR/apt/drone_apt.list "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}_apt.list"
+        eval cp -f $TMPFOLDER/60-evergreen-ils.conf "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/rsyslog.d"
+        eval cp -f $TEMPLATEDIR/rsyslog/50-default.conf "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/rsyslog.d"
+        #eval cp -f /tmp/rsyslog.conf "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc"
+        eval sed -i "s^drone_file^$(eval echo \$BRICKHOSTNAME${BRICK}-drone0${DRONE})^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/setup-drone.sh"
+        eval sed -i "s^_EGVER^${EG_VERSION}^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/setup-drone.sh"
+        eval sed -i "s^_GENVER^${VERSION_}^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/setup-vars"
+        eval sed -i "s^_EGVER^${EG_VERSION}^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/setup-vars"
+        eval sed -i "s^CLUSTER_DOMAINNAME^${CLUSTERDOMAINNAME}^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/setup-drone.sh"
+        eval sed -i "s^HEAD_IP^$(eval echo \$BRICKHOSTNAME${BRICK}_HEAD_IP)^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/eg_fstab_drone"
+        eval sed -i "s^UTILITY01_IP^$UTILITY01_IP^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/eg_fstab_drone"
+        eval sed -i "s^UTILITY02_IP^$UTILITY02_IP^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/eg_fstab_drone"
+        eval sed -i "s^UTILITY03_IP^$UTILITY03_IP^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/eg_fstab_drone"
+        eval sed -i "s^Priv_IP^$(eval echo \$BRICKHOSTNAME${BRICK}_DRONE${DRONE}_IP)^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/network/interfaces"
+        eval sed -i "s^Priv_IP^$(eval echo \$BRICKHOSTNAME${BRICK}_DRONE${DRONE}_IP)^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/netplan/config.yaml"
+        eval sed -i "s^Priv_NET^$PRIVATENET^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/network/interfaces"
+        eval sed -i "s^Priv_NET^$PRIVATENET^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/netplan/config.yaml"
+        eval sed -i "s^LVS01_Private_IP^$LVS01_PRIVATE_IP^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/network/interfaces"
+        eval sed -i "s^LVS01_Private_IP^$LVS01_PRIVATE_IP^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/netplan/config.yaml"
+        eval sed -i "s^LVS02_Private_IP^$LVS02_PRIVATE_IP^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/network/interfaces"
+        eval sed -i "s^LVS02_Private_IP^$LVS02_PRIVATE_IP^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/netplan/config.yaml"
+        eval sed -i "s^Cluster_Private_IP^$LVS01_PRIVATE_SHARED_IP^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/network/interfaces"
+        eval sed -i "s^Cluster_Private_IP^$LVS01_PRIVATE_SHARED_IP^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/netplan/config.yaml"
+        eval sed -i "s^CLUSTER_DOMAINNAME^${CLUSTERDOMAINNAME}^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/network/interfaces"
+        eval sed -i "s^CLUSTER_DOMAINNAME^${CLUSTERDOMAINNAME}^g" "${OUTDIR}/\$BRICKHOSTNAME${BRICK}/\$BRICKHOSTNAME${BRICK}-drone0${DRONE}/etc/netplan/config.yaml"
+        #eval sed -i "s^DRONE_IP^$(eval echo \$BRICKHOSTNAME${BRICK}_HEAD_IP)^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/exports
+        eval echo "/openils \$BRICKHOSTNAME${BRICK}_DRONE${DRONE}_IP\(ro,sync,no_subtree_check\)" >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/exports
+        printf '\"' >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/openils/conf/.oils_brick.cfg
+        eval printf \"\$BRICKHOSTNAME${BRICK}_DRONE${DRONE}_IP\" >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/openils/conf/.oils_brick.cfg
+        printf '\" ' >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/openils/conf/.oils_brick.cfg
+        eval echo "/openils/var/data/offline \$BRICKHOSTNAME${BRICK}_DRONE${DRONE}_IP\(rw,sync,no_subtree_check\)" >> $TMPFOLDER/exports
+        eval echo "/openils/var/data/vandelay \$BRICKHOSTNAME${BRICK}_DRONE${DRONE}_IP\(rw,sync,no_subtree_check\)" >> $TMPFOLDER/exports
+        eval echo "/openils/var/data/vandelay \$BRICKHOSTNAME${BRICK}_HEAD_IP\(rw,sync,no_subtree_check\)" >> $TMPFOLDER/exports
+        
+        eval echo "\$BRICKHOSTNAME${BRICK}_DRONE${DRONE}" > ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK}-drone0${DRONE})/etc/hostname
+        eval echo "\$BRICKHOSTNAME${BRICK}_DRONE${DRONE}" >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/$TMPBRICKDRONES
+        eval echo "\$BRICKHOSTNAME${BRICK}_DRONE${DRONE}" >> $TMPOSRFNODES
+        cp -f $TEMPLATEDIR/opensrf.xml/opensrf.xml-drone $TMPFOLDER/opensrf.xml-drone
+            eval sed -i "s^NODE_HOST_NAME^$(eval echo \$BRICKHOSTNAME${BRICK}_DRONE${DRONE})^g" $TMPFOLDER/opensrf.xml-drone
+            cat $TMPFOLDER/opensrf.xml-drone >> $TMPOPENSRF_XML
+        ### eval echo "\$BRICKHOSTNAME${BRICK}_DRONE${DRONE}" >> $TMPBRICKDRONES
+        eval echo -e "\$BRICKHOSTNAME${BRICK}_DRONE${DRONE}_IP \$BRICKHOSTNAME${BRICK}_DRONE${DRONE}.${CLUSTERDOMAINNAME}   \$BRICKHOSTNAME${BRICK}_DRONE${DRONE}" \
+            >> $TMPHOSTS
+        eval printf "\$BRICKHOSTNAME${BRICK}_DRONE${DRONE}\\\tA\\\t\$BRICKHOSTNAME${BRICK}_DRONE${DRONE}_IP\\\n" >> $TMPZONEFILE
+        if [ "$USE_DMZ" = "y" ] || [ "$USE_DMZ" = "Y" ]
+        then
+            eval printf "${BRICK}${DRONE}\\\tIN\\\tPTR\\\t\$BRICKHOSTNAME${BRICK}_DRONE${DRONE}.${CLUSTERDOMAINNAME}.\\\n" >> $TMPREVZONEFILE_DMZ
+        else
+            eval printf "${BRICK}${DRONE}\\\tIN\\\tPTR\\\t\$BRICKHOSTNAME${BRICK}_DRONE${DRONE}.${CLUSTERDOMAINNAME}.\\\n" >> $TMPREVZONEFILE
+        fi
+        DRONE_LIST="$DRONE_LIST$(eval printf "\$BRICKHOSTNAME${BRICK}_DRONE${DRONE}\ ")"
+        ### Monitoring
+            printf 'define host {\n' >>$TMPNAGIHOSTS;eval printf "\\\thost_name\\\t\$BRICKHOSTNAME${BRICK}_DRONE${DRONE}\\\n" >>$TMPNAGIHOSTS
+            eval printf "\\\talias\\\t\\\t\$BRICKHOSTNAME${BRICK}_DRONE${DRONE}\\\n" >>$TMPNAGIHOSTS
+            eval printf "\\\taddress\\\t\\\t\$BRICKHOSTNAME${BRICK}_DRONE${DRONE}_IP\\\n" >>$TMPNAGIHOSTS
+            printf '\tuse\t\tgeneric-host\n}\n' >>$TMPNAGIHOSTS
+        
+        ### Build munin-node.conf file.
                 #eval echo "host_name \$BRICKHOSTNAME${BRICK}_DRONE${DRONE}" >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK}-drone0${DRONE})/etc/munin/munin-node.conf
                 #echo "allow $MONITOR01_IP" >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK}-drone0${DRONE})/etc/munin/munin-node.conf
                 #echo "allow $MONITOR02_IP" >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK}-drone0${DRONE})/etc/munin/munin-node.conf
-               cp -f $TEMPLATEDIR/monitor/munin-node.conf ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK}-drone0${DRONE})/etc/munin/munin-node.conf
-               eval sed -i "s^MONITORED_NODENAME.CLUSTER_DOMAIN_NAME^$(eval echo \$BRICKHOSTNAME${BRICK}-drone0${DRONE}.$CLUSTERDOMAINNAME)^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK}-drone0${DRONE})/etc/munin/munin-node.conf
-               echo "allow $MONITOR01_IP" >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK}-drone0${DRONE})/etc/munin/munin-node.conf
-               echo "allow $MONITOR02_IP" >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK}-drone0${DRONE})/etc/munin/munin-node.conf
+        cp -f $TEMPLATEDIR/monitor/munin-node.conf ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK}-drone0${DRONE})/etc/munin/munin-node.conf
+            eval sed -i "s^MONITORED_NODENAME.CLUSTER_DOMAIN_NAME^$(eval echo \$BRICKHOSTNAME${BRICK}-drone0${DRONE}.$CLUSTERDOMAINNAME)^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK}-drone0${DRONE})/etc/munin/munin-node.conf
+            echo "allow $MONITOR01_IP" >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK}-drone0${DRONE})/etc/munin/munin-node.conf
+            echo "allow $MONITOR02_IP" >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK}-drone0${DRONE})/etc/munin/munin-node.conf
                 #eval echo "host \$BRICKHOSTNAME${BRICK}_DRONE${DRONE}_IP" >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK}-drone0${DRONE})/etc/munin/munin-node.conf
 
-               ### Build munin.conf file. 
-               eval echo -e "[${CLUSTERDOMAINNAME}\;\$BRICKHOSTNAME${BRICK}_DRONE${DRONE}.${CLUSTERDOMAINNAME}]" >>$TMPMUNINCONF
-               #eval echo -e "\\\taddress \$BRICKHOSTNAME${BRICK}_DRONE${DRONE}_IP" >>$TMPMUNINCONF
-               eval echo -e "\\\taddress \$BRICKHOSTNAME${BRICK}_DRONE${DRONE}.${CLUSTERDOMAINNAME}" >>$TMPMUNINCONF
-               #eval echo -e "\\\thost_name \$BRICKHOSTNAME${BRICK}-head.${CLUSTERDOMAINNAME}" >>$TMPMUNINCONF
-               echo >>$TMPMUNINCONF
-               done
-       #echo
-       printf ")\n" >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/openils/conf/.oils_brick.cfg
-       sed -i 's^ )^)^g' ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/openils/conf/.oils_brick.cfg
-       eval cat $TEMPLATEDIR/oils_brick.cfg-footer >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/openils/conf/.oils_brick.cfg
-       
+        ### Build munin.conf file. 
+        eval echo -e "[${CLUSTERDOMAINNAME}\;\$BRICKHOSTNAME${BRICK}_DRONE${DRONE}.${CLUSTERDOMAINNAME}]" >>$TMPMUNINCONF
+        #eval echo -e "\\\taddress \$BRICKHOSTNAME${BRICK}_DRONE${DRONE}_IP" >>$TMPMUNINCONF
+        eval echo -e "\\\taddress \$BRICKHOSTNAME${BRICK}_DRONE${DRONE}.${CLUSTERDOMAINNAME}" >>$TMPMUNINCONF
+        #eval echo -e "\\\thost_name \$BRICKHOSTNAME${BRICK}-head.${CLUSTERDOMAINNAME}" >>$TMPMUNINCONF
+        echo >>$TMPMUNINCONF
+        done
+    #echo
+    printf ")\n" >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/openils/conf/.oils_brick.cfg
+    sed -i 's^ )^)^g' ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/openils/conf/.oils_brick.cfg
+    eval cat $TEMPLATEDIR/oils_brick.cfg-footer >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/openils/conf/.oils_brick.cfg
+    
 done
 Unset_DMZ_Net
 
@@ -2405,15 +2413,15 @@ for BRICK in $(seq $BRICKCOUNT)
         do
         eval cat $TMPHOSTS >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/hosts
         eval sed -i "s^thishost^$(eval echo \$BRICKHOSTNAME${BRICK})-head^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/hosts
-       [ -z "$HOSTNAME_PREFIX" ] || sed -i "s^${HOSTNAME_PREFIX}-${HOSTNAME_PREFIX}^${HOSTNAME_PREFIX}^g"  ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/hosts
+    [ -z "$HOSTNAME_PREFIX" ] || sed -i "s^${HOSTNAME_PREFIX}-${HOSTNAME_PREFIX}^${HOSTNAME_PREFIX}^g"  ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-head/etc/hosts
                 for DRONE in $(seq $DRONECOUNT)
                 do
                 eval cat $TMPHOSTS >> ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-drone0${DRONE}/etc/hosts
                 eval sed -i "s^thishost^$(eval echo \$BRICKHOSTNAME${BRICK})-drone0${DRONE}^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-drone0${DRONE}/etc/hosts
-               [ -z "$HOSTNAME_PREFIX" ] || sed -i "s^${HOSTNAME_PREFIX}-${HOSTNAME_PREFIX}^${HOSTNAME_PREFIX}^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-drone0${DRONE}/etc/hosts
-               #if [ -z "$HOSTNAME_PREFIX" ] ; then
-               #sed -i "s^PREFIX^$HOSTNAME_PREFIX^g" {OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-drone0${DRONE}/etc/hosts
-               #fi
+        [ -z "$HOSTNAME_PREFIX" ] || sed -i "s^${HOSTNAME_PREFIX}-${HOSTNAME_PREFIX}^${HOSTNAME_PREFIX}^g" ${OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-drone0${DRONE}/etc/hosts
+        #if [ -z "$HOSTNAME_PREFIX" ] ; then
+            #sed -i "s^PREFIX^$HOSTNAME_PREFIX^g" {OUTDIR}/$(eval echo \$BRICKHOSTNAME${BRICK})/$(eval echo \$BRICKHOSTNAME${BRICK})-drone0${DRONE}/etc/hosts
+            #fi
                 done
 
 done
@@ -2423,18 +2431,18 @@ done
 
 ### Run fuctions to create bricks.
 if [ "$DRONELESS" == "1" ] 
-       then
-       echo
-       echo Creating bricks without separate drones please wait....
-       sleep 1
-       CreateBricks
-       echo "done!"
-               else
-               echo
-               echo Creating bricks with separate drones please wait....
-               sleep 1
-               CreateBricksAndDrones
-               echo "done!"
+    then
+    echo
+    echo Creating bricks without separate drones please wait....
+    sleep 1
+    CreateBricks
+    echo "done!"
+        else
+        echo
+        echo Creating bricks with separate drones please wait....
+        sleep 1
+        CreateBricksAndDrones
+        echo "done!"
 fi
 
 ### Fix padding of lists.
@@ -2449,7 +2457,7 @@ sed -i "s^domain.org^$CLUSTERDOMAINNAME^g" "$TMPZONEFILE"
 sed -i "s^domain.org^$CLUSTERDOMAINNAME^g" "$TMPREVZONEFILE"
 if [ "$USE_DMZ" = "y" ] || [ "$USE_DMZ" = "Y" ]
 then
-       sed -i "s^domain.org^$CLUSTERDOMAINNAME^g" "$TMPREVZONEFILE_DMZ"
+    sed -i "s^domain.org^$CLUSTERDOMAINNAME^g" "$TMPREVZONEFILE_DMZ"
 fi
 sed -i "s^Priv_NET^$PRIVATENET^g" "$TMPZONEFILE"
 
@@ -2460,9 +2468,9 @@ sed -i "s^Priv_NET^$PRIVATENET^g" "$TMPZONEFILE"
 ### to the network. (heads)
 
 if ! echo "${REPORTS_NFS_HOSTNAME}" | grep -q reporter01
-       then
-       echo "/storage/reports-output ${REPORTER01_IP}(rw,sync,no_subtree_check)" >> $TMPFOLDER/exports_reporter
-       REPORTER_IS_HOST="NO"
+    then
+    echo "/storage/reports-output ${REPORTER01_IP}(rw,sync,no_subtree_check)" >> $TMPFOLDER/exports_reporter
+    REPORTER_IS_HOST="NO"
 fi
 
 
@@ -2500,28 +2508,28 @@ sed -i "s^Priv_NET^$PRIVATENET^g" "$LVSCONFIGFILE"
 
 ### Complete LVS Director config.
 for LVS in $MACHINES_LVS_ONLY
-       do
-       cp -f $LVSCONFIGFILE $OUTDIR/$LVS/etc/ha.d
-       mkdir -p "$OUTDIR/$LVS/usr/local/bin"
-       cp -f $TEMPLATEDIR/lvs/check_https "$OUTDIR/$LVS/usr/local/bin"
+    do
+    cp -f $LVSCONFIGFILE $OUTDIR/$LVS/etc/ha.d
+    mkdir -p "$OUTDIR/$LVS/usr/local/bin"
+    cp -f $TEMPLATEDIR/lvs/check_https "$OUTDIR/$LVS/usr/local/bin"
 done
 
 ### Setup hosts file for LVS and DNS zonefiles on LVS servers.
 for LVS_SERVER in $MACHINES_LVS_ONLY
-       do
-       cp -f "$TMPHOSTS" "$OUTDIR/$LVS_SERVER/etc/hosts" && sed -i "s^thishost^$LVS_SERVER^g" "$OUTDIR/$LVS_SERVER/etc/hosts"
-       [ -z $HOSTNAME_PREFIX ] || sed -i "s^PREFIX^$HOSTNAME_PREFIX^g" "$OUTDIR/$LVS_SERVER/etc/hosts"
-       [ -z "$HOSTNAME_PREFIX" ] || sed -i "s^${HOSTNAME_PREFIX}-${HOSTNAME_PREFIX}^${HOSTNAME_PREFIX}^g" "$OUTDIR/$LVS_SERVER/etc/hosts"
-       mkdir -p "$OUTDIR/$LVS_SERVER/etc/bind"
-       cp -f "$TMPZONEFILE" "$OUTDIR/$LVS_SERVER/etc/bind/${CLUSTERDOMAINNAME}-zone"
-       cp -f "$TMPREVZONEFILE" "$OUTDIR/$LVS_SERVER/etc/bind/${PRIVATENET}-zone"
-       if [ "$USE_DMZ" = "y" ] || [ "$USE_DMZ" = "Y" ]
-       then
-               cp -f "$TMPREVZONEFILE_DMZ" "$OUTDIR/$LVS_SERVER/etc/bind/${DMZ_NET}-zone"
-               sed -i "s^_MY_HOSTNAME^$LVS_SERVER^g" "$OUTDIR/$LVS_SERVER/etc/bind/${DMZ_NET}-zone"
-       fi
-       sed -i "s^_MY_HOSTNAME^$LVS_SERVER^g" "$OUTDIR/$LVS_SERVER/etc/bind/${CLUSTERDOMAINNAME}-zone"
-       sed -i "s^_MY_HOSTNAME^$LVS_SERVER^g" "$OUTDIR/$LVS_SERVER/etc/bind/${PRIVATENET}-zone"
+    do
+    cp -f "$TMPHOSTS" "$OUTDIR/$LVS_SERVER/etc/hosts" && sed -i "s^thishost^$LVS_SERVER^g" "$OUTDIR/$LVS_SERVER/etc/hosts"
+    [ -z $HOSTNAME_PREFIX ] || sed -i "s^PREFIX^$HOSTNAME_PREFIX^g" "$OUTDIR/$LVS_SERVER/etc/hosts"
+    [ -z "$HOSTNAME_PREFIX" ] || sed -i "s^${HOSTNAME_PREFIX}-${HOSTNAME_PREFIX}^${HOSTNAME_PREFIX}^g" "$OUTDIR/$LVS_SERVER/etc/hosts"
+    mkdir -p "$OUTDIR/$LVS_SERVER/etc/bind"
+    cp -f "$TMPZONEFILE" "$OUTDIR/$LVS_SERVER/etc/bind/${CLUSTERDOMAINNAME}-zone"
+    cp -f "$TMPREVZONEFILE" "$OUTDIR/$LVS_SERVER/etc/bind/${PRIVATENET}-zone"
+    if [ "$USE_DMZ" = "y" ] || [ "$USE_DMZ" = "Y" ]
+    then
+        cp -f "$TMPREVZONEFILE_DMZ" "$OUTDIR/$LVS_SERVER/etc/bind/${DMZ_NET}-zone"
+        sed -i "s^_MY_HOSTNAME^$LVS_SERVER^g" "$OUTDIR/$LVS_SERVER/etc/bind/${DMZ_NET}-zone"
+    fi
+    sed -i "s^_MY_HOSTNAME^$LVS_SERVER^g" "$OUTDIR/$LVS_SERVER/etc/bind/${CLUSTERDOMAINNAME}-zone"
+    sed -i "s^_MY_HOSTNAME^$LVS_SERVER^g" "$OUTDIR/$LVS_SERVER/etc/bind/${PRIVATENET}-zone"
 done
 
 ### setup named.conf for bind DNS server on LVS servers
@@ -2530,34 +2538,34 @@ echo "Setting up DNS Services..."
 NUM=0
 for LVS_SERVERS in $MACHINES_LVS_ONLY
         do
-       ((NUM++))
+    ((NUM++))
         if ! echo "$LVS_SERVERS" | grep -q "lvs01" 
         then
-               if [ "$USE_DMZ" = "y" ] || [ "$USE_DMZ" = "Y" ]
-               then
-                       cp -f "$TEMPLATEDIR/lvs/bind/named.conf.local-slave_DMZ" "$OUTDIR/$LVS_SERVERS/etc/bind/named.conf.local"
-                       sed -i "s^_REV_DMZ_NET^$REV_DMZ_NET^g" "$OUTDIR/$LVS_SERVERS/etc/bind/named.conf.local"
-                       sed -i "s^DMZ_NET^$DMZ_NET^g" "$OUTDIR/$LVS_SERVERS/etc/bind/named.conf.local"
-               else
-                       cp -f "$TEMPLATEDIR/lvs/bind/named.conf.local-slave" "$OUTDIR/$LVS_SERVERS/etc/bind/named.conf.local"
-               fi
-               sed -i "s^_LVS01_PRIVATE_IP^$LVS01_PRIVATE_IP^g" "$OUTDIR/$LVS_SERVERS/etc/bind/named.conf.local"
+        if [ "$USE_DMZ" = "y" ] || [ "$USE_DMZ" = "Y" ]
+        then
+                    cp -f "$TEMPLATEDIR/lvs/bind/named.conf.local-slave_DMZ" "$OUTDIR/$LVS_SERVERS/etc/bind/named.conf.local"
+            sed -i "s^_REV_DMZ_NET^$REV_DMZ_NET^g" "$OUTDIR/$LVS_SERVERS/etc/bind/named.conf.local"
+            sed -i "s^DMZ_NET^$DMZ_NET^g" "$OUTDIR/$LVS_SERVERS/etc/bind/named.conf.local"
+        else
+            cp -f "$TEMPLATEDIR/lvs/bind/named.conf.local-slave" "$OUTDIR/$LVS_SERVERS/etc/bind/named.conf.local"
+        fi
+        sed -i "s^_LVS01_PRIVATE_IP^$LVS01_PRIVATE_IP^g" "$OUTDIR/$LVS_SERVERS/etc/bind/named.conf.local"
+        else
+        if [ "$USE_DMZ" = "y" ] || [ "$USE_DMZ" = "Y" ]
+        then
+            cp -f "$TEMPLATEDIR/lvs/bind/named.conf.local-master_DMZ" "$OUTDIR/$LVS_SERVERS/etc/bind/named.conf.local"
+            sed -i "s^_REV_DMZ_NET^$REV_DMZ_NET^g" "$OUTDIR/$LVS_SERVERS/etc/bind/named.conf.local"
+            sed -i "s^DMZ_NET^$DMZ_NET^g" "$OUTDIR/$LVS_SERVERS/etc/bind/named.conf.local"
         else
-               if [ "$USE_DMZ" = "y" ] || [ "$USE_DMZ" = "Y" ]
-               then
-                       cp -f "$TEMPLATEDIR/lvs/bind/named.conf.local-master_DMZ" "$OUTDIR/$LVS_SERVERS/etc/bind/named.conf.local"
-                       sed -i "s^_REV_DMZ_NET^$REV_DMZ_NET^g" "$OUTDIR/$LVS_SERVERS/etc/bind/named.conf.local"
-                       sed -i "s^DMZ_NET^$DMZ_NET^g" "$OUTDIR/$LVS_SERVERS/etc/bind/named.conf.local"
-               else
-                       cp -f "$TEMPLATEDIR/lvs/bind/named.conf.local-master" "$OUTDIR/$LVS_SERVERS/etc/bind/named.conf.local"
-               fi
-               sed -i "s^_LVS02_PRIVATE_IP^$LVS02_PRIVATE_IP^g" "$OUTDIR/$LVS_SERVERS/etc/bind/named.conf.local"
+                    cp -f "$TEMPLATEDIR/lvs/bind/named.conf.local-master" "$OUTDIR/$LVS_SERVERS/etc/bind/named.conf.local"
         fi
-       eval sed -i "s^_MY_IP^\$LVS0${NUM}_PRIVATE_IP^g" "$OUTDIR/$LVS_SERVERS/etc/bind/named.conf.local"
-       sed -i "s^Priv_NET^$PRIVATENET^g" "$OUTDIR/$LVS_SERVERS/etc/bind/named.conf.local"
-       sed -i "s^domain.org^$CLUSTERDOMAINNAME^g" "$OUTDIR/$LVS_SERVERS/etc/bind/named.conf.local"
-       sed -i "s^_REV_PRIVATE_NET^$REV_PRIVATENET^g" "$OUTDIR/$LVS_SERVERS/etc/bind/named.conf.local"
-       
+        sed -i "s^_LVS02_PRIVATE_IP^$LVS02_PRIVATE_IP^g" "$OUTDIR/$LVS_SERVERS/etc/bind/named.conf.local"
+        fi
+    eval sed -i "s^_MY_IP^\$LVS0${NUM}_PRIVATE_IP^g" "$OUTDIR/$LVS_SERVERS/etc/bind/named.conf.local"
+    sed -i "s^Priv_NET^$PRIVATENET^g" "$OUTDIR/$LVS_SERVERS/etc/bind/named.conf.local"
+    sed -i "s^domain.org^$CLUSTERDOMAINNAME^g" "$OUTDIR/$LVS_SERVERS/etc/bind/named.conf.local"
+    sed -i "s^_REV_PRIVATE_NET^$REV_PRIVATENET^g" "$OUTDIR/$LVS_SERVERS/etc/bind/named.conf.local"
+    
 done
 echo "Done."
 #     eval echo "\$LVS0${NUM}_PRIVATE_IP
@@ -2570,13 +2578,13 @@ echo "Done."
 ### Setup hosts file all except lvs and bricks.
 #for HOSTS in db01 db02 db03 logger01 utility01 sip01 sip02 reporter01 memcache01 memcache02 monitor01 backup01 admin01 
 for HOSTS in $MACHINES_NO_BRICKS
-       do
-       mkdir -p "$OUTDIR/$HOSTS/etc/network" && \
-       cp -f "$TMPHOSTS" "$OUTDIR/$HOSTS/etc/hosts" && \
-       mkdir -p "$OUTDIR/$HOSTS/etc/netplan"
-       sed -i "s^thishost^$HOSTS^g" "$OUTDIR/$HOSTS/etc/hosts"
-       [ -z $HOSTNAME_PREFIX ] || sed -i "s^PREFIX^$HOSTNAME_PREFIX^g" "$OUTDIR/$HOSTS/etc/hosts"
-       [ -z "$HOSTNAME_PREFIX" ] || sed -i "s^${HOSTNAME_PREFIX}-${HOSTNAME_PREFIX}^${HOSTNAME_PREFIX}^g" "$OUTDIR/$HOSTS/etc/hosts"
+    do
+    mkdir -p "$OUTDIR/$HOSTS/etc/network" && \
+    cp -f "$TMPHOSTS" "$OUTDIR/$HOSTS/etc/hosts" && \
+    mkdir -p "$OUTDIR/$HOSTS/etc/netplan"
+    sed -i "s^thishost^$HOSTS^g" "$OUTDIR/$HOSTS/etc/hosts"
+    [ -z $HOSTNAME_PREFIX ] || sed -i "s^PREFIX^$HOSTNAME_PREFIX^g" "$OUTDIR/$HOSTS/etc/hosts"
+    [ -z "$HOSTNAME_PREFIX" ] || sed -i "s^${HOSTNAME_PREFIX}-${HOSTNAME_PREFIX}^${HOSTNAME_PREFIX}^g" "$OUTDIR/$HOSTS/etc/hosts"
 done
 
 
@@ -2584,37 +2592,37 @@ done
 ### Setup LVS interfaces and netplan file.
 NUM=0
 for LVS in $MACHINES_LVS_ONLY
-       do
-       ((NUM++))
-       cp -f "$TEMPLATEDIR/lvs/interfaces" "$OUTDIR/$LVS/etc/network"
-       cp -f "$TEMPLATEDIR/lvs/netplan/config.yaml" "$OUTDIR/$LVS/etc/netplan"
-       sed -i "s^Pub_NETMASK^$CLUSTERNETMASK^g" "$OUTDIR/$LVS/etc/network/interfaces"
-       sed -i "s^Pub_NETMASK^$CLUSTER_CIDR^g" "$OUTDIR/$LVS/etc/netplan/config.yaml"
-       sed -i "s^Pub_GATEWAY^$CLUSTERGATEWAY^g" "$OUTDIR/$LVS/etc/network/interfaces"
-       sed -i "s^Pub_GATEWAY^$CLUSTERGATEWAY^g" "$OUTDIR/$LVS/etc/netplan/config.yaml"
-       if [ "$USE_DMZ" = "y" ] || [ "$USE_DMZ" = "Y" ]
-       then
-               sed -i "s^Priv_NET^$DMZ_NET^g" "$OUTDIR/$LVS/etc/network/interfaces"
-               # sed -i "s^Priv_NET^$DMZ_NET^g" "$OUTDIR/$LVS/etc/netplan/config.yaml" ### removed not needed for netplan
-       else
-               sed -i "s^Priv_NET^$PRIVATENET^g" "$OUTDIR/$LVS/etc/network/interfaces"
-               # sed -i "s^Priv_NET^$PRIVATENET^g" "$OUTDIR/$LVS/etc/netplan/config.yaml" ### removed not needed for netplan
-       fi
-       sed -i "s^Cluster_Public_IP^$CLUSTERIPADDRESS^g" "$OUTDIR/$LVS/etc/network/interfaces"
-       # sed -i "s^Cluster_Public_IP^$CLUSTERIPADDRESS^g" "$OUTDIR/$LVS/etc/netplan/config.yaml" ### removed not needed for netplan
-
-       eval sed -i "s^Pub_IP^\$LVS0${NUM}_PHYSICAL_PUBLIC_IP^g" "$OUTDIR/$LVS/etc/network/interfaces"
-       eval sed -i "s^Pub_IP^\$LVS0${NUM}_PHYSICAL_PUBLIC_IP^g" "$OUTDIR/$LVS/etc/netplan/config.yaml"
-       eval sed -i "s^Priv_Physical_Address^\$LVS0${NUM}_PRIVATE_IP^g" "$OUTDIR/$LVS/etc/network/interfaces"
-       eval sed -i "s^Priv_Physical_Address^\$LVS0${NUM}_PRIVATE_IP^g" "$OUTDIR/$LVS/etc/netplan/config.yaml"
-       sed -i "s^LVS01_Private_IP^$LVS01_PRIVATE_IP^g" "$OUTDIR/$LVS/etc/network/interfaces"
-       sed -i "s^LVS01_Private_IP^$LVS01_PRIVATE_IP^g" "$OUTDIR/$LVS/etc/netplan/config.yaml"
-       sed -i "s^LVS02_Private_IP^$LVS02_PRIVATE_IP^g" "$OUTDIR/$LVS/etc/network/interfaces"
-       sed -i "s^LVS02_Private_IP^$LVS02_PRIVATE_IP^g" "$OUTDIR/$LVS/etc/netplan/config.yaml"
-       sed -i "s^Cluster_Private_IP^$LVS01_PRIVATE_SHARED_IP^g" "$OUTDIR/$LVS/etc/network/interfaces"
-       sed -i "s^Cluster_Private_IP^$LVS01_PRIVATE_SHARED_IP^g" "$OUTDIR/$LVS/etc/netplan/config.yaml"
-       sed -i "s^CLUSTER_DOMAINNAME^${CLUSTERDOMAINNAME}^g" "$OUTDIR/$LVS/etc/network/interfaces"
-       sed -i "s^CLUSTER_DOMAINNAME^${CLUSTERDOMAINNAME}^g" "$OUTDIR/$LVS/etc/netplan/config.yaml"
+    do
+    ((NUM++))
+    cp -f "$TEMPLATEDIR/lvs/interfaces" "$OUTDIR/$LVS/etc/network"
+    cp -f "$TEMPLATEDIR/lvs/netplan/config.yaml" "$OUTDIR/$LVS/etc/netplan"
+    sed -i "s^Pub_NETMASK^$CLUSTERNETMASK^g" "$OUTDIR/$LVS/etc/network/interfaces"
+    sed -i "s^Pub_NETMASK^$CLUSTER_CIDR^g" "$OUTDIR/$LVS/etc/netplan/config.yaml"
+    sed -i "s^Pub_GATEWAY^$CLUSTERGATEWAY^g" "$OUTDIR/$LVS/etc/network/interfaces"
+    sed -i "s^Pub_GATEWAY^$CLUSTERGATEWAY^g" "$OUTDIR/$LVS/etc/netplan/config.yaml"
+    if [ "$USE_DMZ" = "y" ] || [ "$USE_DMZ" = "Y" ]
+    then
+        sed -i "s^Priv_NET^$DMZ_NET^g" "$OUTDIR/$LVS/etc/network/interfaces"
+        # sed -i "s^Priv_NET^$DMZ_NET^g" "$OUTDIR/$LVS/etc/netplan/config.yaml" ### removed not needed for netplan
+    else
+        sed -i "s^Priv_NET^$PRIVATENET^g" "$OUTDIR/$LVS/etc/network/interfaces"
+        # sed -i "s^Priv_NET^$PRIVATENET^g" "$OUTDIR/$LVS/etc/netplan/config.yaml" ### removed not needed for netplan
+    fi
+    sed -i "s^Cluster_Public_IP^$CLUSTERIPADDRESS^g" "$OUTDIR/$LVS/etc/network/interfaces"
+    # sed -i "s^Cluster_Public_IP^$CLUSTERIPADDRESS^g" "$OUTDIR/$LVS/etc/netplan/config.yaml" ### removed not needed for netplan
+
+    eval sed -i "s^Pub_IP^\$LVS0${NUM}_PHYSICAL_PUBLIC_IP^g" "$OUTDIR/$LVS/etc/network/interfaces"
+    eval sed -i "s^Pub_IP^\$LVS0${NUM}_PHYSICAL_PUBLIC_IP^g" "$OUTDIR/$LVS/etc/netplan/config.yaml"
+    eval sed -i "s^Priv_Physical_Address^\$LVS0${NUM}_PRIVATE_IP^g" "$OUTDIR/$LVS/etc/network/interfaces"
+    eval sed -i "s^Priv_Physical_Address^\$LVS0${NUM}_PRIVATE_IP^g" "$OUTDIR/$LVS/etc/netplan/config.yaml"
+    sed -i "s^LVS01_Private_IP^$LVS01_PRIVATE_IP^g" "$OUTDIR/$LVS/etc/network/interfaces"
+    sed -i "s^LVS01_Private_IP^$LVS01_PRIVATE_IP^g" "$OUTDIR/$LVS/etc/netplan/config.yaml"
+    sed -i "s^LVS02_Private_IP^$LVS02_PRIVATE_IP^g" "$OUTDIR/$LVS/etc/network/interfaces"
+    sed -i "s^LVS02_Private_IP^$LVS02_PRIVATE_IP^g" "$OUTDIR/$LVS/etc/netplan/config.yaml"
+    sed -i "s^Cluster_Private_IP^$LVS01_PRIVATE_SHARED_IP^g" "$OUTDIR/$LVS/etc/network/interfaces"
+    sed -i "s^Cluster_Private_IP^$LVS01_PRIVATE_SHARED_IP^g" "$OUTDIR/$LVS/etc/netplan/config.yaml"
+    sed -i "s^CLUSTER_DOMAINNAME^${CLUSTERDOMAINNAME}^g" "$OUTDIR/$LVS/etc/network/interfaces"
+    sed -i "s^CLUSTER_DOMAINNAME^${CLUSTERDOMAINNAME}^g" "$OUTDIR/$LVS/etc/netplan/config.yaml"
 done
 
 
@@ -2636,33 +2644,33 @@ done
 SetupInterfaces () { #Configure Interfaces file.
 #for NET_NODE in db01 db02 db03 logger01 utility01 sip01 sip02 reporter01 memcache01 memcache02 monitor01 backup01 admin01 
 for NET_NODE in $MACHINES_NO_BRICKS_LVS
-       do
-       if [[ "$USE_HOSTNAME_PREFIX" = "y" || "$USE_HOSTNAME_PREFIX" = "Y" ]]
-               then
-               NODE_NO_PREFIX=$(echo $NET_NODE|awk -F"-" '{ print $2  }')
-               else
-               NODE_NO_PREFIX=$NET_NODE
-       fi
-       cp -f "$TEMPLATEDIR/netplan/config.yaml" "$OUTDIR/$NET_NODE/etc/netplan"
-       cp -f "$TEMPLATEDIR/interfaces" "$OUTDIR/$NET_NODE/etc/network" && \
-       # eval sed -i "s^Priv_IP^\$${NET_NODE^^*}_IP^g" "$OUTDIR/$NET_NODE/etc/network/interfaces"
-       if [ "$USE_DMZ" = "y" ] || [ "$USE_DMZ" = "Y" ]
-       then
-               sed -i "s^Priv_NET.1^$PRIVATENET_GATEWAY^g" "$OUTDIR/$NET_NODE/etc/network/interfaces"
-               sed -i "s^Priv_NET.1^$PRIVATENET_GATEWAY^g" "$OUTDIR/$NET_NODE/etc/netplan/config.yaml"
-       fi
-       eval sed -i "s^Priv_IP^\$${NODE_NO_PREFIX^^*}_IP^g" "$OUTDIR/$NET_NODE/etc/network/interfaces"
-       eval sed -i "s^Priv_IP^\$${NODE_NO_PREFIX^^*}_IP^g" "$OUTDIR/$NET_NODE/etc/netplan/config.yaml"
-       sed -i "s^LVS01_Private_IP^$LVS01_PRIVATE_IP^g" "$OUTDIR/$NET_NODE/etc/network/interfaces"
-       sed -i "s^LVS01_Private_IP^$LVS01_PRIVATE_IP^g" "$OUTDIR/$NET_NODE/etc/netplan/config.yaml"
-       sed -i "s^LVS02_Private_IP^$LVS02_PRIVATE_IP^g" "$OUTDIR/$NET_NODE/etc/network/interfaces"
-       sed -i "s^LVS02_Private_IP^$LVS02_PRIVATE_IP^g" "$OUTDIR/$NET_NODE/etc/netplan/config.yaml"
-       sed -i "s^Cluster_Private_IP^$LVS01_PRIVATE_SHARED_IP^g" "$OUTDIR/$NET_NODE/etc/network/interfaces"
-       sed -i "s^Cluster_Private_IP^$LVS01_PRIVATE_SHARED_IP^g" "$OUTDIR/$NET_NODE/etc/netplan/config.yaml"
-       sed -i "s^CLUSTER_DOMAINNAME^${CLUSTERDOMAINNAME}^g" "$OUTDIR/$NET_NODE/etc/network/interfaces"
-       sed -i "s^CLUSTER_DOMAINNAME^${CLUSTERDOMAINNAME}^g" "$OUTDIR/$NET_NODE/etc/netplan/config.yaml"
-       sed -i "s^Priv_NET^$PRIVATENET^g" "$OUTDIR/$NET_NODE/etc/network/interfaces"
-       sed -i "s^Priv_NET^$PRIVATENET^g" "$OUTDIR/$NET_NODE/etc/netplan/config.yaml"
+    do
+    if [[ "$USE_HOSTNAME_PREFIX" = "y" || "$USE_HOSTNAME_PREFIX" = "Y" ]]
+        then
+        NODE_NO_PREFIX=$(echo $NET_NODE|awk -F"-" '{ print $2  }')
+        else
+        NODE_NO_PREFIX=$NET_NODE
+    fi
+    cp -f "$TEMPLATEDIR/netplan/config.yaml" "$OUTDIR/$NET_NODE/etc/netplan"
+    cp -f "$TEMPLATEDIR/interfaces" "$OUTDIR/$NET_NODE/etc/network" && \
+    # eval sed -i "s^Priv_IP^\$${NET_NODE^^*}_IP^g" "$OUTDIR/$NET_NODE/etc/network/interfaces"
+    if [ "$USE_DMZ" = "y" ] || [ "$USE_DMZ" = "Y" ]
+    then
+        sed -i "s^Priv_NET.1^$PRIVATENET_GATEWAY^g" "$OUTDIR/$NET_NODE/etc/network/interfaces"
+        sed -i "s^Priv_NET.1^$PRIVATENET_GATEWAY^g" "$OUTDIR/$NET_NODE/etc/netplan/config.yaml"
+    fi
+    eval sed -i "s^Priv_IP^\$${NODE_NO_PREFIX^^*}_IP^g" "$OUTDIR/$NET_NODE/etc/network/interfaces"
+    eval sed -i "s^Priv_IP^\$${NODE_NO_PREFIX^^*}_IP^g" "$OUTDIR/$NET_NODE/etc/netplan/config.yaml"
+    sed -i "s^LVS01_Private_IP^$LVS01_PRIVATE_IP^g" "$OUTDIR/$NET_NODE/etc/network/interfaces"
+    sed -i "s^LVS01_Private_IP^$LVS01_PRIVATE_IP^g" "$OUTDIR/$NET_NODE/etc/netplan/config.yaml"
+    sed -i "s^LVS02_Private_IP^$LVS02_PRIVATE_IP^g" "$OUTDIR/$NET_NODE/etc/network/interfaces"
+    sed -i "s^LVS02_Private_IP^$LVS02_PRIVATE_IP^g" "$OUTDIR/$NET_NODE/etc/netplan/config.yaml"
+    sed -i "s^Cluster_Private_IP^$LVS01_PRIVATE_SHARED_IP^g" "$OUTDIR/$NET_NODE/etc/network/interfaces"
+    sed -i "s^Cluster_Private_IP^$LVS01_PRIVATE_SHARED_IP^g" "$OUTDIR/$NET_NODE/etc/netplan/config.yaml"
+    sed -i "s^CLUSTER_DOMAINNAME^${CLUSTERDOMAINNAME}^g" "$OUTDIR/$NET_NODE/etc/network/interfaces"
+    sed -i "s^CLUSTER_DOMAINNAME^${CLUSTERDOMAINNAME}^g" "$OUTDIR/$NET_NODE/etc/netplan/config.yaml"
+    sed -i "s^Priv_NET^$PRIVATENET^g" "$OUTDIR/$NET_NODE/etc/network/interfaces"
+    sed -i "s^Priv_NET^$PRIVATENET^g" "$OUTDIR/$NET_NODE/etc/netplan/config.yaml"
 done
 }
 SetupInterfaces
@@ -2670,8 +2678,8 @@ SetupInterfaces
 ### Setup Memcache
 for MEMCACHE_NODE in $MACHINES_MEMCACHE_ONLY
 do
-       mkdir -p "$OUTDIR/$MEMCACHE_NODE/usr/local/bin"
-       cp -f "$TEMPLATEDIR/memcache/check_memcache_connections.sh" "$OUTDIR/$MEMCACHE_NODE/usr/local/bin"
+    mkdir -p "$OUTDIR/$MEMCACHE_NODE/usr/local/bin"
+    cp -f "$TEMPLATEDIR/memcache/check_memcache_connections.sh" "$OUTDIR/$MEMCACHE_NODE/usr/local/bin"
 done
 
 ### Setup Utility
@@ -2686,12 +2694,12 @@ cp -f "$TMPFOLDER/exports" "$OUTDIR/$UTILITY/etc/"
 ### action trigger filters for utility.
 mkdir -p "$OUTDIR/$UTILITY/openils/conf"
 if [ -e "$CUSTOMDIR/action_trigger_filters.json" ]
-       then
-       echo
-       echo -e $COL_GREEN"Using custom action trigger filters."$COL_RESET
-       cp -f "$CUSTOMDIR/action_trigger_filters.json" "$OUTDIR/$UTILITY/openils/conf"
-               else
-               cp -f "$TEMPLATEDIR/action_trigger_filters.json" "$OUTDIR/$UTILITY/openils/conf"
+    then
+    echo
+    echo -e $COL_GREEN"Using custom action trigger filters."$COL_RESET
+    cp -f "$CUSTOMDIR/action_trigger_filters.json" "$OUTDIR/$UTILITY/openils/conf"
+        else
+        cp -f "$TEMPLATEDIR/action_trigger_filters.json" "$OUTDIR/$UTILITY/openils/conf"
 fi
 ### copy pines scripts to utility
 mkdir -p "$OUTDIR/$UTILITY/home/opensrf/eg/ums"
@@ -2710,9 +2718,9 @@ echo "$(date)" > "$OUTDIR/${REPORTS_NFS_HOSTNAME}/etc/eg_reports_output_host.txt
 ### Setup DNS and NTP configs. Except LVS and bricks.
 #for DNSNODE in db01 db02 db03 logger01 utility01 sip01 sip02 reporter01 memcache01 memcache02 monitor01 backup01 admin01 
 for DNSNODE in $MACHINES_NO_LVS
-       do
-       cp -f "$TMPFOLDER/resolv.conf" "$OUTDIR/$DNSNODE/etc"
-       cp -f "$TMPFOLDER/ntp.conf" "$OUTDIR/$DNSNODE/etc"
+    do
+    cp -f "$TMPFOLDER/resolv.conf" "$OUTDIR/$DNSNODE/etc"
+    cp -f "$TMPFOLDER/ntp.conf" "$OUTDIR/$DNSNODE/etc"
 done
 
 
@@ -2722,10 +2730,10 @@ echo "Setting up hostname and logger config files for non-brick nodes.."
 #for HOSTNODE in lvs01 lvs02 db01 db02 db03 logger01 utility01 sip01 sip02 reporter01 memcache01 memcache02 monitor01 backup01 admin01 
 for HOSTNODE in $MACHINES_NO_BRICKS
 do
-       echo $HOSTNODE > "$OUTDIR/${HOSTNODE}/etc/hostname"
-       mkdir -p "$OUTDIR/${HOSTNODE}/etc/rsyslog.d"
-       cp -f $TEMPLATEDIR/rsyslog/50-default.conf "$OUTDIR/${HOSTNODE}/etc/rsyslog.d"
-       cp -f $TMPFOLDER/60-evergreen-ils.conf "$OUTDIR/${HOSTNODE}/etc/rsyslog.d"
+    echo $HOSTNODE > "$OUTDIR/${HOSTNODE}/etc/hostname"
+    mkdir -p "$OUTDIR/${HOSTNODE}/etc/rsyslog.d"
+    cp -f $TEMPLATEDIR/rsyslog/50-default.conf "$OUTDIR/${HOSTNODE}/etc/rsyslog.d"
+    cp -f $TMPFOLDER/60-evergreen-ils.conf "$OUTDIR/${HOSTNODE}/etc/rsyslog.d"
 done
 echo "Done setting up hostname and logger config for non-bricks nodes."
 
@@ -2734,44 +2742,44 @@ echo "Done setting up hostname and logger config for non-bricks nodes."
 #for OTHERNODE in utility01 sip01 sip02 reporter01
 for OTHERNODE in $MACHINES_OSRF_NO_BRICKS
 do
-       mkdir -p "$OUTDIR/$OTHERNODE/var/backup"
-       mkdir -p "$OUTDIR/$OTHERNODE/openils/var/data/offline"
-       mkdir -p "$OUTDIR/$OTHERNODE/openils/var/data/offline/blocked"
-       mkdir -p "$OUTDIR/$OTHERNODE/openils/var/data/vandelay"
-       mkdir -p "$OUTDIR/$OTHERNODE/openils/var/web/reporter"
-       
-       mkdir -p "$OUTDIR/$OTHERNODE/etc/apache2/ssl" && cp -f "${CERT_DIR}/server.key" "$OUTDIR/$OTHERNODE/etc/apache2/ssl"
-       cp -f "${CERT_DIR}/server.crt" "$OUTDIR/$OTHERNODE/etc/apache2/ssl"
-       cp -f "${CERT_DIR}/dhparams.pem" "$OUTDIR/$OTHERNODE/etc/apache2/ssl"
-       [ -e "${CERT_DIR}/ca.crt" ] && cp -f "${CERT_DIR}/ca.crt" "$OUTDIR/$OTHERNODE/etc/apache2/ssl"
-       [ -e "${CUSTOMDIR}/zips.txt" ] && cp -f "${CUSTOMDIR}/zips.txt"  "$OUTDIR/$OTHERNODE/openils/var/data/zips.txt"
-       mkdir -p "$OUTDIR/$OTHERNODE/openils/conf" && cp -f "$TEMPLATEDIR/opensrf_core.xml" "$OUTDIR/${OTHERNODE}/openils/conf"
-       #mkdir -p "$OUTDIR/$OTHERNODE/etc/init.d" && cp -f "$TEMPLATEDIR/init/eg_opensrf" "$OUTDIR/${OTHERNODE}/etc/init.d/opensrf"
-       mkdir -p "$OUTDIR/$OTHERNODE/var/run/evergreen"
-       sed -i "s^Brick_head_Fqdn^${OTHERNODE}.${CLUSTERDOMAINNAME}^g" "${OUTDIR}/${OTHERNODE}/openils/conf/opensrf_core.xml"
-       #sed -i "s^OpenSRF_Password^$OPENSRF_PASSWORD^g" "${OUTDIR}/${OTHERNODE}/openils/conf/opensrf_core.xml"
-       sed -i "s^OpenSRF_Password^$(echo $OPENSRF_PASSWORD | sed  -e 's^&^\\\&^g' -e 's/\^/\\\^/g')^g" "${OUTDIR}/${OTHERNODE}/openils/conf/opensrf_core.xml"
-       cp -f $TEMPLATEDIR/opensrf.xml/opensrf.xml-full $TMPFOLDER/opensrf.xml-full
-       sed -i "s^NODE_HOST_NAME.ClusterDomainName^${OTHERNODE}.${CLUSTERDOMAINNAME}^g" $TMPFOLDER/opensrf.xml-full
-       cat $TMPFOLDER/opensrf.xml-full >> $TMPOPENSRF_XML
-       cp -f "$TEMPLATEDIR/oils_web.xml" "$OUTDIR/$OTHERNODE/openils/conf"
-       echo ${OTHERNODE} >> $TMPOSRFNODES
-       if echo ${OTHERNODE} | grep -q reporter0
-       then
-               if [ "$REPORTER_IS_HOST" = "NO" ] ### Make sure we mount nfs share on reporter if its not the host.
-               then 
-                       cp -f $TEMPLATEDIR/eg_fstab_reporter "$OUTDIR/${OTHERNODE}/etc"
-                       sed -i "s^REPORTER_OUTPUT_NFS_HOST_IP^$REPORTS_NFS_HOSTNAME_IP^g" "$OUTDIR/${OTHERNODE}/etc/eg_fstab_reporter"
-               fi
-       fi
+    mkdir -p "$OUTDIR/$OTHERNODE/var/backup"
+    mkdir -p "$OUTDIR/$OTHERNODE/openils/var/data/offline"
+    mkdir -p "$OUTDIR/$OTHERNODE/openils/var/data/offline/blocked"
+    mkdir -p "$OUTDIR/$OTHERNODE/openils/var/data/vandelay"
+    mkdir -p "$OUTDIR/$OTHERNODE/openils/var/web/reporter"
+    
+    mkdir -p "$OUTDIR/$OTHERNODE/etc/apache2/ssl" && cp -f "${CERT_DIR}/server.key" "$OUTDIR/$OTHERNODE/etc/apache2/ssl"
+    cp -f "${CERT_DIR}/server.crt" "$OUTDIR/$OTHERNODE/etc/apache2/ssl"
+    cp -f "${CERT_DIR}/dhparams.pem" "$OUTDIR/$OTHERNODE/etc/apache2/ssl"
+    [ -e "${CERT_DIR}/ca.crt" ] && cp -f "${CERT_DIR}/ca.crt" "$OUTDIR/$OTHERNODE/etc/apache2/ssl"
+    [ -e "${CUSTOMDIR}/zips.txt" ] && cp -f "${CUSTOMDIR}/zips.txt"  "$OUTDIR/$OTHERNODE/openils/var/data/zips.txt"
+    mkdir -p "$OUTDIR/$OTHERNODE/openils/conf" && cp -f "$TEMPLATEDIR/opensrf_core.xml" "$OUTDIR/${OTHERNODE}/openils/conf"
+    #mkdir -p "$OUTDIR/$OTHERNODE/etc/init.d" && cp -f "$TEMPLATEDIR/init/eg_opensrf" "$OUTDIR/${OTHERNODE}/etc/init.d/opensrf"
+    mkdir -p "$OUTDIR/$OTHERNODE/var/run/evergreen"
+    sed -i "s^Brick_head_Fqdn^${OTHERNODE}.${CLUSTERDOMAINNAME}^g" "${OUTDIR}/${OTHERNODE}/openils/conf/opensrf_core.xml"
+    #sed -i "s^OpenSRF_Password^$OPENSRF_PASSWORD^g" "${OUTDIR}/${OTHERNODE}/openils/conf/opensrf_core.xml"
+    sed -i "s^OpenSRF_Password^$(echo $OPENSRF_PASSWORD | sed  -e 's^&^\\\&^g' -e 's/\^/\\\^/g')^g" "${OUTDIR}/${OTHERNODE}/openils/conf/opensrf_core.xml"
+    cp -f $TEMPLATEDIR/opensrf.xml/opensrf.xml-full $TMPFOLDER/opensrf.xml-full
+    sed -i "s^NODE_HOST_NAME.ClusterDomainName^${OTHERNODE}.${CLUSTERDOMAINNAME}^g" $TMPFOLDER/opensrf.xml-full
+    cat $TMPFOLDER/opensrf.xml-full >> $TMPOPENSRF_XML
+    cp -f "$TEMPLATEDIR/oils_web.xml" "$OUTDIR/$OTHERNODE/openils/conf"
+    echo ${OTHERNODE} >> $TMPOSRFNODES
+    if echo ${OTHERNODE} | grep -q reporter0
+    then
+        if [ "$REPORTER_IS_HOST" = "NO" ] ### Make sure we mount nfs share on reporter if its not the host.
+        then 
+            cp -f $TEMPLATEDIR/eg_fstab_reporter "$OUTDIR/${OTHERNODE}/etc"
+            sed -i "s^REPORTER_OUTPUT_NFS_HOST_IP^$REPORTS_NFS_HOSTNAME_IP^g" "$OUTDIR/${OTHERNODE}/etc/eg_fstab_reporter"
+        fi
+    fi
 done
 
 ### copy completed opensrf file to their respective locations.
 #for OSRF_NODE in utility01 sip01 sip02 reporter01
 for OSRF_NODE in $MACHINES_OSRF_NO_BRICKS
 do
-       cp -f "$TMPOPENSRF_XML" "$OUTDIR/$OSRF_NODE/openils/conf/opensrf.xml"
-       cat $TEMPLATEDIR/opensrf.xml/opensrf.xml-footer >> "$OUTDIR/$OTHERNODE/openils/conf/opensrf.xml"
+    cp -f "$TMPOPENSRF_XML" "$OUTDIR/$OSRF_NODE/openils/conf/opensrf.xml"
+    cat $TEMPLATEDIR/opensrf.xml/opensrf.xml-footer >> "$OUTDIR/$OTHERNODE/openils/conf/opensrf.xml"
 done
 
 ### Add stuff to sudoers.d for opensrf nodes that are not bricks
@@ -2779,8 +2787,8 @@ done
 ### Also make sure user nagios can run check_osrf
 for OSRF_SUDO_NODE in $MACHINES_OSRF_NO_BRICKS
 do
-       mkdir -p "$OUTDIR/$OSRF_SUDO_NODE/etc/sudoers.d"
-       cp -f "${TEMPLATEDIR}/systemd/opensrf.sudoers" "$OUTDIR/${OSRF_SUDO_NODE}/etc/sudoers.d/opensrf"
+    mkdir -p "$OUTDIR/$OSRF_SUDO_NODE/etc/sudoers.d"
+    cp -f "${TEMPLATEDIR}/systemd/opensrf.sudoers" "$OUTDIR/${OSRF_SUDO_NODE}/etc/sudoers.d/opensrf"
         cp -f "${TEMPLATEDIR}/monitor/check_osrf.sudoers" "$OUTDIR/${OSRF_SUDO_NODE}/etc/sudoers.d/nagios"
 done
 
@@ -2790,28 +2798,28 @@ echo
 echo "Setting up SIP.."
 if [ -e "${CUSTOMDIR}/oils_sip.xml" ] 
 then
-       cp -f "${CUSTOMDIR}/oils_sip.xml" "${TMPFOLDER}"
-       #sed -i "/<\/listeners>/a \\\t<\!-- One or more Memecache servers are required for Mulitplex mode. -->\n\t<\!-- Cache server(s) are ignored in non-Multiplex mode -->\n\t<cache>\n\t\  \<server>$MEMCACHE01_IP:11211</server>\n\t\  \<server>$MEMCACHE02_IP:11211</server>\n\t</cache>" "${TMPFOLDER}/oils_sip.xml"
-       sed -i "/<server>/d" "${TMPFOLDER}/oils_sip.xml"
-       sed -i "/<cache>/a \\\t<server>$MEMCACHE01_IP:11211</server>\n\t<server>$MEMCACHE02_IP:11211</server>" "${TMPFOLDER}/oils_sip.xml"
+    cp -f "${CUSTOMDIR}/oils_sip.xml" "${TMPFOLDER}"
+    #sed -i "/<\/listeners>/a \\\t<\!-- One or more Memecache servers are required for Mulitplex mode. -->\n\t<\!-- Cache server(s) are ignored in non-Multiplex mode -->\n\t<cache>\n\t\  \<server>$MEMCACHE01_IP:11211</server>\n\t\  \<server>$MEMCACHE02_IP:11211</server>\n\t</cache>" "${TMPFOLDER}/oils_sip.xml"
+    sed -i "/<server>/d" "${TMPFOLDER}/oils_sip.xml"
+    sed -i "/<cache>/a \\\t<server>$MEMCACHE01_IP:11211</server>\n\t<server>$MEMCACHE02_IP:11211</server>" "${TMPFOLDER}/oils_sip.xml"
 else 
-       echo
-       echo -e ${COL_RED} "WARNING!!" ${COL_RESET} ${COL_GREEN} "oils_sip.xml" ${COL_RESET} "was not found in ${CUSTOMDIR}"
-       sleep 5
+    echo
+    echo -e ${COL_RED} "WARNING!!" ${COL_RESET} ${COL_GREEN} "oils_sip.xml" ${COL_RESET} "was not found in ${CUSTOMDIR}"
+    sleep 5
 fi
 for SIPNODE in $MACHINES_SIP_ONLY
 do
-       mkdir -p "$OUTDIR/$SIPNODE/opt"
-       mkdir -p "$OUTDIR/$SIPNODE/etc/init.d"
-       mkdir -p "$OUTDIR/$SIPNODE/etc/cron.d"
-       mkdir -p "$OUTDIR/$SIPNODE/var/www"
-       mkdir -p "$OUTDIR/$SIPNODE/root/eg"
-       mkdir -p "$OUTDIR/$SIPNODE/usr/local/bin"
-       tar zxf $TEMPLATEDIR/SIP/SIPServer.tar.gz -C "$OUTDIR/$SIPNODE/opt"
-       cp -f $TEMPLATEDIR/SIP/sip.init "$OUTDIR/$SIPNODE/etc/init.d/oils_sip"
-       cp -f $TEMPLATEDIR/SIP/eg_sip_root.crontab "$OUTDIR/$SIPNODE/root/eg"
-       cp -f $TEMPLATEDIR/SIP/display_sip_connections.sh "$OUTDIR/$SIPNODE/root/eg"
-       cp -f $TEMPLATEDIR/SIP/sip_stats "$OUTDIR/$SIPNODE/usr/local/bin"
+    mkdir -p "$OUTDIR/$SIPNODE/opt"
+    mkdir -p "$OUTDIR/$SIPNODE/etc/init.d"
+    mkdir -p "$OUTDIR/$SIPNODE/etc/cron.d"
+    mkdir -p "$OUTDIR/$SIPNODE/var/www"
+    mkdir -p "$OUTDIR/$SIPNODE/root/eg"
+    mkdir -p "$OUTDIR/$SIPNODE/usr/local/bin"
+    tar zxf $TEMPLATEDIR/SIP/SIPServer.tar.gz -C "$OUTDIR/$SIPNODE/opt"
+    cp -f $TEMPLATEDIR/SIP/sip.init "$OUTDIR/$SIPNODE/etc/init.d/oils_sip"
+    cp -f $TEMPLATEDIR/SIP/eg_sip_root.crontab "$OUTDIR/$SIPNODE/root/eg"
+    cp -f $TEMPLATEDIR/SIP/display_sip_connections.sh "$OUTDIR/$SIPNODE/root/eg"
+    cp -f $TEMPLATEDIR/SIP/sip_stats "$OUTDIR/$SIPNODE/usr/local/bin"
 done
 echo "Done setting up SIP."
 
@@ -2822,14 +2830,14 @@ echo
 echo "Setting up logger"
 for LOGGER in $MACHINES_LOGGER
 do
-       mkdir -p "$OUTDIR/$LOGGER/etc/rsyslog.d"
-       mkdir -p "$OUTDIR/$LOGGER/root/eg"
-       cp -f "$TEMPLATEDIR/rsyslog/pg-log-analyzer-cron" "$OUTDIR/$LOGGER/root/eg"
-       cp -f "$TEMPLATEDIR/rsyslog/pg-log-analyzer" "$OUTDIR/$LOGGER/root/eg"
-       cp -f "$TEMPLATEDIR/rsyslog/archive.sh" "$OUTDIR/$LOGGER/root/eg"
-       cp -f "$TEMPLATEDIR/rsyslog/logger-crontab" "$OUTDIR/$LOGGER/root/eg"
-       cp -f "$TEMPLATEDIR/rsyslog/opensrf-rsyslog.conf" "$OUTDIR/$LOGGER/etc/rsyslog.d"
-       cp -f "$TEMPLATEDIR/rsyslog/rsyslog.conf-logger" "$OUTDIR/$LOGGER/etc/rsyslog.conf"
+    mkdir -p "$OUTDIR/$LOGGER/etc/rsyslog.d"
+    mkdir -p "$OUTDIR/$LOGGER/root/eg"
+    cp -f "$TEMPLATEDIR/rsyslog/pg-log-analyzer-cron" "$OUTDIR/$LOGGER/root/eg"
+    cp -f "$TEMPLATEDIR/rsyslog/pg-log-analyzer" "$OUTDIR/$LOGGER/root/eg"
+    cp -f "$TEMPLATEDIR/rsyslog/archive.sh" "$OUTDIR/$LOGGER/root/eg"
+    cp -f "$TEMPLATEDIR/rsyslog/logger-crontab" "$OUTDIR/$LOGGER/root/eg"
+    cp -f "$TEMPLATEDIR/rsyslog/opensrf-rsyslog.conf" "$OUTDIR/$LOGGER/etc/rsyslog.d"
+    cp -f "$TEMPLATEDIR/rsyslog/rsyslog.conf-logger" "$OUTDIR/$LOGGER/etc/rsyslog.conf"
 done
 echo "Done setting up logger"
 
@@ -2837,35 +2845,35 @@ echo "Done setting up logger"
 #for DB_SERVER in db01 db02 db03
 for DB_SERVER in $MACHINES_DB_ONLY
 do
-       mkdir -p $OUTDIR/${DB_SERVER}/etc/init.d
-       mkdir -p $OUTDIR/${DB_SERVER}/etc/postgresql/$PSQL_VERSION/main
-       mkdir -p $OUTDIR/${DB_SERVER}/etc/postgresql/$PSQL_VERSION/main/conf.d
-       mkdir -p $OUTDIR/${DB_SERVER}/home/postgres/eg
-       mkdir -p $OUTDIR/${DB_SERVER}/root/eg
-       #cp -f "$TEMPLATEDIR/init/eg_database" "$OUTDIR/${DB_SERVER}/etc/init.d"
-       # cp -f "$TEMPLATEDIR/db/postgresql.conf" "$OUTDIR/${DB_SERVER}/etc/postgresql/$PSQL_VERSION/main" #TODO removed temporarily.
-       cp -f "$TEMPLATEDIR/db/pg_hba.conf-${PSQL_VERSION}" "$OUTDIR/${DB_SERVER}/etc/postgresql/$PSQL_VERSION/main/pg_hba.conf"
-       cp -f "$TEMPLATEDIR/db/postgresql-evergreen-cluster.conf" "$OUTDIR/${DB_SERVER}/etc/postgresql/$PSQL_VERSION/main/conf.d"
-       cp -f "$TEMPLATEDIR/db/eg_db_postgres.crontab" "$OUTDIR/${DB_SERVER}/home/postgres/eg"
-       cp -f "$TEMPLATEDIR/db/eg_db_root.crontab" "$OUTDIR/${DB_SERVER}/root/eg"
-       cp -f "$TEMPLATEDIR/db/eg-db-backup.sh" "$OUTDIR/${DB_SERVER}/home/postgres/eg"
-       cp -f "$TEMPLATEDIR/db/eg-wal-archive.sh" "$OUTDIR/${DB_SERVER}/home/postgres/eg"
-       cp -f "$TEMPLATEDIR/db/snapshot.sh" "$OUTDIR/${DB_SERVER}/root/eg"
-       #cp -f "$TEMPLATEDIR/db/eg_fstab_db" "$OUTDIR/${DB_SERVER}/etc"
-       echo "${BACKUP01_IP}:/var/backup /var/backup/ nfs rw 0 0" > "$OUTDIR/${DB_SERVER}/etc/eg_fstab_db"
-       #sed -i "s^_BACKUP01_IP^${BACKUP01_IP}^g" "$OUTDIR/${DB_SERVER}/etc/eg_fstab_db"
-       sed -i "s^_PSQL_VERSION^${PSQL_VERSION}^g" "$OUTDIR/${DB_SERVER}/home/postgres/eg/eg-db-backup.sh"
-       sed -i "s^_CLUSTERDOMAINNAME^${CLUSTERDOMAINNAME}^g" "$OUTDIR/${DB_SERVER}/home/postgres/eg/eg-db-backup.sh"
-       sed -i "s^Priv_NET^${PRIVATENET}^g" "$OUTDIR/${DB_SERVER}/etc/postgresql/$PSQL_VERSION/main/pg_hba.conf"
-       echo "/var/backup ${DB_SERVER}(rw,sync,no_root_squash,no_subtree_check)" >> $TMPFOLDER/exports_backup
+    mkdir -p $OUTDIR/${DB_SERVER}/etc/init.d
+    mkdir -p $OUTDIR/${DB_SERVER}/etc/postgresql/$PSQL_VERSION/main
+    mkdir -p $OUTDIR/${DB_SERVER}/etc/postgresql/$PSQL_VERSION/main/conf.d
+    mkdir -p $OUTDIR/${DB_SERVER}/home/postgres/eg
+    mkdir -p $OUTDIR/${DB_SERVER}/root/eg
+    #cp -f "$TEMPLATEDIR/init/eg_database" "$OUTDIR/${DB_SERVER}/etc/init.d"
+    # cp -f "$TEMPLATEDIR/db/postgresql.conf" "$OUTDIR/${DB_SERVER}/etc/postgresql/$PSQL_VERSION/main" #TODO removed temporarily.
+    cp -f "$TEMPLATEDIR/db/pg_hba.conf-${PSQL_VERSION}" "$OUTDIR/${DB_SERVER}/etc/postgresql/$PSQL_VERSION/main/pg_hba.conf"
+    cp -f "$TEMPLATEDIR/db/postgresql-evergreen-cluster.conf" "$OUTDIR/${DB_SERVER}/etc/postgresql/$PSQL_VERSION/main/conf.d"
+    cp -f "$TEMPLATEDIR/db/eg_db_postgres.crontab" "$OUTDIR/${DB_SERVER}/home/postgres/eg"
+    cp -f "$TEMPLATEDIR/db/eg_db_root.crontab" "$OUTDIR/${DB_SERVER}/root/eg"
+    cp -f "$TEMPLATEDIR/db/eg-db-backup.sh" "$OUTDIR/${DB_SERVER}/home/postgres/eg"
+    cp -f "$TEMPLATEDIR/db/eg-wal-archive.sh" "$OUTDIR/${DB_SERVER}/home/postgres/eg"
+    cp -f "$TEMPLATEDIR/db/snapshot.sh" "$OUTDIR/${DB_SERVER}/root/eg"
+    #cp -f "$TEMPLATEDIR/db/eg_fstab_db" "$OUTDIR/${DB_SERVER}/etc"
+    echo "${BACKUP01_IP}:/var/backup /var/backup/ nfs rw 0 0" > "$OUTDIR/${DB_SERVER}/etc/eg_fstab_db"
+    #sed -i "s^_BACKUP01_IP^${BACKUP01_IP}^g" "$OUTDIR/${DB_SERVER}/etc/eg_fstab_db"
+    sed -i "s^_PSQL_VERSION^${PSQL_VERSION}^g" "$OUTDIR/${DB_SERVER}/home/postgres/eg/eg-db-backup.sh"
+    sed -i "s^_CLUSTERDOMAINNAME^${CLUSTERDOMAINNAME}^g" "$OUTDIR/${DB_SERVER}/home/postgres/eg/eg-db-backup.sh"
+    sed -i "s^Priv_NET^${PRIVATENET}^g" "$OUTDIR/${DB_SERVER}/etc/postgresql/$PSQL_VERSION/main/pg_hba.conf"
+    echo "/var/backup ${DB_SERVER}(rw,sync,no_root_squash,no_subtree_check)" >> $TMPFOLDER/exports_backup
 
 done
 
 ### setup exports for backup 
 for BACKUP_SERVER in $MACHINES_BACKUP
 do
-       cp -f "$TMPFOLDER/exports_backup" "$OUTDIR/$BACKUP_SERVER/etc/exports"
-       mkdir -p "$OUTDIR/$BACKUP_SERVER/var/backup"
+    cp -f "$TMPFOLDER/exports_backup" "$OUTDIR/$BACKUP_SERVER/etc/exports"
+    mkdir -p "$OUTDIR/$BACKUP_SERVER/var/backup"
 done
 
 ### Setup system files for the node 
@@ -2919,8 +2927,8 @@ echo "Done."
 
 #echo "${REPORTS_NFS_HOSTNAME}"
 if ! echo "${REPORTS_NFS_HOSTNAME}" | grep -q "reporter0\|db0" 2>/dev/null
-       then
-       Reports_NFS_Host
+    then
+    Reports_NFS_Host
 fi
 
 ##### Configure basic monitoring for non brick nodes.
@@ -2928,19 +2936,19 @@ for NAGINODE in ${MACHINES_NO_BRICKS}
 do
         ### Generate the hosts.cfg file
         MONITOR_HOST=$( echo "${NAGINODE}" | tr  '[:lower:]'  '[:upper:]' )
-       echo '### Generated by GenaSYS' >>$TMPNAGIHOSTS
-       printf 'define host {\n' >>$TMPNAGIHOSTS;printf "\thost_name\t${NAGINODE}\n" >>$TMPNAGIHOSTS
-       printf "\talias\t\t$NAGINODE\n" >>$TMPNAGIHOSTS
-       MACHINES_LIST="$MACHINES_LIST$(printf "$NAGINODE ")"
+    echo '### Generated by GenaSYS' >>$TMPNAGIHOSTS
+    printf 'define host {\n' >>$TMPNAGIHOSTS;printf "\thost_name\t${NAGINODE}\n" >>$TMPNAGIHOSTS
+    printf "\talias\t\t$NAGINODE\n" >>$TMPNAGIHOSTS
+    MACHINES_LIST="$MACHINES_LIST$(printf "$NAGINODE ")"
         
-       if echo $NAGINODE | grep -q lvs0
+    if echo $NAGINODE | grep -q lvs0
         then
                 eval printf "\\\taddress\\\t\\\t\$${MONITOR_HOST#*-}_PRIVATE_IP\\\n" >>$TMPNAGIHOSTS
         else
                 eval printf "\\\taddress\\\t\\\t\$${MONITOR_HOST#*-}_IP\\\n" >>$TMPNAGIHOSTS
         fi
         
-       printf '\tuse\t\tgeneric-host\n}\n' >>$TMPNAGIHOSTS
+    printf '\tuse\t\tgeneric-host\n}\n' >>$TMPNAGIHOSTS
 
 done
 
@@ -2955,7 +2963,7 @@ TMPNAGHOSTGROUPS="$TMPFOLDER/hostgroups.cfg"
 GenHostGroup () { ### Usage: $0 "hostgroup_name" "alias" "members"
 if ! grep -q "GenaSYS" $TMPNAGHOSTGROUPS 2>/dev/null
 then
-       echo '### Generated by GenaSYS.' >> $TMPNAGHOSTGROUPS
+    echo '### Generated by GenaSYS.' >> $TMPNAGHOSTGROUPS
 fi
 printf 'define hostgroup {\n' >>$TMPNAGHOSTGROUPS
 printf "\thostgroup_name ${1}\n" >>$TMPNAGHOSTGROUPS
@@ -2980,22 +2988,22 @@ GenHostGroup "ssh-servers" "SSH Servers" "*"
 ### Configure the monitoring servers.
 for MONITOR in $MACHINES_MONITOR
 do
-       mkdir -p "$OUTDIR/$MONITOR/etc/icinga/objects"
-       mkdir -p "$OUTDIR/$MONITOR/etc/apache2/sites-available"
-       mkdir -p "$OUTDIR/$MONITOR/var/www"
-       cp -f "$TEMPLATEDIR/monitor/icinga-vhost.conf" "$OUTDIR/$MONITOR/etc/apache2/sites-available"
-       cp -f "$TMPFOLDER/hosts.cfg" "$OUTDIR/$MONITOR/etc/icinga/objects"
-       cp -f "$TMPFOLDER/hostgroups.cfg" "$OUTDIR/$MONITOR/etc/icinga/objects"
-       cp -f "$TEMPLATEDIR/monitor/services.cfg" "$OUTDIR/$MONITOR/etc/icinga/objects"
-       cp -f "$TEMPLATEDIR/monitor/index.html" "$OUTDIR/$MONITOR/var/www"
-       cp -fR "$TEMPLATEDIR/monitor/images" "$OUTDIR/$MONITOR/var/www"
-       sed -i "s^CLUSTER_DOMAIN_NAME^${CLUSTERDOMAINNAME}^g" "$OUTDIR/$MONITOR/etc/apache2/sites-available/icinga-vhost.conf"
-       sed -i "s^CLUSTER_DOMAIN_NAME^${CLUSTERDOMAINNAME}^g" "$OUTDIR/$MONITOR/var/www/index.html"
-       #cp -f "$TEMPLATEDIR/monitor/commands.cfg" "$OUTDIR/$MONITOR/etc/icinga"
-
-       ### Generate sources.list for apt to install icinga
+    mkdir -p "$OUTDIR/$MONITOR/etc/icinga/objects"
+    mkdir -p "$OUTDIR/$MONITOR/etc/apache2/sites-available"
+    mkdir -p "$OUTDIR/$MONITOR/var/www"
+    cp -f "$TEMPLATEDIR/monitor/icinga-vhost.conf" "$OUTDIR/$MONITOR/etc/apache2/sites-available"
+    cp -f "$TMPFOLDER/hosts.cfg" "$OUTDIR/$MONITOR/etc/icinga/objects"
+    cp -f "$TMPFOLDER/hostgroups.cfg" "$OUTDIR/$MONITOR/etc/icinga/objects"
+    cp -f "$TEMPLATEDIR/monitor/services.cfg" "$OUTDIR/$MONITOR/etc/icinga/objects"
+    cp -f "$TEMPLATEDIR/monitor/index.html" "$OUTDIR/$MONITOR/var/www"
+    cp -fR "$TEMPLATEDIR/monitor/images" "$OUTDIR/$MONITOR/var/www"
+    sed -i "s^CLUSTER_DOMAIN_NAME^${CLUSTERDOMAINNAME}^g" "$OUTDIR/$MONITOR/etc/apache2/sites-available/icinga-vhost.conf"
+    sed -i "s^CLUSTER_DOMAIN_NAME^${CLUSTERDOMAINNAME}^g" "$OUTDIR/$MONITOR/var/www/index.html"
+    #cp -f "$TEMPLATEDIR/monitor/commands.cfg" "$OUTDIR/$MONITOR/etc/icinga"
+
+    ### Generate sources.list for apt to install icinga
         #mkdir -p "${OUTDIR}/${MONITOR}/etc/apt/sources.list.d/"
-       echo '### Generated by GenaSYS' >> "${TMPFOLDER}/icinga_ppa.list"
+    echo '### Generated by GenaSYS' >> "${TMPFOLDER}/icinga_ppa.list"
         echo "#PPA for Icinga monitoring for Evergreen" >> "${TMPFOLDER}/icinga_ppa.list"
         echo "deb http://ppa.launchpad.net/formorer/icinga/ubuntu $UBUNTU_CODENAME main" >> "${TMPFOLDER}/icinga_ppa.list"
         echo "deb-src http://ppa.launchpad.net/formorer/icinga/ubuntu $UBUNTU_CODENAME main" >> "${TMPFOLDER}/icinga_ppa.list"
@@ -3007,16 +3015,16 @@ echo '#/bin/bash' >>$TMPSETUPMONITOR
 echo sed -i \'s^allowed_hosts=127.0.0.1^#allowed_hosts=127.0.0.1^g\' "/etc/nagios/nrpe.cfg" >>$TMPSETUPMONITOR
 for NAGINODE in ${MACHINES_MONITOR} 
 do
-       MONITOR_SERVER=$( echo "${NAGINODE}" | tr  '[:lower:]'  '[:upper:]' )
-       ### remove prefix ${MONITOR_SERVER#*-}
-       #echo ${MACHINES_MONITOR#*-}
-       THIS_MONITOR_SERVER_IP=$(eval echo \$${MONITOR_SERVER#*-}_IP) ## strip prefix
-       if [ -z "$MONITOR_SERVER_IP_LIST" ]
-       then
-               MONITOR_SERVER_IP_LIST="$THIS_MONITOR_SERVER_IP 127.0.0.1"
-       else
-               MONITOR_SERVER_IP_LIST="$MONITOR_SERVER_IP_LIST $THIS_MONITOR_SERVER_IP 127.0.0.1"
-       fi
+    MONITOR_SERVER=$( echo "${NAGINODE}" | tr  '[:lower:]'  '[:upper:]' )
+    ### remove prefix ${MONITOR_SERVER#*-}
+    #echo ${MACHINES_MONITOR#*-}
+    THIS_MONITOR_SERVER_IP=$(eval echo \$${MONITOR_SERVER#*-}_IP) ## strip prefix
+    if [ -z "$MONITOR_SERVER_IP_LIST" ]
+    then
+        MONITOR_SERVER_IP_LIST="$THIS_MONITOR_SERVER_IP 127.0.0.1"
+    else
+        MONITOR_SERVER_IP_LIST="$MONITOR_SERVER_IP_LIST $THIS_MONITOR_SERVER_IP 127.0.0.1"
+    fi
 done
 printf "echo \"allowed_hosts=${MONITOR_SERVER_IP_LIST// /,}\" >> /etc/nagios/nrpe.cfg\n" >>$TMPSETUPMONITOR
 echo sed -i \'s^dont_blame_nrpe=0^dont_blame_nrpe=1^g\' "/etc/nagios/nrpe.cfg" >>$TMPSETUPMONITOR
@@ -3039,51 +3047,51 @@ chmod 755 $TMPSETUPMONITOR
 for MUNINODE in ${MACHINES_NO_BRICKS}
 #for MUNINODE in ${ALL_MACHINES_LIST}
 do
-       MUNIN_HOST=$( echo "${MUNINODE}" | tr  '[:lower:]'  '[:upper:]' )
-       MUNIN_CFG_FILE="${OUTDIR}/${MUNINODE}/etc/munin/munin-node.conf"
-       mkdir -p "${OUTDIR}/${MUNINODE}/etc/munin"
-       mkdir -p "${OUTDIR}/${MUNINODE}/var/run/munin"
-       cp -f ${TEMPLATEDIR}/monitor/munin-node.conf "${MUNIN_CFG_FILE}"
+    MUNIN_HOST=$( echo "${MUNINODE}" | tr  '[:lower:]'  '[:upper:]' )
+    MUNIN_CFG_FILE="${OUTDIR}/${MUNINODE}/etc/munin/munin-node.conf"
+    mkdir -p "${OUTDIR}/${MUNINODE}/etc/munin"
+    mkdir -p "${OUTDIR}/${MUNINODE}/var/run/munin"
+    cp -f ${TEMPLATEDIR}/monitor/munin-node.conf "${MUNIN_CFG_FILE}"
         #echo "### Generated by GenaSYS $_VERSION for Evergreen $EG_VER" >> ${MUNIN_CFG_FILE}
-       #echo "host_name ${MUNINODE}.${CLUSTERDOMAINNAME}" >> ${MUNIN_CFG_FILE}
-       sed -i "s^MONITORED_NODENAME.CLUSTER_DOMAIN_NAME^${MUNINODE}.${CLUSTERDOMAINNAME}^g" ${MUNIN_CFG_FILE}
-       printf "allow ${MONITOR01_IP}\n" >> ${MUNIN_CFG_FILE}
-       printf "allow ${MONITOR02_IP}\n" >> ${MUNIN_CFG_FILE}
-       #if echo $MUNINODE | grep -q lvs0
-       #then
-       #       eval echo -e "host \$${MUNIN_HOST#*-}_PRIVATE_IP    \# Host IP address" >> ${MUNIN_CFG_FILE}
-       #else
-        #      eval echo -e "host \$${MUNIN_HOST#*-}_IP    \# Host IP address" >> ${MUNIN_CFG_FILE} 
-       #fi
+    #echo "host_name ${MUNINODE}.${CLUSTERDOMAINNAME}" >> ${MUNIN_CFG_FILE}
+    sed -i "s^MONITORED_NODENAME.CLUSTER_DOMAIN_NAME^${MUNINODE}.${CLUSTERDOMAINNAME}^g" ${MUNIN_CFG_FILE}
+    printf "allow ${MONITOR01_IP}\n" >> ${MUNIN_CFG_FILE}
+    printf "allow ${MONITOR02_IP}\n" >> ${MUNIN_CFG_FILE}
+    #if echo $MUNINODE | grep -q lvs0
+    #then
+    #    eval echo -e "host \$${MUNIN_HOST#*-}_PRIVATE_IP    \# Host IP address" >> ${MUNIN_CFG_FILE}
+    #else
+        #    eval echo -e "host \$${MUNIN_HOST#*-}_IP    \# Host IP address" >> ${MUNIN_CFG_FILE} 
+    #fi
 done
 ## Build munin.conf for monitor servers.
 for MUNINODE in ${MACHINES_NO_BRICKS}
 #for MUNINODE in ${ALL_MACHINES_LIST}
 do
-       MUNIN_HOST=$( echo "${MUNINODE}" | tr  '[:lower:]'  '[:upper:]' )
-       echo "[${CLUSTERDOMAINNAME};${MUNINODE}.${CLUSTERDOMAINNAME}]" >> $TMPMUNINCONF
-       if echo $MUNINODE | grep -q lvs0
-       then   
-               #eval echo -e "\\\taddress \$${MUNIN_HOST#*-}_PRIVATE_IP" >> $TMPMUNINCONF
-               eval echo -e "\\\taddress ${MUNINODE}.${CLUSTERDOMAINNAME}" >> $TMPMUNINCONF
-       else   
-               #eval echo -e "\\\taddress \$${MUNIN_HOST#*-}_IP" >> $TMPMUNINCONF
-               eval echo -e "\\\taddress ${MUNINODE}.${CLUSTERDOMAINNAME}" >> $TMPMUNINCONF
-       fi
-       #echo -e "\thost_name ${MUNINODE}.${CLUSTERDOMAINNAME}" >> $TMPMUNINCONF
-       echo >> $TMPMUNINCONF
+    MUNIN_HOST=$( echo "${MUNINODE}" | tr  '[:lower:]'  '[:upper:]' )
+    echo "[${CLUSTERDOMAINNAME};${MUNINODE}.${CLUSTERDOMAINNAME}]" >> $TMPMUNINCONF
+    if echo $MUNINODE | grep -q lvs0
+    then   
+        #eval echo -e "\\\taddress \$${MUNIN_HOST#*-}_PRIVATE_IP" >> $TMPMUNINCONF
+        eval echo -e "\\\taddress ${MUNINODE}.${CLUSTERDOMAINNAME}" >> $TMPMUNINCONF
+    else   
+         #eval echo -e "\\\taddress \$${MUNIN_HOST#*-}_IP" >> $TMPMUNINCONF
+        eval echo -e "\\\taddress ${MUNINODE}.${CLUSTERDOMAINNAME}" >> $TMPMUNINCONF
+    fi
+    #echo -e "\thost_name ${MUNINODE}.${CLUSTERDOMAINNAME}" >> $TMPMUNINCONF
+    echo >> $TMPMUNINCONF
 done
 
 ## copy munin.conf and apache2 munin vhost to monitor servers.
 for MONITOR in ${MACHINES_MONITOR}
 do
-       mkdir -p "$OUTDIR/$MONITOR/etc/munin"
-       mkdir -p "$OUTDIR/$MONITOR/etc/apache2/sites-available"
-       mkdir -p "$OUTDIR/$MONITOR/etc/apache2/conf.d"
-       cp -f "$TEMPLATEDIR/monitor/munin-apache2.conf" "$OUTDIR/$MONITOR/etc/apache2/conf.d"
-       cp -f "$TMPMUNINCONF" "$OUTDIR/$MONITOR/etc/munin"
-       cp -f "$TEMPLATEDIR/monitor/munin-vhost.conf" "$OUTDIR/$MONITOR/etc/apache2/sites-available"
-       sed -i "s^CLUSTER_DOMAIN_NAME^${CLUSTERDOMAINNAME}^g" "$OUTDIR/$MONITOR/etc/apache2/sites-available/munin-vhost.conf"
+    mkdir -p "$OUTDIR/$MONITOR/etc/munin"
+    mkdir -p "$OUTDIR/$MONITOR/etc/apache2/sites-available"
+    mkdir -p "$OUTDIR/$MONITOR/etc/apache2/conf.d"
+    cp -f "$TEMPLATEDIR/monitor/munin-apache2.conf" "$OUTDIR/$MONITOR/etc/apache2/conf.d"
+    cp -f "$TMPMUNINCONF" "$OUTDIR/$MONITOR/etc/munin"
+    cp -f "$TEMPLATEDIR/monitor/munin-vhost.conf" "$OUTDIR/$MONITOR/etc/apache2/sites-available"
+    sed -i "s^CLUSTER_DOMAIN_NAME^${CLUSTERDOMAINNAME}^g" "$OUTDIR/$MONITOR/etc/apache2/sites-available/munin-vhost.conf"
 done
 
 
@@ -3212,25 +3220,25 @@ sed -i "s^vandelay_MAX^50^g" openils/conf/opensrf.xml
 PkgFiles () { ### Package All files.
 for FOLDER in $(ls -d */)
 do
-       WORK_DIR="$(echo -e ${FOLDER%/*})"
-       printf " |\r";sleep 0.05; printf " /\r";sleep 0.05; printf -- ' - \r';sleep 0.05; printf ' \\\r'
+    WORK_DIR="$(echo -e ${FOLDER%/*})"
+    printf " |\r";sleep 0.05; printf " /\r";sleep 0.05; printf -- ' - \r';sleep 0.05; printf ' \\\r'
         cd $(echo -e ${FOLDER%/*})
-       #pushd $(echo -e ${FOLDER%/*})
-       if echo $WORK_DIR |grep -q reporter0 || \
-       echo $WORK_DIR |grep -q utility0 || \
-       echo $WORK_DIR |grep -q sip0
-       then
-               cp $TMPOPENSRF_XML openils/conf/opensrf.xml
-               Optimize_OpenSRF
-       fi
+    #pushd $(echo -e ${FOLDER%/*})
+    if echo $WORK_DIR |grep -q reporter0 || \
+    echo $WORK_DIR |grep -q utility0 || \
+    echo $WORK_DIR |grep -q sip0
+    then
+        cp $TMPOPENSRF_XML openils/conf/opensrf.xml
+        Optimize_OpenSRF
+    fi
         tar --owner=root --group=root -zcf ../$(echo -e ${FOLDER%/*}).tar.gz *
-       [ -e etc/hosts ] && tar --owner=root --group=root -zcf ../$(echo -e ${FOLDER%/*})_etc-hosts.tar.gz etc/hosts 
+    [ -e etc/hosts ] && tar --owner=root --group=root -zcf ../$(echo -e ${FOLDER%/*})_etc-hosts.tar.gz etc/hosts 
         cd ..
-       #popd
+    #popd
         if test -e brick0[1-9].tar.gz ; then rm brick0[1-9].tar.gz ; fi
-       if test -e brick0[1-9]_etc-hosts.tar.gz ; then rm brick0[1-9]_etc-hosts.tar.gz ; fi
+    if test -e brick0[1-9]_etc-hosts.tar.gz ; then rm brick0[1-9]_etc-hosts.tar.gz ; fi
         [ -e "$(echo -e ${FOLDER%/*}).tar.gz" ] && mv $(echo -e ${FOLDER%/*}).tar.gz $(echo -e ${FOLDER%/*})
-       [ -e "$(echo -e ${FOLDER%/*})_etc-hosts.tar.gz" ] && mv $(echo -e ${FOLDER%/*})_etc-hosts.tar.gz $(echo -e ${FOLDER%/*})
+    [ -e "$(echo -e ${FOLDER%/*})_etc-hosts.tar.gz" ] && mv $(echo -e ${FOLDER%/*})_etc-hosts.tar.gz $(echo -e ${FOLDER%/*})
 done
 printf " "
 }
@@ -3240,75 +3248,73 @@ printf " "
 PkgBricks () { ### Create setup packages for the bricks.
 for FOLDER in $(ls -d *brick*)
 do
-       cd $FOLDER
-       for SUBFOLDER in $(ls -d *)
-       do
-               printf " |\r";sleep 0.05; printf " /\r";sleep 0.05; printf -- ' - \r';sleep 0.05; printf ' \\\r'
-               cd $SUBFOLDER
-               cp $TMPOPENSRF_XML openils/conf/opensrf.xml  
-               Optimize_Brick_OpenSRF
-               mkdir ../setup_${SUBFOLDER}
-               mv ${SUBFOLDER}_apt.list ../setup_${SUBFOLDER}
-               cp $TMPFOLDER/debconf-settings ../setup_${SUBFOLDER}
-               mkdir -p ../setup_${SUBFOLDER}/monitoring
-               cp $TMPSETUPMONITOR ../setup_${SUBFOLDER}/monitoring
-               cp $TEMPLATEDIR/monitor/check_cpu.sh ../setup_${SUBFOLDER}/monitoring
-               cp $TEMPLATEDIR/monitor/nrpe_local.cfg ../setup_${SUBFOLDER}/monitoring
-               cp $TEMPLATEDIR/monitor/reporter_status.sh ../setup_${SUBFOLDER}/monitoring
-               cp $TEMPLATEDIR/monitor/check_nfs.sh ../setup_${SUBFOLDER}/monitoring
-               cp $TEMPLATEDIR/monitor/check_lock ../setup_${SUBFOLDER}/monitoring
-               cp $TEMPLATEDIR/monitor/check_file_age ../setup_${SUBFOLDER}/monitoring
-               cp $TEMPLATEDIR/monitor/check_freemem ../setup_${SUBFOLDER}/monitoring
-               cp $TEMPLATEDIR/monitor/check_memcached.pl ../setup_${SUBFOLDER}/monitoring
-               cp $TEMPLATEDIR/monitor/check_postgres.pl ../setup_${SUBFOLDER}/monitoring
-               cp $TEMPLATEDIR/monitor/check_cpu.sh ../setup_${SUBFOLDER}/monitoring
-               cp $TEMPLATEDIR/monitor/check_osrf ../setup_${SUBFOLDER}/monitoring
-               #cp -r $TEMPLATEDIR/apache2/websockets ../setup_${SUBFOLDER}
-               touch ../setup_${SUBFOLDER}/.osrf_node
-               sed -i "s^HOSTNAME^${SUBFOLDER}^g" ../setup_${SUBFOLDER}/debconf-settings
-                       
-               [ "${INSTALL_MASTER_FROM_GIT}" = "n" ] && cp -R $TEMPLATEDIR/debs ../setup_${SUBFOLDER}
-               if [ -e "${SUBFOLDER}_drones.txt" ] 
-               then 
-                       mv ${SUBFOLDER}_drones.txt ../setup_${SUBFOLDER}
-               fi
-               if echo ${SUBFOLDER} | grep -q head
-               then
-                       cp -f $TEMPLATEDIR/setup_brick_to_drone_sshkeys.sh ../setup_${SUBFOLDER}/setup_${SUBFOLDER}_to_drone_sshkeys.sh
-                       #cp -f $TEMPLATEDIR/db/eg_db_config.pl ../setup_${SUBFOLDER}
-                       [ -e "${CUSTOMDIR}/lib_ips.txt" ] && cp "${CUSTOMDIR}/lib_ips.txt" ../setup_${SUBFOLDER}
-                       [ -e "${CUSTOMDIR}/kpac.xml" ] && cp "${CUSTOMDIR}/kpac.xml" ../setup_${SUBFOLDER}
-                       sed -i "s^brick_drones.txt^${SUBFOLDER}_drones.txt^g" ../setup_${SUBFOLDER}/setup_${SUBFOLDER}_to_drone_sshkeys.sh
-                       sed -i "s^MASTER_DB^$MASTER_DB^g" setup-head.sh
-                       sed -i "s^EG_DB_USER^$DB_USERNAME^g" setup-head.sh
-                       sed -i "s^EG_DB_PASSWORD^$DATABASE_PASSWORD^g" setup-head.sh
-                       sed -i "s^EG_ADMIN_USER^$EG_ADMIN_USER^g" setup-head.sh
-                       sed -i "s^EG_ADMIN_PASS^$(echo $EG_ADMIN_PASSWORD | sed  -e 's^&^\\\&^g' -e 's/\^/\\\^/g')^g" setup-head.sh
-                       sed -i "s^MEMCACHE01_IP^$MEMCACHE01_IP^g" setup-head.sh
-                       if [[ "$USE_NOVELIST" == "y" || "$USE_NOVELIST" == "Y" ]]
-                       then
-                               echo "NOVELIST_PROFILE=${NOVELIST_PROFILE}" > ../setup_${SUBFOLDER}/.Novelist.txt
-                               echo "NOVELIST_PASSWORD=${NOVELIST_PASSWORD}" >> ../setup_${SUBFOLDER}/.Novelist.txt
-                               chmod 600 ../setup_${SUBFOLDER}/.Novelist.txt
-                       fi
-            if [[ "$USE_SYNDETICS" == "y" || "$USE_SYNDETICS" == "Y" ]]
+    cd $FOLDER
+    for SUBFOLDER in $(ls -d *)
+    do
+        printf " |\r";sleep 0.05; printf " /\r";sleep 0.05; printf -- ' - \r';sleep 0.05; printf ' \\\r'
+        cd $SUBFOLDER
+        cp $TMPOPENSRF_XML openils/conf/opensrf.xml  
+        Optimize_Brick_OpenSRF
+        mkdir ../setup_${SUBFOLDER}
+        mv ${SUBFOLDER}_apt.list ../setup_${SUBFOLDER}
+        cp $TMPFOLDER/debconf-settings ../setup_${SUBFOLDER}
+        mkdir -p ../setup_${SUBFOLDER}/monitoring
+        cp $TMPSETUPMONITOR ../setup_${SUBFOLDER}/monitoring
+        cp $TEMPLATEDIR/monitor/check_cpu.sh ../setup_${SUBFOLDER}/monitoring
+        cp $TEMPLATEDIR/monitor/nrpe_local.cfg ../setup_${SUBFOLDER}/monitoring
+        cp $TEMPLATEDIR/monitor/reporter_status.sh ../setup_${SUBFOLDER}/monitoring
+        cp $TEMPLATEDIR/monitor/check_nfs.sh ../setup_${SUBFOLDER}/monitoring
+        cp $TEMPLATEDIR/monitor/check_lock ../setup_${SUBFOLDER}/monitoring
+        cp $TEMPLATEDIR/monitor/check_file_age ../setup_${SUBFOLDER}/monitoring
+        cp $TEMPLATEDIR/monitor/check_freemem ../setup_${SUBFOLDER}/monitoring
+        cp $TEMPLATEDIR/monitor/check_memcached.pl ../setup_${SUBFOLDER}/monitoring
+        cp $TEMPLATEDIR/monitor/check_postgres.pl ../setup_${SUBFOLDER}/monitoring
+        cp $TEMPLATEDIR/monitor/check_cpu.sh ../setup_${SUBFOLDER}/monitoring
+        cp $TEMPLATEDIR/monitor/check_osrf ../setup_${SUBFOLDER}/monitoring
+        #cp -r $TEMPLATEDIR/apache2/websockets ../setup_${SUBFOLDER}
+        touch ../setup_${SUBFOLDER}/.osrf_node
+        sed -i "s^HOSTNAME^${SUBFOLDER}^g" ../setup_${SUBFOLDER}/debconf-settings
+            
+        [ "${INSTALL_MASTER_FROM_GIT}" = "n" ] && cp -R $TEMPLATEDIR/debs ../setup_${SUBFOLDER}
+        if [ -e "${SUBFOLDER}_drones.txt" ] 
+        then 
+            mv ${SUBFOLDER}_drones.txt ../setup_${SUBFOLDER}
+        fi
+        if echo ${SUBFOLDER} | grep -q head
+        then
+            cp -f $TEMPLATEDIR/setup_brick_to_drone_sshkeys.sh ../setup_${SUBFOLDER}/setup_${SUBFOLDER}_to_drone_sshkeys.sh
+            #cp -f $TEMPLATEDIR/db/eg_db_config.pl ../setup_${SUBFOLDER}
+            [ -e "${CUSTOMDIR}/lib_ips.txt" ] && cp "${CUSTOMDIR}/lib_ips.txt" ../setup_${SUBFOLDER}
+            [ -e "${CUSTOMDIR}/kpac.xml" ] && cp "${CUSTOMDIR}/kpac.xml" ../setup_${SUBFOLDER}
+            sed -i "s^brick_drones.txt^${SUBFOLDER}_drones.txt^g" ../setup_${SUBFOLDER}/setup_${SUBFOLDER}_to_drone_sshkeys.sh
+            sed -i "s^MASTER_DB^$MASTER_DB^g" setup-head.sh
+            sed -i "s^EG_DB_USER^$DB_USERNAME^g" setup-head.sh
+            sed -i "s^EG_DB_PASSWORD^$DATABASE_PASSWORD^g" setup-head.sh
+            sed -i "s^EG_ADMIN_USER^$EG_ADMIN_USER^g" setup-head.sh
+            sed -i "s^EG_ADMIN_PASS^$(echo $EG_ADMIN_PASSWORD | sed  -e 's^&^\\\&^g' -e 's/\^/\\\^/g')^g" setup-head.sh
+            sed -i "s^MEMCACHE01_IP^$MEMCACHE01_IP^g" setup-head.sh
+            then
+                echo "NOVELIST_PROFILE=${NOVELIST_PROFILE}" > ../setup_${SUBFOLDER}/.Novelist.txt
+                echo "NOVELIST_PASSWORD=${NOVELIST_PASSWORD}" >> ../setup_${SUBFOLDER}/.Novelist.txt
+                chmod 600 ../setup_${SUBFOLDER}/.Novelist.txt
+            fi
             then
                 echo "SYNDETICS_USER_ID=${SYNDETICS_USER_ID}" > ../setup_${SUBFOLDER}/.Syndetics.txt
                 chmod 600 ../setup_${SUBFOLDER}/.Syndetics.txt
             fi
-               fi
-               
+        fi
+        
 #TODO check drone pkging. 
-               cp $TEMPLATEDIR/Net-Z3950-SimpleServer-1.12.tar.gz ../setup_${SUBFOLDER}
-               mv setup*.sh ../setup_${SUBFOLDER}/setup_${SUBFOLDER}.sh
-               mv setup-vars ../setup_${SUBFOLDER}/
-               mv "setup-functions" ../setup_${SUBFOLDER}/
+        cp $TEMPLATEDIR/Net-Z3950-SimpleServer-1.12.tar.gz ../setup_${SUBFOLDER}
+        mv setup*.sh ../setup_${SUBFOLDER}/setup_${SUBFOLDER}.sh
+        mv setup-vars ../setup_${SUBFOLDER}/
+        mv "setup-functions" ../setup_${SUBFOLDER}/
                 tar --owner=root --group=root -zcf ../setup_${SUBFOLDER}/${SUBFOLDER}.tar.gz *
-               tar --owner=root --group=root -zcf  ../setup_${SUBFOLDER}/${SUBFOLDER}_etc-hosts.tar.gz etc/hosts
-               cd ..
-               tar --owner=root --group=root -zcf setup_${SUBFOLDER}.tar.gz setup_${SUBFOLDER}
-               rm -rf setup_${SUBFOLDER}
-       done
+        tar --owner=root --group=root -zcf  ../setup_${SUBFOLDER}/${SUBFOLDER}_etc-hosts.tar.gz etc/hosts
+        cd ..
+        tar --owner=root --group=root -zcf setup_${SUBFOLDER}.tar.gz setup_${SUBFOLDER}
+        rm -rf setup_${SUBFOLDER}
+    done
         cd ..
 done
 printf " "
@@ -3342,16 +3348,16 @@ cp "$TEMPLATEDIR/monitor/check_cpu.sh" "setup_${NODE_FOLDER}/monitoring"
 
 if [[ "$USE_HOSTNAME_PREFIX" = "y" || "$USE_HOSTNAME_PREFIX" = "Y" ]] #TODO check this use strip prefix instead
 then
-       NODE_FOLDER_NO_PREFIX=$(echo $NODE_FOLDER|awk -F"-" '{ print $2  }')
+    NODE_FOLDER_NO_PREFIX=$(echo $NODE_FOLDER|awk -F"-" '{ print $2  }')
 else
-       NODE_FOLDER_NO_PREFIX=$NODE_FOLDER
+    NODE_FOLDER_NO_PREFIX=$NODE_FOLDER
 fi
 
-if [ -e "$TEMPLATEDIR/apt/${NODE_FOLDER_NO_PREFIX}_apt.list" ] #TODO check this use strip prefix instead
+if [ -e "$TEMPLATEDIR/apt/${NODE_FOLDER_NO_PREFIX}_apt.list" ]    #TODO check this use strip prefix instead
 then
-       cp "$TEMPLATEDIR/apt/${NODE_FOLDER_NO_PREFIX}_apt.list" "setup_${NODE_FOLDER}/${NODE_FOLDER}_apt.list"
+    cp "$TEMPLATEDIR/apt/${NODE_FOLDER_NO_PREFIX}_apt.list" "setup_${NODE_FOLDER}/${NODE_FOLDER}_apt.list"
 else
-       cp "$TEMPLATEDIR/apt/apt.list" "setup_${NODE_FOLDER}/${NODE_FOLDER}_apt.list"
+    cp "$TEMPLATEDIR/apt/apt.list" "setup_${NODE_FOLDER}/${NODE_FOLDER}_apt.list"
 fi
 
 grep -qx ${NODE_FOLDER} "$TMPOSRFNODES" && \
@@ -3364,68 +3370,68 @@ then
 fi
 if echo ${NODE_FOLDER} | grep -q db0
 then
-       ### For Bionic
-       mkdir -p "setup_${NODE_FOLDER}/debs"
-       cp -f ${TEMPLATEDIR}/debs/libmarc-charset-perl*.deb "setup_${NODE_FOLDER}/debs"
-       cp -f ${TEMPLATEDIR}/debs/libmarc-xml-perl*.deb "setup_${NODE_FOLDER}/debs"
-       ### End for Bionic
-       cp -f "$TMPOSRFNODES" "setup_${NODE_FOLDER}/opensrf_nodes.txt"
-       cp -f "$TEMPLATEDIR/setup_sshkeys.sh" "setup_${NODE_FOLDER}"
-       cp -f "$TEMPLATEDIR/db/create_database_${EG_VERSION}.sql" "setup_${NODE_FOLDER}/create_database.sql"
-       cp -f "$TEMPLATEDIR/db/eg_db_root.crontab" "setup_${NODE_FOLDER}"
-       cp -f "$TEMPLATEDIR/db/eg_db_postgres.crontab" "setup_${NODE_FOLDER}"
-       echo "CREATE ROLE evergreen PASSWORD" \'$DATABASE_PASSWORD\' "SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN;" > "setup_${NODE_FOLDER}/create_db_user.sql"
+    ### For Bionic
+    mkdir -p "setup_${NODE_FOLDER}/debs"
+    cp -f ${TEMPLATEDIR}/debs/libmarc-charset-perl*.deb "setup_${NODE_FOLDER}/debs"
+    cp -f ${TEMPLATEDIR}/debs/libmarc-xml-perl*.deb "setup_${NODE_FOLDER}/debs"
+    ### End for Bionic
+    cp -f "$TMPOSRFNODES" "setup_${NODE_FOLDER}/opensrf_nodes.txt"
+    cp -f "$TEMPLATEDIR/setup_sshkeys.sh" "setup_${NODE_FOLDER}"
+    cp -f "$TEMPLATEDIR/db/create_database_${EG_VERSION}.sql" "setup_${NODE_FOLDER}/create_database.sql"
+    cp -f "$TEMPLATEDIR/db/eg_db_root.crontab" "setup_${NODE_FOLDER}"
+    cp -f "$TEMPLATEDIR/db/eg_db_postgres.crontab" "setup_${NODE_FOLDER}"
+    echo "CREATE ROLE evergreen PASSWORD" \'$DATABASE_PASSWORD\' "SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN;" > "setup_${NODE_FOLDER}/create_db_user.sql"
 fi
 if echo ${NODE_FOLDER} | grep -q utility0
 then
-       cp -f "$TMPOSRFNODES" "setup_${NODE_FOLDER}/opensrf_nodes.txt"
-       cp -f "$TEMPLATEDIR/setup_sshkeys.sh" "setup_${NODE_FOLDER}"
-       cp -f "$TEMPLATEDIR/utility/utility_head_ssh_keys.sh" "setup_${NODE_FOLDER}"
-       cp -f "$TEMPLATEDIR/.GenaSYS_FirstRun" "setup_${NODE_FOLDER}"
-       cp -f "$TEMPLATEDIR/utility/opensrf-crontab" "setup_${NODE_FOLDER}"
-       cp -f "$TEMPLATEDIR/Net-Z3950-SimpleServer-1.12.tar.gz" "setup_${NODE_FOLDER}"
-       for BRICKHEAD in ${BRICKHEADLIST}
-       do
-           echo "$BRICKHEAD" >> "setup_${NODE_FOLDER}/brickhead_nodes.txt"
-       done
-       #cp -rf "$TEMPLATEDIR/apache2/websockets" "setup_${NODE_FOLDER}" 
+    cp -f "$TMPOSRFNODES" "setup_${NODE_FOLDER}/opensrf_nodes.txt"
+    cp -f "$TEMPLATEDIR/setup_sshkeys.sh" "setup_${NODE_FOLDER}"
+    cp -f "$TEMPLATEDIR/utility/utility_head_ssh_keys.sh" "setup_${NODE_FOLDER}"
+    cp -f "$TEMPLATEDIR/.GenaSYS_FirstRun" "setup_${NODE_FOLDER}"
+    cp -f "$TEMPLATEDIR/utility/opensrf-crontab" "setup_${NODE_FOLDER}"
+    cp -f "$TEMPLATEDIR/Net-Z3950-SimpleServer-1.12.tar.gz" "setup_${NODE_FOLDER}"
+    for BRICKHEAD in ${BRICKHEADLIST}
+    do
+        echo "$BRICKHEAD" >> "setup_${NODE_FOLDER}/brickhead_nodes.txt"
+    done
+    #cp -rf "$TEMPLATEDIR/apache2/websockets" "setup_${NODE_FOLDER}" 
 fi
 if echo ${NODE_FOLDER} | grep -q sip0
 then
-       cp -f "$TEMPLATEDIR/Net-Z3950-SimpleServer-1.12.tar.gz" "setup_${NODE_FOLDER}"
-       #cp -rf "$TEMPLATEDIR/apache2/websockets" "setup_${NODE_FOLDER}"
-       [ -e "${TMPFOLDER}/oils_sip.xml" ] && cp -f "${TMPFOLDER}/oils_sip.xml" "setup_${NODE_FOLDER}"
+    cp -f "$TEMPLATEDIR/Net-Z3950-SimpleServer-1.12.tar.gz" "setup_${NODE_FOLDER}"
+    #cp -rf "$TEMPLATEDIR/apache2/websockets" "setup_${NODE_FOLDER}"
+    [ -e "${TMPFOLDER}/oils_sip.xml" ] && cp -f "${TMPFOLDER}/oils_sip.xml" "setup_${NODE_FOLDER}"
 fi
 if echo ${NODE_FOLDER} | grep -q reporter0
 then
-       cp -f "$TEMPLATEDIR/Net-Z3950-SimpleServer-1.12.tar.gz" "setup_${NODE_FOLDER}"
+    cp -f "$TEMPLATEDIR/Net-Z3950-SimpleServer-1.12.tar.gz" "setup_${NODE_FOLDER}"
 fi
 if echo ${NODE_FOLDER} | grep -q lvs0
 then
-       cp -f $TEMPLATEDIR/lvs/ldirector*.deb "setup_${NODE_FOLDER}"
-       Prep_Postfix ${NODE_FOLDER}
-       mv -f $TMPFOLDER/postfix.debconf "setup_${NODE_FOLDER}"
+    cp -f $TEMPLATEDIR/lvs/ldirector*.deb "setup_${NODE_FOLDER}"
+    Prep_Postfix ${NODE_FOLDER}
+    mv -f $TMPFOLDER/postfix.debconf "setup_${NODE_FOLDER}"
 fi
 if echo ${NODE_FOLDER} | grep -q monitor0
 then
-       Prep_Postfix ${NODE_FOLDER}
-       mv -f $TMPFOLDER/postfix.debconf "setup_${NODE_FOLDER}"
-       mkdir "setup_${NODE_FOLDER}/Icinga-Nagios"
-       mkdir "setup_${NODE_FOLDER}/Munin"
-       cp -f "$TEMPLATEDIR/monitor/commands.cfg" "setup_${NODE_FOLDER}/Icinga-Nagios"
-       cp -f "$TMPFOLDER/hosts.cfg" "setup_${NODE_FOLDER}/Icinga-Nagios"
+    Prep_Postfix ${NODE_FOLDER}
+    mv -f $TMPFOLDER/postfix.debconf "setup_${NODE_FOLDER}"
+    mkdir "setup_${NODE_FOLDER}/Icinga-Nagios"
+    mkdir "setup_${NODE_FOLDER}/Munin"
+    cp -f "$TEMPLATEDIR/monitor/commands.cfg" "setup_${NODE_FOLDER}/Icinga-Nagios"
+    cp -f "$TMPFOLDER/hosts.cfg" "setup_${NODE_FOLDER}/Icinga-Nagios"
         cp -f "$TMPFOLDER/hostgroups.cfg" "setup_${NODE_FOLDER}/Icinga-Nagios"
         cp -f "$TEMPLATEDIR/monitor/services.cfg" "setup_${NODE_FOLDER}/Icinga-Nagios"
-       cp -f "$TEMPLATEDIR/monitor/check_hpacucli" "setup_${NODE_FOLDER}/Icinga-Nagios"
-       cp -f "$TEMPLATEDIR/monitor/check_hpasm" "setup_${NODE_FOLDER}/Icinga-Nagios"
-       cp -f "${TMPFOLDER}/icinga_ppa.list" "setup_${NODE_FOLDER}/Icinga-Nagios"
-       cp -f "$TEMPLATEDIR/monitor/extinfo_icinga.cfg" "setup_${NODE_FOLDER}/Icinga-Nagios"
-       cp -f "$TEMPLATEDIR/monitor/munin-cron.crontab" "setup_${NODE_FOLDER}/Munin" 
-       cp -f "$TEMPLATEDIR/icinga.debconf" "setup_${NODE_FOLDER}/.icinga.debconf"
-       echo "$MONITOR_ADMIN_PASSWORD" > "setup_${NODE_FOLDER}/.munin_admin_password"
-       chmod 700 "setup_${NODE_FOLDER}/.munin_admin_password"
-       chmod 700 "setup_${NODE_FOLDER}/.munin_admin_password"
-       sed -i "s^MONITOR_PW^${MONITOR_ADMIN_PASSWORD}^g" "setup_${NODE_FOLDER}/.icinga.debconf"
+    cp -f "$TEMPLATEDIR/monitor/check_hpacucli" "setup_${NODE_FOLDER}/Icinga-Nagios"
+    cp -f "$TEMPLATEDIR/monitor/check_hpasm" "setup_${NODE_FOLDER}/Icinga-Nagios"
+    cp -f "${TMPFOLDER}/icinga_ppa.list" "setup_${NODE_FOLDER}/Icinga-Nagios"
+    cp -f "$TEMPLATEDIR/monitor/extinfo_icinga.cfg" "setup_${NODE_FOLDER}/Icinga-Nagios"
+    cp -f "$TEMPLATEDIR/monitor/munin-cron.crontab" "setup_${NODE_FOLDER}/Munin" 
+    cp -f "$TEMPLATEDIR/icinga.debconf" "setup_${NODE_FOLDER}/.icinga.debconf"
+    echo "$MONITOR_ADMIN_PASSWORD" > "setup_${NODE_FOLDER}/.munin_admin_password"
+    chmod 700 "setup_${NODE_FOLDER}/.munin_admin_password"
+    chmod 700 "setup_${NODE_FOLDER}/.munin_admin_password"
+    sed -i "s^MONITOR_PW^${MONITOR_ADMIN_PASSWORD}^g" "setup_${NODE_FOLDER}/.icinga.debconf"
 fi
 sed -i "s^tar_file^$NODE_FOLDER^g" "setup_${NODE_FOLDER}/setup_$NODE_FOLDER.sh"
 sed -i "s^_EGVER^$EG_VERSION^g" "setup_${NODE_FOLDER}/setup_$NODE_FOLDER.sh"
@@ -3451,19 +3457,19 @@ PkgFiles
 #All except bricks.
 #for NODE_FOLDER in lvs01 lvs02 db01 db02 db03 logger01 utility01 sip01 sip02 reporter01 memcache01 memcache02 monitor01 backup01 admin01
 for NODE_FOLDER in $MACHINES_NO_BRICKS
-       do
-       PkgOthers
-       printf '. \r'
+    do
+    PkgOthers
+    printf '. \r'
 done
 
 # We package any extra (dynamic) host here because of conflicts.
 if [ "$ADD_REPORTS_SHARE" = "1" ]
         then
-       printf " \n"
-       echo -e $COL_RESET packaging ${REPORTS_NFS_HOSTNAME}
-       NODE_FOLDER="${REPORTS_NFS_HOSTNAME}"
-       PkgOthers
-       printf '. \r'
+    printf " \n"
+    echo -e $COL_RESET packaging ${REPORTS_NFS_HOSTNAME}
+    NODE_FOLDER="${REPORTS_NFS_HOSTNAME}"
+    PkgOthers
+    printf '. \r'
 
 fi
 
@@ -3480,10 +3486,10 @@ echo -e "Install in the order listed below."
 #echo -e $COL_RESET
 echo 
 if echo $REPORTS_NFS_HOSTNAME | grep -q reporter
-       then
-       echo -e $COL_BR_GREEN" lvs logger backup  db memcache reporter brick01-head other-bricks sip utility monitor" $COL_RESET
-               else
-               echo -e $COL_BR_GREEN" lvs logger backup $REPORTS_NFS_HOSTNAME db memcache brick01-head other-bricks reporter sip utility monitor" $COL_RESET
+    then
+    echo -e $COL_BR_GREEN" lvs logger backup  db memcache reporter brick01-head other-bricks sip utility monitor" $COL_RESET
+        else
+        echo -e $COL_BR_GREEN" lvs logger backup $REPORTS_NFS_HOSTNAME db memcache brick01-head other-bricks reporter sip utility monitor" $COL_RESET
 fi
 echo 
 echo -e $COL_BR_YELLOW"_________________________________________________________________________"$COL_RESET
diff --git a/templates/apache2/eg_startup b/templates/apache2/eg_startup
deleted file mode 100755 (executable)
index 0e434a4..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/usr/bin/perl
-use OpenSRF::AppSession;
-
-# default ingress value for all Apache/mod_perl clients
-OpenSRF::AppSession->ingress('apache'); 
-
-use OpenILS::WWW::Exporter qw( /openils/conf/opensrf_core.xml );
-use OpenILS::WWW::SuperCat qw( /openils/conf/opensrf_core.xml );
-use OpenILS::WWW::AddedContent qw( /openils/conf/opensrf_core.xml );
-use OpenILS::WWW::Proxy ('/openils/conf/opensrf_core.xml');
-use OpenILS::WWW::Vandelay qw( /openils/conf/opensrf_core.xml );
-use OpenILS::WWW::TemplateBatchBibUpdate qw( /openils/conf/opensrf_core.xml );
-use OpenILS::WWW::EGWeb ('/openils/conf/opensrf_core.xml', 'OpenILS::WWW::EGCatLoader', 'en_us');;
-use OpenILS::WWW::IDL2js ('/openils/conf/opensrf_core.xml');
-use OpenILS::WWW::FlatFielder;
-use OpenILS::WWW::PhoneList ('/openils/conf/opensrf_core.xml');
-use OpenILS::WWW::RemoteAuth ('/openils/conf/opensrf_core.xml', 'OpenILS::WWW::RemoteAuth::Basic', 'OpenILS::WWW::RemoteAuth::EZProxyCGI', 'OpenILS::WWW::RemoteAuth::PatronAPI');
-
-# Pass second argument of '1' to enable template caching.
-use OpenILS::WWW::PrintTemplate ('/openils/conf/opensrf_core.xml', 0);
-
-# - Uncomment the following 2 lines to make use of the IP redirection code
-# - The IP file should to contain a map with the following format:
-# - actor.org_unit.shortname <start_ip> <end_ip>
-# - e.g.  LIB123 10.0.0.1 10.0.0.254
-
-#use OpenILS::WWW::Redirect qw(/openils/conf/opensrf_core.xml);
-#OpenILS::WWW::Redirect->parse_ips_file('/openils/conf/lib_ips.txt');
-
-
-1;
-
diff --git a/templates/apache2/eg_vhost.conf b/templates/apache2/eg_vhost.conf
new file mode 100644 (file)
index 0000000..fbe7a57
--- /dev/null
@@ -0,0 +1,996 @@
+# ----------------------------------------------------------------------------------
+# This is the global Evergreen virtual host config.  Anything you want published
+# through all virtual hosts (port 80, port 443, etc.) should live in here.
+# ----------------------------------------------------------------------------------
+
+# ----------------------------------------------------------------------------------
+# Point / to the opac - if you have a custom skin or locale, point at it here
+# ----------------------------------------------------------------------------------
+#RewriteRule ^/$ %{REQUEST_SCHEME}://%{HTTP_HOST}/eg/opac/home [R=301,L]
+
+# ----------------------------------------------------------------------------------
+# Redirect staff to the correct URL if they forget to include the final /
+# ----------------------------------------------------------------------------------
+RewriteRule ^/eg/staff$ https://%{HTTP_HOST}/eg/staff/ [R=301,L]
+RewriteRule ^/eg/staff/$ https://%{HTTP_HOST}/eg2/en-US/staff/ [R=301,L]
+RewriteRule ^/eg/staff/splash$ https://%{HTTP_HOST}/eg2/staff/splash [R=301,L]
+
+# ----------------------------------------------------------------------------------
+# Point / to the IP address redirector
+# ----------------------------------------------------------------------------------
+<LocationMatch ^/$>
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::Redirect
+    Options +ExecCGI
+    PerlSendHeader On
+    #PerlSetVar OILSRedirectSkin "default"
+    # OILSRedirectDepth defaults to the depth of the branch that the OPAC was directed to
+    #PerlSetVar OILSRedirectDepth "0"
+    #PerlSetVar OILSRedirectLocale "en-US"
+    # Use the template-toolkit opac
+    PerlSetVar OILSRedirectTpac "true"
+    allow from all
+</LocationMatch>
+
+
+# ----------------------------------------------------------------------------------
+# Assign a default locale to the accessible OPAC
+# ----------------------------------------------------------------------------------
+RewriteRule ^/opac/extras/slimpac/start.html$ %{REQUEST_SCHEME}://%{HTTP_HOST}/opac/en-US/extras/slimpac/start.html [R=301,L]
+RewriteRule ^/opac/extras/slimpac/advanced.html$ %{REQUEST_SCHEME}://%{HTTP_HOST}/opac/en-US/extras/slimpac/advanced.html [R=301,L]
+
+# ----------------------------------------------------------------------------------
+# Configure the gateway and translator
+# ----------------------------------------------------------------------------------
+OSRFGatewayConfig /openils/conf/opensrf_core.xml
+OSRFTranslatorConfig /openils/conf/opensrf_core.xml
+# Translator memcache server.  Default is localhost
+OSRFTranslatorCacheServer MEMCACHE01_IP:11211
+
+
+# ----------------------------------------------------------------------------------
+# Added content plugin
+# ----------------------------------------------------------------------------------
+<Location /opac/extras/ac/>
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::AddedContent
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+</Location>
+
+# Lock clearing cache down to STAFF_LOGIN
+<Location /opac/extras/ac/clearcache/>
+    PerlAccessHandler OpenILS::WWW::AccessHandler
+    PerlSetVar OILSAccessHandlerPermission "STAFF_LOGIN"
+</Location>
+
+# Autosuggest for searches
+<Location /opac/extras/autosuggest>
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::AutoSuggest
+    PerlSendHeader On
+    Require all granted 
+</Location>
+
+# Flattener service
+<Location /opac/extras/flattener>
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::FlatFielder
+    PerlSendHeader On
+    Require all granted 
+</Location>
+
+# ----------------------------------------------------------------------------------
+# Replace broken cover images with a transparent GIF by default
+# ----------------------------------------------------------------------------------
+RewriteEngine ON
+RewriteRule ^/opac/extras/ac/jacket/(small|medium|large)/$ \
+    /opac/images/blank.png [P,L]
+
+<Location /opac/extras/ac/jacket>
+        ErrorDocument 404 /opac/images/blank.png
+</Location>
+
+# Uncomment one or more of these to have a "no image" image other than the blank
+# image above.
+
+# Note: There are no default images provided for these, you will need to provide
+# your own "no image" image(s).
+
+<Location /opac/extras/ac/jacket/small>
+        ErrorDocument 404 /opac/images/noimage_small.png
+</Location>
+
+<Location /opac/extras/ac/jacket/medium>
+        ErrorDocument 404 /opac/images/noimage_medium.png
+</Location>
+
+<Location /opac/extras/ac/jacket/large>
+        ErrorDocument 404 /opac/images/noimage_large.png
+</Location>
+
+# ----------------------------------------------------------------------------------
+# Add the row ID (RID) and date so we can make unAPI happy
+# ----------------------------------------------------------------------------------
+RewriteCond %{QUERY_STRING} (^r|&r)=(\d+)
+RewriteRule . - [E=OILS_OPAC_RID:%2,E=OILS_TIME_YEAR:%{TIME_YEAR}]
+
+# ----------------------------------------------------------------------------------
+# Pull the locale from the URL
+# ----------------------------------------------------------------------------------
+RewriteCond %{REQUEST_URI} ^/opac/(.*?)/
+RewriteRule . - [E=locale:%1]
+
+# ----------------------------------------------------------------------------------
+# Rewrite JSPac->TPac with redirects
+# ----------------------------------------------------------------------------------
+# My Account
+RewriteRule /opac/[^/]*/skin/default/xml/myopac.xml %{REQUEST_SCHEME}://%{HTTP_HOST}/eg/opac/myopac/main?%{ENV:OILS_JSPAC_SEARCH_TYPE}%{ENV:OILS_JSPAC_SEARCH_TERMS}%{ENV:OILS_JSPAC_SEARCH_LOCATION} [NE,R,L]
+
+# -----------------------------------------------------------------------------$
+# Force HTTPS for /eg/circ/selfcheck
+# -----------------------------------------------------------------------------$
+RewriteCond %{HTTPS} off
+RewriteRule ^(/eg/circ/selfcheck) https://%{HTTP_HOST}%{REQUEST_URI} [NC,R=301,L]
+
+# -----------------------------------------------------------------------------$
+# Force HTTPS for quick reports
+# -----------------------------------------------------------------------------$
+RewriteCond %{HTTPS} off
+RewriteRule ^(/report-creator) https://%{HTTP_HOST}%{REQUEST_URI} [NC,R=301,L]
+
+# ----------------------------------------------------------------------------------
+# For sanity reasons, default indexes to Off
+# ----------------------------------------------------------------------------------
+Options -Indexes
+
+# ----------------------------------------------------------------------------------
+# Configure the OPAC
+# ----------------------------------------------------------------------------------
+<LocationMatch /opac/>
+    SSILegacyExprParser on
+    AddType application/xhtml+xml .xml
+   
+    # - configure mod_xmlent
+    XMLEntStripPI "yes"
+    XMLEntEscapeScript "no"
+    XMLEntStripComments "yes"
+    XMLEntContentType "text/html; charset=utf-8"
+    # forces quirks mode which we want for now
+    XMLEntStripDoctype "yes" 
+
+    # - set up the include handlers
+    Options +Includes
+    AddOutputFilter INCLUDES .xsl
+    AddOutputFilter INCLUDES;XMLENT .xml
+                   
+    SetEnvIf Request_URI ".*" OILS_OPAC_BASE=/opac/
+    
+    # This gives you the option to configure a different host to serve OPAC images from
+    # Specify the hostname (without protocol) and path to the images.  Protocol will
+    # be determined at runtime
+    #SetEnvIf Request_URI ".*" OILS_OPAC_IMAGES_HOST=static.example.org/opac/
+
+    # In addition to loading images from a static host, you can also load CSS and/or
+    # Javascript from a static host or hosts. Protocol will be determined at runtime
+    # and/or by configuration options immediately following.
+    #SetEnvIf Request_URI ".*" OILS_OPAC_CSS_HOST=static.example.org/opac/
+    #SetEnvIf Request_URI ".*" OILS_OPAC_JS_HOST=static.example.org/opac/
+
+    # If you are not able to serve static content via https and 
+    # wish to force http:// (and are comfortable with mixed-content
+    # warnings in client browsers), set this:
+    #SetEnvIf Request_URI ".*" OILS_OPAC_STATIC_PROTOCOL=http
+
+    # If you would prefer to fall back to your non-static servers for 
+    # https pages, avoiding mixed-content warnings in client browsers
+    # and are willing to accept some increased server load, set this:
+    #SetEnvIf Request_URI ".*" OILS_OPAC_BYPASS_STATIC_FOR_HTTPS=yes
+
+    # Specify a ChiliFresh account to integrate their services with the OPAC
+    #SetEnv OILS_CHILIFRESH_ACCOUNT
+    #SetEnv OILS_CHILIFRESH_PROFILE
+    #SetEnv OILS_CHILIFRESH_URL http://chilifresh.com/on-site/js/evergreen.js
+    #SetEnv OILS_CHILIFRESH_HTTPS_URL https://secure.chilifresh.com/on-site/js/evergreen.js
+
+
+    # Uncomment to force SSL any time a patron is logged in.  This protects 
+    # authentication tokens.  Left commented out for backwards compat for now.
+    #SetEnv OILS_OPAC_FORCE_LOGIN_SSL 1
+
+    # If set, the skin uses the combined JS file at $SKINDIR/js/combined.js
+    #SetEnv OILS_OPAC_COMBINED_JS 1
+
+</LocationMatch>
+
+<Location /opac/>
+    # ----------------------------------------------------------------------------------
+    # Some mod_deflate fun
+    # ----------------------------------------------------------------------------------
+    <IfModule mod_deflate.c>
+        SetOutputFilter DEFLATE
+
+        BrowserMatch ^Mozilla/4 gzip-only-text/html
+        BrowserMatch ^Mozilla/4\.0[678] no-gzip
+        BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
+
+        SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
+
+        <IfModule mod_headers.c>
+            Header append Vary User-Agent env=!dont-vary
+        </IfModule>
+    </IfModule>
+
+</Location>
+
+<Location //opac/>
+    # ----------------------------------------------------------------------------------
+    # Some mod_deflate fun
+    # ----------------------------------------------------------------------------------
+    <IfModule mod_deflate.c>
+        SetOutputFilter DEFLATE
+
+        BrowserMatch ^Mozilla/4 gzip-only-text/html
+        BrowserMatch ^Mozilla/4\.0[678] no-gzip
+        BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
+
+        SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
+
+        <IfModule mod_headers.c>
+            Header append Vary User-Agent env=!dont-vary
+        </IfModule>
+    </IfModule>
+
+</Location>
+
+# ----------------------------------------------------------------------------------
+# Force SSL on the OPAC's "My Account" page
+# ----------------------------------------------------------------------------------
+<LocationMatch .*/myopac.xml>
+    SSLRequireSSL
+</LocationMatch>
+
+RewriteCond %{QUERY_STRING} locale=([^&]*)
+RewriteRule ^/opac/[a-z]{2}-[A-Z]{2}/extras/slimpac/(.*)$ %{REQUEST_SCHEME}://%{HTTP_HOST}/opac/%1/extras/slimpac/$1? [redirect]
+<LocationMatch /opac/[a-z]{2}-[A-Z]{2}/extras/slimpac/>
+    AddOutputFilter INCLUDES;XMLENT .html
+</LocationMatch>
+
+# ----------------------------------------------------------------------------------
+# Run server-side XUL and XHTML through xmlent to load the correct XML entities
+# ----------------------------------------------------------------------------------
+RewriteCond %{HTTP:Accept-Language} ^([a-z]{2}-[A-Z]{2})$
+# Default to en-US if we haven't matched a locale of the form xx-YY 
+RewriteRule .? - [S=4]
+RewriteRule ^/xul/      -       [E=locale:en-US]
+RewriteRule ^/reports/  -       [E=locale:en-US]
+RewriteRule .? - [E=locale:en-US]
+RewriteRule .? - [S=3]
+# Otherwise, set our real locale
+RewriteRule ^/xul/      -       [E=locale:%{HTTP:Accept-Language}]
+RewriteRule ^/reports/  -       [E=locale:%{HTTP:Accept-Language}]
+RewriteRule .? - [E=locale:%{HTTP:Accept-Language}]
+
+<LocationMatch /xul/.*\.x?html$>
+    SSILegacyExprParser on
+    Options +Includes
+    XMLEntEscapeScript "no"
+    XMLEntStripComments "yes"
+    XMLEntStripPI "yes"
+    XMLEntStripDoctype "yes"
+    XMLEntContentType "text/html; charset=utf-8"
+    AddOutputFilter INCLUDES;XMLENT .xhtml
+    AddOutputFilter INCLUDES;XMLENT .html
+    SetEnv no-gzip
+    Require all granted 
+</LocationMatch>
+
+
+<LocationMatch /xul/.*\.xul$>
+    SSILegacyExprParser on
+    Options +Includes
+    XMLEntContentType "application/vnd.mozilla.xul+xml"
+    AddOutputFilter INCLUDES;XMLENT .xul
+    SetEnv no-gzip
+    Require all granted 
+</LocationMatch>
+
+# ----------------------------------------------------------------------------------
+# Supercat feeds
+# ----------------------------------------------------------------------------------
+<Location /opac/extras/oisbn>
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::SuperCat::oisbn
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+</Location>
+<Location /opac/extras/supercat>
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::SuperCat::supercat
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+</Location>
+<Location /opac/extras/unapi>
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::SuperCat::unapi
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+</Location>
+<Location /opac/extras/feed/bookbag>
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::SuperCat::bookbag_feed
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+</Location>
+<Location /opac/extras/opensearch>
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::SuperCat::opensearch_feed
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+</Location>
+<Location /opac/extras/sru>
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::SuperCat::sru_search
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+</Location>
+<Location /opac/extras/sru_auth>
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::SuperCat::sru_auth_search
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+</Location>
+<Location /opac/extras/feed/freshmeat>
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::SuperCat::changes_feed
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+</Location>
+<Location /opac/extras/browse>
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::SuperCat::string_browse
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+</Location>    
+<Location /opac/extras/startwith>
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::SuperCat::string_startwith
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+</Location>    
+       
+# ----------------------------------------------------------------------------------
+# Module for displaying OpenSRF API documentation
+# ----------------------------------------------------------------------------------
+<Location /opac/extras/docgen.xsl>
+    AddOutputFilter INCLUDES .xsl
+</Location>
+
+# ----------------------------------------------------------------------------------
+# Module for processing staff-client offline scripts lives here
+# ----------------------------------------------------------------------------------
+<Directory "/openils/var/cgi-bin/offline">
+    AddHandler cgi-script .pl
+    AllowOverride None
+    Options +ExecCGI
+    Require all granted 
+</Directory>
+       
+       
+# ----------------------------------------------------------------------------------
+# XXX Note, it's important to explicitly set the JSON encoding style 
+# (OSRFGatewayLegacyJSON), since the default encoding style will likely change 
+# with OpenSRF 1.0
+# ----------------------------------------------------------------------------------
+# OpenSRF JSON legacy gateway
+# ----------------------------------------------------------------------------------
+<Location /gateway>
+    SetHandler osrf_json_gateway_module
+    OSRFGatewayLegacyJSON "true"
+    Require all granted 
+</Location>
+# ----------------------------------------------------------------------------------
+# New-style OpenSRF JSON gateway
+# ----------------------------------------------------------------------------------
+<Location /osrf-gateway-v1>
+    SetHandler osrf_json_gateway_module
+    OSRFGatewayLegacyJSON "false"
+    Require all granted 
+</Location>
+
+# ----------------------------------------------------------------------------------
+# OpenSRF-over-HTTP translator
+# (http://open-ils.org/dokuwiki/doku.php?id=opensrf_over_http)
+# ----------------------------------------------------------------------------------
+
+# OPTIONAL: Running the translator behind a proxy requires accessing
+# the client IP address via mod_remoteip (sudo a2enmod remoteip).
+# Below is a sample configuration for a proxy running on the same
+# server and passing the client IP address via the X-Real-IP header.
+#
+RemoteIPInternalProxy 127.0.0.1/24
+RemoteIPInternalProxy ::1
+RemoteIPHeader X-Real-IP
+RemoteIPHeader X-Client-IP
+
+<Location /osrf-http-translator>
+    SetHandler osrf_http_translator_module
+    Require all granted 
+</Location>
+
+# ----------------------------------------------------------------------------------
+# The exporter lives here
+# ----------------------------------------------------------------------------------
+<Location /exporter>
+    SetHandler perl-script
+    AuthType Basic
+    AuthName "Exporter Login"
+    PerlOptions +GlobalRequest
+    PerlSetVar OILSProxyPermissions "STAFF_LOGIN"
+    PerlAuthenHandler OpenILS::WWW::Proxy::Authen
+    Require valid-user
+    PerlHandler OpenILS::WWW::Exporter
+    Options +ExecCGI
+    PerlSendHeader On
+</Location>
+
+<Location /opac/extras/merge_template>
+    SetHandler perl-script
+    AuthType Basic
+    AuthName "Batch Update Login"
+    PerlOptions +GlobalRequest
+    PerlSetVar OILSProxyPermissions "STAFF_LOGIN"
+    PerlAuthenHandler OpenILS::WWW::Proxy::Authen
+    Require valid-user
+    PerlHandler OpenILS::WWW::TemplateBatchBibUpdate
+    PerlSendHeader On
+    Options +ExecCGI
+</Location>
+
+<Location /opac/extras/circ>
+    AuthType Basic
+    AuthName "Circ Extras Login"
+    PerlOptions +GlobalRequest
+    PerlSetVar OILSProxyPermissions "STAFF_LOGIN"
+    PerlAuthenHandler OpenILS::WWW::Proxy::Authen
+    Require valid-user
+    Options +ExecCGI
+    PerlSendHeader On
+</Location>
+
+<Location /collections>
+    SetHandler perl-script
+    AuthType Basic
+    AuthName "Collections Login"
+    PerlOptions +GlobalRequest
+    PerlSetVar OILSProxyPermissions "money.collections_tracker.create"
+    PerlAuthenHandler OpenILS::WWW::Proxy::Authen
+    Require valid-user
+    Options +ExecCGI
+    PerlSendHeader On
+</Location>
+
+# ----------------------------------------------------------------------------------
+# Protect Standalone/Offline mode files from public view
+# ----------------------------------------------------------------------------------
+<Location /standalone/>
+    AuthType Basic
+    AuthName "Standalone Mode Login"
+    PerlOptions +GlobalRequest
+    PerlSetVar OILSProxyPermissions "STAFF_LOGIN"
+    PerlAuthenHandler OpenILS::WWW::Proxy::Authen
+    Require valid-user
+    PerlSendHeader On
+    allow from all
+    SSLRequireSSL
+</Location>
+
+# ----------------------------------------------------------------------------------
+# Reporting output lives here
+# ----------------------------------------------------------------------------------
+<Location /reporter/>
+    AuthType Basic
+    AuthName "Report Login"
+    PerlOptions +GlobalRequest
+    PerlSetVar OILSProxyPermissions "VIEW_REPORT_OUTPUT"
+    PerlAuthenHandler OpenILS::WWW::Proxy::Authen
+    Require valid-user
+    Options +ExecCGI
+    PerlSendHeader On
+</Location>
+
+# ----------------------------------------------------------------------------------
+# Reports GUI
+# ----------------------------------------------------------------------------------
+<LocationMatch /reports.*\.x?html>
+    SSILegacyExprParser on
+    Options +Includes
+    XMLEntContentType "text/html; charset=utf-8"
+    AddOutputFilter INCLUDES;XMLENT .xhtml
+    AddOutputFilter INCLUDES;XMLENT .html
+</LocationMatch>
+
+<LocationMatch /reports>
+    SSILegacyExprParser on
+    Options +Includes
+    AddOutputFilter INCLUDES;XMLENT .xhtml
+</LocationMatch>
+
+# capture locale CGI param for /reports/fm_IDL.xml
+RewriteCond %{REQUEST_URI} ^/reports/fm_IDL.xml
+RewriteCond %{QUERY_STRING} locale=([^&;]*)
+RewriteRule . - [E=locale:%1]
+
+<LocationMatch /reports/fm_IDL.xml>
+    IDLChunkStripPI "yes"
+    IDLChunkEscapeScript "no"
+    IDLChunkStripComments "yes"
+    IDLChunkStripDoctype "yes"
+    IDLChunkContentType "application/xml; charset=utf-8"
+    AddOutputFilter INCLUDES;IDLCHUNK .xml
+    SetEnv no-gzip
+</LocationMatch>
+
+# ----------------------------------------------------------------------------------
+# EDI Message viewer
+# ----------------------------------------------------------------------------------
+<Location /edi>
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::EDI
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+</Location>    
+
+# ----------------------------------------------------------------------------------
+# XML-RPC gateway
+# ----------------------------------------------------------------------------------
+<Location /xml-rpc>
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::XMLRPCGateway
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+    <IfModule mod_headers.c>
+        Header onsuccess set Cache-Control no-cache
+    </IfModule>
+</Location>
+
+# ----------------------------------------------------------------------------------
+# Conify - next-generation Evergreen administration interface
+# ----------------------------------------------------------------------------------
+RewriteRule ^/conify/([a-z]{2}-[A-Z]{2})/global/(.*)$ /conify/global/$2 [E=locale:$1,L]
+<Location /conify>
+    SSILegacyExprParser on
+    Options +Includes
+    XMLEntStripPI "yes"
+    XMLEntEscapeScript "no"
+    XMLEntStripComments "no"
+    XMLEntContentType "text/html; charset=utf-8"
+    AddOutputFilter INCLUDES;XMLENT .html
+    AuthType Basic
+    AuthName "Dojo Admin Login"
+    PerlOptions +GlobalRequest
+    PerlSetVar OILSProxyPermissions "STAFF_LOGIN"
+    PerlAuthenHandler OpenILS::WWW::Proxy::Authen
+    Require valid-user
+    Options +ExecCGI
+    PerlSendHeader On
+</Location>
+
+# ----------------------------------------------------------------------------------
+# The PhoneList lives here
+# ----------------------------------------------------------------------------------
+<Location /phonelist>
+    SetHandler perl-script
+    AuthType Basic
+    AuthName "PhoneList Login"
+    Require valid-user
+    PerlOptions +GlobalRequest
+    PerlSetVar OILSProxyPermissions "STAFF_LOGIN"
+    PerlHandler OpenILS::WWW::PhoneList
+    PerlAuthenHandler OpenILS::WWW::Proxy::Authen
+    Options +ExecCGI
+    PerlSendHeader On
+    <IfModule mod_headers.c>
+        Header onsuccess set Cache-Control no-cache
+    </IfModule>
+</Location>
+<Location /vandelay-upload>
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::Vandelay::spool_marc
+    Options +ExecCGI
+    Require all granted 
+</Location>
+
+# OpenURL 0.1 searching based on OpenSearch
+RewriteMap openurl prg:/openils/bin/openurl_map.pl
+RewriteCond %{QUERY_STRING} (^.*$)
+RewriteRule ^/openurl$ ${openurl:%1} [NE,PT]
+
+
+
+# General Evergreen web template processor
+<Location /eg>
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::EGWeb
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+
+    PerlSetVar OILSWebBasePath "/eg"
+    PerlSetVar OILSWebWebDir "/openils/var/web"
+    PerlSetVar OILSWebDefaultTemplateExtension "tt2"
+
+    # Port Apache listens on for HTTP traffic.  Used for HTTP requests 
+    # routed from Perl handlers back to the same Apache instance, like
+    # added content requests.  Use this when running Apache with a 
+    # non-standard port, typical with a proxy setup.  Defaults to "80".
+    PerlSetVar OILSWebInternalHTTPPort "7080"
+
+    # Enable Template-Toolkit error debugging messages (apache error log)
+    PerlSetVar OILSWebDebugTemplate "false"
+    # local cache of compiled Template Toolkit templates
+    PerlSetVar OILSWebCompiledTemplateCache "/tmp/eg_template_cache"
+    # template TTL - how long, in seconds, that Template Toolkit
+    # waits to check for updated template files
+    #PerlSetVar OILSWebTemplateStatTTL 60
+
+    # -------------------------------------------------------
+    # Media Prefix.  In the 3rd example, the protocol (http) is enforced
+    #PerlSetVar OILSWebMediaPrefix "/media"
+    #PerlSetVar OILSWebMediaPrefix "static.example.com/media"
+    #PerlSetVar OILSWebMediaPrefix "http://static.example.com/media"
+
+    # Locale messages files:
+    #
+    # These appear in pairs; the first represents the user agent
+    # Accept-Language header locale, and the second represents
+    # the fully-qualified path for the corresponding PO file that
+    # contains the messages.
+    #
+    # If you enable two or more locales, then users will be able to
+    # select their preferred locale from a locale picker in the TPAC.
+    #
+    #PerlAddVar OILSWebLocale "en"
+    #PerlAddVar OILSWebLocale "/openils/var/data/locale/opac/messages.en.po"
+    #PerlAddVar OILSWebLocale "en_ca"
+    #PerlAddVar OILSWebLocale "/openils/var/data/locale/opac/en-CA.po"
+    #PerlAddVar OILSWebLocale "fr_ca"
+    #PerlAddVar OILSWebLocale "/openils/var/data/locale/opac/fr-CA.po"
+    PerlAddVar OILSWebLocale "es_es"
+    PerlAddVar OILSWebLocale "/openils/var/data/locale/opac/es-ES.po"
+    PerlAddVar OILSWebLocale "en_us"
+    PerlAddVar OILSWebLocale "/openils/var/data/locale/opac/en-PINES.po"
+
+    # Set the default locale: defaults to en-US
+    #PerlAddVar OILSWebDefaultLocale "fr_ca"
+    
+    # Templates will be loaded from the following paths in reverse order.
+    PerlAddVar OILSWebTemplatePath "/openils/var/templates"
+    PerlAddVar OILSWebTemplatePath "/openils/var/templates-bootstrap"
+    #PerlAddVar OILSWebTemplatePath "/openils/var/templates_localskin"
+
+    #-------------------------------------------------
+    # Added Content Configuration
+    #-------------------------------------------------
+    # Content Cafe
+    #SetEnv OILS_CONTENT_CAFE_USER MYUSER
+    #SetEnv OILS_CONTENT_CAFE_PASS MYPASS
+    
+    # LibraryThing
+    #SetEnv OILS_LIBRARYTHING_URL http://ltfl.librarything.com/forlibraries/widget.js?id=MYID
+    #SetEnv OILS_LIBRARYTHING_HTTPS_URL https://ltfl.librarything.com/forlibraries/widget.js?id=MYID
+    
+    # ChiliFresh
+    #SetEnv OILS_CHILIFRESH_ACCOUNT
+    #SetEnv OILS_CHILIFRESH_URL http://chilifresh.com/on-site/js/evergreen.js
+    #SetEnv OILS_CHILIFRESH_HTTPS_URL https://secure.chilifresh.com/on-site/js/evergreen.js
+
+    # Novelist
+    # Specify the initial script URL for Novelist (containing account credentials, etc.)
+    SetEnv OILS_NOVELIST_URL https://imageserver.ebscohost.com/novelistselect/ns2init.js
+    SetEnv OILS_NOVELIST_PROFILE GENASYS_NOVELIST_PROFILE
+    SetEnv OILS_NOVELIST_PASSWORD GENASYS_NOVELIST_PASSWORD
+
+    # PINES Customization: Move Syndetics info from opensrf.xml to here
+    SetEnv OILS_SYNDETICS_URL https://secure.syndetics.com/index.aspx
+    SetEnv OILS_SYNDETICS_ID GENASYS_SYNDETICS_USER_ID
+
+    #-------------------------------------------------
+
+    <IfModule mod_deflate.c>
+        SetOutputFilter DEFLATE
+        BrowserMatch ^Mozilla/4 gzip-only-text/html
+        BrowserMatch ^Mozilla/4\.0[678] no-gzip
+        BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
+        SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
+        <IfModule mod_headers.c>
+            Header append Cache-Control "public"
+            Header append Vary User-Agent env=!dont-vary
+        </IfModule>
+    </IfModule>
+</Location>
+<LocationMatch ^/(images|css|js)/>
+    # should pick up the default expire time from eg.conf...
+    <IfModule mod_deflate.c>
+        SetOutputFilter DEFLATE
+        BrowserMatch ^Mozilla/4 gzip-only-text/html
+        BrowserMatch ^Mozilla/4\.0[678] no-gzip
+        BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
+        SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
+        <IfModule mod_headers.c>
+            Header append Cache-Control "public"
+            Header append Vary User-Agent env=!dont-vary
+        </IfModule>
+    </IfModule>
+</LocationMatch>
+<Location /eg/opac>
+    PerlSetVar OILSWebContextLoader "OpenILS::WWW::EGCatLoader"
+    # Expire the HTML quickly since we're loading dynamic data for each page
+    ExpiresActive On
+    ExpiresByType text/html "access plus 5 seconds"
+</Location>
+<Location /eg/kpac>
+    PerlSetVar OILSWebContextLoader "OpenILS::WWW::EGKPacLoader"
+    PerlSetVar KPacConfigFile "/openils/conf/kpac.xml"
+    ExpiresActive On
+    ExpiresByType text/html "access plus 5 seconds"
+</Location>
+
+# Note: the template processor will decline handling anything it does not
+# have an explicit configuration for, which means it will fall back to 
+# Apache to serve the file.  However, in the interest of speed, go ahead 
+# and tell Apache to avoid asking OpenILS::WWW::EGWeb for static content.
+# Add more exemptions as needed.
+<LocationMatch ^/eg/.*(\.js|\.html|\.xhtml|\.xml|\.jpg|\.png|\.gif)$>
+    SetHandler None
+</LocationMatch>
+
+# ----------------------------------------------------------------------------------
+# Some mod_deflate setup
+# ----------------------------------------------------------------------------------
+<IfModule mod_deflate.c>
+
+    ## optional logging for mod_deflate debugging
+    ##DeflateFilterNote Input instream
+    ##DeflateFilterNote Output outstream
+    ##DeflateFilterNote Ratio ratio
+    ##
+    ##LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate
+    ##CustomLog /var/log/apache2/deflate_log deflate
+
+    # There are problems with XMLENT and mod_deflate - so lets disable it
+    # This is where we don't have a pre-existing LocationMatch directive earlier
+    <LocationMatch /opac/.*\.xml$>
+        SetEnv no-gzip
+    </LocationMatch>
+    <LocationMatch /opac/[a-z]{2}-[A-Z]{2}/extras/slimpac/.*\.html$>
+        SetEnv no-gzip
+    </LocationMatch>
+    <LocationMatch /reports/.*\.xhtml$>
+        SetEnv no-gzip
+    </LocationMatch>
+    <LocationMatch /conify/.*\.html$>
+        SetEnv no-gzip
+    </LocationMatch>
+</IfModule>
+<Location /print_template>
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::PrintTemplate
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+</Location>
+
+
+
+<Location /IDL2js>
+
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::IDL2js
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+
+    <IfModule mod_headers.c>
+        Header append Cache-Control "public"
+    </IFModule>
+
+    <IfModule mod_deflate.c>
+        SetOutputFilter DEFLATE
+        BrowserMatch ^Mozilla/4 gzip-only-text/html
+        BrowserMatch ^Mozilla/4\.0[678] no-gzip
+        BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
+        SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
+        <IfModule mod_headers.c>
+            Header append Vary User-Agent env=!dont-vary
+        </IfModule>
+    </IfModule>
+</Location>
+
+<LocationMatch /eg/staff/>
+    SSLRequireSSL
+    Options -MultiViews
+    PerlSetVar OILSWebStopAtIndex "true"
+
+    RewriteCond %{HTTPS} off
+    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [NE,R,L]
+
+    # sample staff-specific translation files
+    #PerlAddVar OILSWebLocale "en_ca"
+    #PerlAddVar OILSWebLocale "/openils/var/data/locale/staff/en-CA.po"
+    #PerlAddVar OILSWebLocale "fr_ca"
+    #PerlAddVar OILSWebLocale "/openils/var/data/locale/staff/fr-CA.po"
+</LocationMatch>
+
+<Location /js/>
+    <IfModule mod_headers.c>
+        Header append Cache-Control "public"
+    </IFModule>
+    <IfModule mod_deflate.c>
+        SetOutputFilter DEFLATE
+        BrowserMatch ^Mozilla/4 gzip-only-text/html
+        BrowserMatch ^Mozilla/4\.0[678] no-gzip
+        BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
+        SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
+        <IfModule mod_headers.c>
+            Header append Vary User-Agent env=!dont-vary
+        </IfModule>
+    </IfModule>
+</Location>
+
+# Disabled for PINES
+#<Location /api/basicauth>
+#    SetHandler perl-script
+#    PerlHandler OpenILS::WWW::RemoteAuth
+#    Options +ExecCGI
+#
+#    # access restricted to localhost by default; since this module provides no
+#    # client authentiation, restricting access by IP or other means is stongly
+#    # recommended
+#    Require local
+#
+#    # remoteauth profile name
+#    PerlSetVar OILSRemoteAuthProfile "Basic"
+#    # Perl module for processing requests
+#    PerlSetVar OILSRemoteAuthHandler "OpenILS::WWW::RemoteAuth::Basic"
+#
+#    # staff username/password for config lookup and patron retrieval
+#    PerlSetVar OILSRemoteAuthClientUsername "admin"
+#    PerlSetVar OILSRemoteAuthClientPassword "demo123"
+#</Location>
+#
+#<Location /api/ezproxy>
+#    SetHandler perl-script
+#    PerlHandler OpenILS::WWW::RemoteAuth
+#    Options +ExecCGI
+#
+#    # access restricted to localhost by default; since this module provides no
+#    # client authentiation, restricting access by IP or other means is stongly
+#    # recommended
+#    Require local
+#
+#    # remoteauth profile name
+#    PerlSetVar OILSRemoteAuthProfile "EZProxyCGI"
+#    # Perl module for processing requests
+#    PerlSetVar OILSRemoteAuthHandler "OpenILS::WWW::RemoteAuth::EZProxyCGI"
+#
+#    # staff username/password for config lookup and patron retrieval
+#    PerlSetVar OILSRemoteAuthClientUsername "admin"
+#    PerlSetVar OILSRemoteAuthClientPassword "demo123"
+#
+#    # Location of TT2 templates for EZProxy login form and error pages.
+#    # Templates will be loaded from the following paths in reverse order.
+#    PerlAddVar OILSRemoteAuthTemplatePath "@localstatedir@/templates/remoteauth/ezproxycgi"
+#    #PerlAddVar OILSRemoteAuthTemplatePath "@localstatedir@/templates_localskin/remoteauth/ezproxycgi"
+#
+#    # Locale (defaults to en_us)
+#    #PerlAddVar OILSRemoteAuthLocale "en_us"
+#
+#    # Base URI of your EZProxy server; be sure there is no trailing slash
+#    PerlSetVar OILSRemoteAuthEZProxyBaseURI "http://example.com/ezproxy"
+#
+#    # shared secret used to generate EZProxy authentication ticket
+#    # This should be the same as the value in the MD5 line of your EZProxy users.txt configuration
+#    # This default value is not suitable for production!
+#    PerlSetVar OILSRemoteAuthEZProxySecret "secret"
+#</Location>
+#
+#<Location /api/patronapi>
+#    SetHandler perl-script
+#    PerlHandler OpenILS::WWW::RemoteAuth
+#    Options +ExecCGI
+#
+#    # access restricted to localhost by default; since this module provides no
+#    # client authentication and can be configured to return detailed personal
+#    # information, restricting access by IP or other means is stongly
+#    # recommended
+#    Require local
+#
+#    # remoteauth profile name
+#    PerlSetVar OILSRemoteAuthProfile "PatronAPI"
+#    # Perl module for processing requests
+#    PerlSetVar OILSRemoteAuthHandler "OpenILS::WWW::RemoteAuth::PatronAPI"
+#
+#    # staff username/password for config lookup and patron retrieval
+#    PerlSetVar OILSRemoteAuthClientUsername "admin"
+#    PerlSetVar OILSRemoteAuthClientPassword "demo123"
+#
+#    # Location of TT2 templates for PatronAPI responses.
+#    # Templates will be loaded from the following paths in reverse order.
+#    PerlAddVar OILSRemoteAuthTemplatePath "@localstatedir@/templates/remoteauth/patronapi"
+#    #PerlAddVar OILSRemoteAuthTemplatePath "@localstatedir@/templates_localskin/remoteauth/patronapi"
+#
+#    # Locale (defaults to en_us)
+#    #PerlAddVar OILSRemoteAuthLocale "en_us"
+#
+#    # set to "true" to allow retrieval of detailed patron information
+#    # without patron authorization
+#    PerlSetVar OILSRemoteAuthPatronAPIAllowDump "false"
+#
+#    # identifier type for patron information requests (/dump)
+#    # permitted values: "barcode" (default), "username"
+#    #PerlSetVar OILSRemoteAuthPatronAPIIDType "barcode"
+#</Location>
+
+# Uncomment the following to force SSL for everything. Note that this defeats caching
+# and you will suffer a performance hit.
+RewriteCond %{HTTPS} off
+RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [NE,R,L]
+
+# ------------------------------------------------------------------------
+# /eg2/ client setup and locale configuration.
+#
+# If a valid locale cookie is present that does not match the current
+# path, redirect to the requested locale path.
+# Otherwise, if no locale is active, redirect to the default locale.
+
+# fr-CA
+#RewriteCond %{REQUEST_URI} ^/eg2/
+#RewriteCond %{REQUEST_URI} !^/eg2/fr-CA/
+#RewriteCond %{HTTP_COOKIE} eg_locale=fr_ca
+#RewriteRule ^/eg2/(.*) https://%{HTTP_HOST}/eg2/fr-CA/$1 [R=307,L]
+
+# Default / en-US.
+# No alternate supported cookie provided.
+RewriteCond %{REQUEST_URI}  ^/eg2/
+RewriteCond %{REQUEST_URI}  !^/eg2/([a-z]{2}-[A-Z]{2})/
+RewriteRule ^/eg2/(.*) https://%{HTTP_HOST}/eg2/en-US/$1 [R=307,L]
+
+# en-US build
+# This is the only required configuration when only using the default locale.
+<Directory "/openils/var/web/eg2/en-US">
+    FallbackResource /eg2/en-US/index.html
+    <Files "index.html">
+      <IfModule mod_headers.c>
+        Header set Cache-Control "no-cache, no-store, must-revalidate"
+        Header set Pragma "no-cache"
+        Header set Expires 0
+      </IfModule>
+    </Files>
+</Directory>
+
+# fr-CA build
+#<Directory "/openils/var/web/eg2/fr-CA">
+#    FallbackResource /eg2/fr-CA/index.html
+#    <Files "index.html">
+#      <IfModule mod_headers.c>
+#        Header set Cache-Control "no-cache, no-store, must-revalidate"
+#        Header set Pragma "no-cache"
+#        Header set Expires 0
+#      </IfModule>
+#    </Files>
+#</Directory>
index 7504ba9..d79746d 100755 (executable)
@@ -381,36 +381,8 @@ then
     chown opensrf:opensrf /openils/conf/lib_ips.txt
     sed -i 's^#OpenILS::WWW::Redirect^OpenILS::WWW::Redirect^g' /etc/apache2/eg_startup 
     sed -i 's^#use OpenILS::WWW::Redirect^use OpenILS::WWW::Redirect^g' /etc/apache2/eg_startup
-    sed -i 's+RedirectMatch 301 ^/$ /eg/opac/home+#RedirectMatch 301 ^/$ /eg/opac/home+g' /etc/apache2/eg_vhost.conf   
-    sed -i 's+#<LocationMatch ^/$>+<LocationMatch ^/$>+g' /etc/apache2/eg_vhost.conf
-    sed -i 's^#    SetHandler perl-script^    SetHandler perl-script^g' /etc/apache2/eg_vhost.conf
-    sed -i 's^#    PerlHandler OpenILS::WWW::Redirect^    PerlHandler OpenILS::WWW::Redirect^g' /etc/apache2/eg_vhost.conf
-    sed -i 's^#    Options +ExecCGI^    Options +ExecCGI^g' /etc/apache2/eg_vhost.conf
-    sed -i 's^#    PerlSendHeader On^    PerlSendHeader On^g' /etc/apache2/eg_vhost.conf
-    sed -i 's^#    allow from all^    allow from all^g' /etc/apache2/eg_vhost.conf
-    sed -i 's^#</LocationMatch>^</LocationMatch>^g' /etc/apache2/eg_vhost.conf
 fi
 
-### Setup Novelist
-if [ -e .Novelist.txt ]
-then
-    echo;echo "Configuring Evergreen for Novelist"
-    sleep 2
-    . .Novelist.txt
-    sed -i 's^#SetEnv OILS_NOVELIST_URL^SetEnv OILS_NOVELIST_URL https://imageserver.ebscohost.com/novelistselect/ns2init.js^g' /etc/apache2/eg_vhost.conf
-    sed -i "/SetEnv OILS_NOVELIST_URL/aSetEnv OILS_NOVELIST_PROFILE $NOVELIST_PROFILE" /etc/apache2/eg_vhost.conf
-    sed -i "/SetEnv OILS_NOVELIST_PROFILE/aSetEnv OILS_NOVELIST_PASSWORD $NOVELIST_PASSWORD" /etc/apache2/eg_vhost.conf
-fi
-
-### Setup Syndetics
-if [ -e .Syndetics.txt ]
-then
-    echo;echo "Configuring Evergreen for Syndetics"
-    sleep 2
-    . .Syndetics.txt
-    sed -i "/# SetEnv OILS_NOVELIST_PASSWORD/a\n\t# PINES Customization: Move Syndetics info from opensrf.xml to here\n\tSetEnv OILS_SYNDETICS_URL https://secure.syndetics.com/index.aspx\n\tSetEnv OILS_SYNDETICS_ID $SYNDETICS_USER_ID" /etc/apache2/eg_vhost.conf
-fi 
-
 ### Setup custom KPAC
 if [ -e kpac.xml ]
 then
@@ -419,14 +391,8 @@ then
     sleep 1
     cp -f kpac.xml /openils/conf
     chown opensrf:opensrf /openils/conf/kpac.xml
-    sed -i 's^kpac.xml.example^kpac.xml^g' /etc/apache2/eg_vhost.conf
 fi
 
-### configure apache module for memcache01 IP
-sed -i 's^# OSRFTranslatorCacheServer 127.0.0.1:11211^OSRFTranslatorCacheServer MEMCACHE01_IP:11211^g' /etc/apache2/eg_vhost.conf \
-|| { echo;echo -e $COL_BR_RED"Warning: Failed to update OSRFTranslatorCacheServer to memcache ip in eg_vhost.conf"$COL_RESET ;sleep 1;echo ; }
-
-
 AutoGen() { #Run Autogen
 echo "Restarting OpenSRF..."
 echo