}
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
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"
#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
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
}
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
}
}
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
+
}
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
}
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
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
}
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
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
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
}
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
}
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
}
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
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;;
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
}
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"
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]* ) $@;;
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
}
### 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
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.
### 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
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
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
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
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
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
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
#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
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}
### 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
### 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
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"
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
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.
### 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
[ -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"
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
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
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
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
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
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
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
### 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.
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"
### 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
### 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
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
### 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
### 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
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
### 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
### 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"
### 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
#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."
#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
### 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
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."
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"
#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
#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.
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
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
### 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"
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
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
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 " "
}
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 " "
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" && \
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"
#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
#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
--- /dev/null
+# ----------------------------------------------------------------------------------
+# 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>