Skip to content
This repository has been archived by the owner on Jan 6, 2018. It is now read-only.

Commit

Permalink
New Features added. Some installation enhancements, updated database …
Browse files Browse the repository at this point in the history
…schema and some other bug fixes
  • Loading branch information
Deepesh Mittal committed Aug 11, 2017
1 parent 00f404b commit 136341b
Show file tree
Hide file tree
Showing 84 changed files with 851 additions and 3,632 deletions.
141 changes: 24 additions & 117 deletions DbSchema/DbSchema.sql

Large diffs are not rendered by default.

53 changes: 0 additions & 53 deletions ExecScripts/sample_execscript.sh

This file was deleted.

12 changes: 6 additions & 6 deletions InstallScripts/Centos/config.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,18 @@ db_name=daytona
db_user=daytona
db_host=localhost

#### To be filled in by admin before installation
# To be filled in by admin before installation
db_password=
db_root_pass=

# Daytona Installation - Recommendation, Don't change below directories path
daytona_install_dir=$HOME/daytona_prod
daytona_data_dir=/var/www/html/daytona/daytona_root/test_data_DH
# Daytona Installation
daytona_install_dir=
daytona_data_dir=${daytona_install_dir}/test_data_DH

#### UI credentails to be filled by user before installation
# UI credentails to be filled by user before installation
ui_admin_pass=

#### SMTP Server Info to be filled by admin before installation
# SMTP Server Info to be filled by admin before installation
# SMTP server details depends on your org's IT policy
# You can run a a SMTP server on localhost if it's not blocked from sending email
# Please contact your IT department and obtain functional SMTP server info
Expand Down
20 changes: 15 additions & 5 deletions InstallScripts/Centos/daytona_backup.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
#!/bin/bash

if [ "$EUID" -ne 0 ]
then echo "Please run as root/sudo"
exit
fi

source config.sh

if [ -z $db_name ] || [ -z $db_user ] || [ -z $db_password ] || [ -z $db_host ] || [ -z $db_root_pass ] || [ -z $daytona_install_dir ] || [ -z $daytona_data_dir ] || [ -z $ui_admin_pass ] || [ -z $email_user ] || [ -z $email_domain ] || [ -z $smtp_server ] || [ -z $smtp_port ]; then
Expand All @@ -9,14 +14,19 @@ if [ -z $db_name ] || [ -z $db_user ] || [ -z $db_password ] || [ -z $db_host ]
exit 1
fi

daytona_db_backup=$HOME/daytona_db_backup.sql
daytona_data_backup=$HOME/daytona_data_backup.tar.gz
rm -rf ${daytona_install_dir}/daytona_backup_files
mkdir ${daytona_install_dir}/daytona_backup_files

daytona_backup_dir=${daytona_install_dir}/daytona_backup_files

hostname=$(hostname)
daytona_db_backup=${daytona_backup_dir}/${hostname}_daytona_db_backup.sql
daytona_data_backup=${daytona_backup_dir}/${hostname}_daytona_data_backup.tar.gz

sudo rm -rf $daytona_db_backup $daytona_data_backup
rm -rf $daytona_db_backup $daytona_data_backup

mysqldump -u ${db_user} -p${db_password} ${db_name} > $daytona_db_backup

cd $daytona_data_dir
sudo tar -cvf $daytona_data_backup .
tar -cvf $daytona_data_backup .

cd -
33 changes: 20 additions & 13 deletions InstallScripts/Centos/daytona_restore.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,24 @@
#!/bin/bash

if [ "$EUID" -ne 0 ]
then echo "Please run as root/sudo"
exit
fi

#### Provide backup file names with location
daytona_db_backup=
daytona_data_backup=

if [ -z $daytona_db_backup ] || [ -z $daytona_data_backup ]; then
echo "Backup files information not provided. Please configure and then run restore"
exit 1
fi

if [ ! -f $daytona_db_backup ] || [ ! -f $daytona_data_backup ]; then
echo "Backup files doesn't exists. Please check"
exit 1
fi

source config.sh

if [ -z $db_name ] || [ -z $db_user ] || [ -z $db_password ] || [ -z $db_host ] || [ -z $db_root_pass ] || [ -z $daytona_install_dir ] || [ -z $daytona_data_dir ] || [ -z $ui_admin_pass ] || [ -z $email_user ] || [ -z $email_domain ] || [ -z $smtp_server ] || [ -z $smtp_port ]; then
Expand All @@ -9,23 +28,11 @@ if [ -z $db_name ] || [ -z $db_user ] || [ -z $db_password ] || [ -z $db_host ]
exit 1
fi

daytona_db_backup=$HOME/daytona_db_backup.sql
daytona_data_backup=$HOME/daytona_data_backup.tar.gz

if [ ! -f $daytona_db_backup ] || [ ! -f $daytona_data_backup ]; then
echo "Backup files not found at location : $HOME"
exit 1
fi

mysql -u ${db_user} -p${db_password} ${db_name} < $daytona_db_backup

cd $daytona_data_dir
sudo tar -xvf $daytona_data_backup

cd -
tar -xvf $daytona_data_backup

cd $daytona_install_dir/Scheduler+Agent
./restart_scheduler.sh

cd -

2 changes: 1 addition & 1 deletion InstallScripts/Centos/fix_sample_framework_ip.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,6 @@ echo "Updating default exechost"
echo ""
echo update HostAssociationType set default_value="'"`echo $ip`"'" where frameworkid=51 and name="'"execution"';" >> fix_exec.sql

mysql -u ${db_name} -p${db_password} daytona < ./fix_exec.sql
mysql -u ${db_user} -p${db_password} ${db_name} < ./fix_exec.sql

sudo rm -rf fix_exec.sql
38 changes: 27 additions & 11 deletions InstallScripts/Centos/install_daytona_agent.sh
Original file line number Diff line number Diff line change
@@ -1,22 +1,38 @@
#!/bin/bash

if [ "$EUID" -ne 0 ]
then echo "Please run as root/sudo"
exit
fi

source config.sh

if [ -z $daytona_install_dir ]; then
echo 'Daytona install directory not provided'
echo 'Please configure config.sh'
exit 1
fi

# echo -e "Updating Linux...\n"
# update & upgrade #
# sudo yum update -y

if ! [ -d "$daytona_install_dir" ]; then
mkdir -p $daytona_install_dir
fi

# Set up the ExecScripts directory
cp -r ../../ExecScripts /tmp
cp -r ../../ExecScripts ${daytona_install_dir}

# Setup Daytona sarmonitor
cp -r ../../Scheduler+Agent/daytona_sarmonitor /tmp
cp config.sh $daytona_install_dir
cp uninstall_daytona.sh $daytona_install_dir
echo 'rm -- "$0"' | sudo tee -a ${daytona_install_dir}/uninstall_daytona.sh > /dev/null

# Install sysstat for sar and iostat
sudo yum install sysstat -y
yum install sysstat -y

# Install Strace
sudo yum install strace -y
yum install strace -y

if ! [ -d "$daytona_install_dir/Scheduler+Agent" ]; then
mkdir -p $daytona_install_dir
Expand All @@ -26,12 +42,12 @@ fi
cd $daytona_install_dir/Scheduler+Agent

# Setup config file
rm -rf config.ini
printf "[DH]\ndh_root:"$daytona_data_dir"\nport:52222\nmysql-user:"$db_user"\nmysql-db:"$db_name"\nmysql-host:"$db_host"\nmysql-password:"$db_password"\n" >> config.ini
printf "email-user:"$email_user"\nemail-server:"$email_domain"\nsmtp-server:"$smtp_server"\nsmtp-port:"$smtp_port"\n\n" >> config.ini
printf "[AGENT]\nagent-root:/tmp/daytona_root/test_data_AGENT/\nmon-path:/tmp/daytona_sarmonitor/bin/\nport:52223" >> config.ini
if ! [ -f config.ini ]; then
printf "[DH]\ndh_root:"$daytona_data_dir"\nport:52222\nmysql-user:"$db_user"\nmysql-db:"$db_name"\nmysql-host:"$db_host"\nmysql-password:"$db_password"\n" >> config.ini
printf "email-user:"$email_user"\nemail-server:"$email_domain"\nsmtp-server:"$smtp_server"\nsmtp-port:"$smtp_port"\n\n" >> config.ini
printf "[AGENT]\nagent-root:${daytona_install_dir}/daytona_agent_root/test_data_AGENT/\nexecscript_location:${daytona_install_dir}/ExecScripts/\nagent_test_logs_location:${daytona_install_dir}/daytona_agent_root/test_data_AGENT/test_logs/\nport:52223" >> config.ini
fi

# Start Agent
sudo nohup python ./agent.py > agent_nohup.out 2>&1 &
nohup python ./agent.py > agent_nohup.out 2>&1 &

cd -
23 changes: 17 additions & 6 deletions InstallScripts/Centos/install_daytona_all.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,25 +9,36 @@ if [ -z $db_name ] || [ -z $db_user ] || [ -z $db_password ] || [ -z $db_host ]
exit 1
fi

mkdir -p $daytona_install_dir
cp -r ../../Scheduler+Agent $daytona_install_dir
sudo mkdir -p $daytona_install_dir

if ! [ -d "$daytona_install_dir" ]; then
echo "Not able to create daytona install directory"
exit 1
fi

sudo cp config.sh $daytona_install_dir
sudo cp uninstall_daytona.sh $daytona_install_dir
echo 'rm -- "$0"' | sudo tee -a ${daytona_install_dir}/uninstall_daytona.sh > /dev/null
sudo cp daytona_backup.sh $daytona_install_dir
sudo cp daytona_restore.sh $daytona_install_dir
sudo cp ../../util/cron-backup.sh $daytona_install_dir

echo "****** Installing Daytona DB *********"
echo "**************************************"
./install_daytona_db.sh
./install_daytona_db.sh

echo "****** Installing Daytona UI*********"
echo "**************************************"
./install_daytona_ui.sh

echo "****** Installing Daytona Scheduler*****"
echo "****************************************"
./install_daytona_scheduler.sh
sudo ./install_daytona_scheduler.sh

echo "****** Installing Daytona Agent ******"
echo "**************************************"
./install_daytona_agent.sh
sudo ./install_daytona_agent.sh

echo "****** Updating IP of sample framework ******"
echo "*********************************************"
./fix_sample_framework_ip.sh
sudo ./fix_sample_framework_ip.sh
13 changes: 9 additions & 4 deletions InstallScripts/Centos/install_daytona_scheduler.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
#!/bin/bash

if [ "$EUID" -ne 0 ]
then echo "Please run as root/sudo"
exit
fi

source config.sh

if [ -z $db_name ] || [ -z $db_user ] || [ -z $db_password ] || [ -z $db_host ] || [ -z $db_root_pass ] || [ -z $daytona_install_dir ] || [ -z $daytona_data_dir ] || [ -z $ui_admin_pass ] || [ -z $email_user ] || [ -z $email_domain ] || [ -z $smtp_server ] || [ -z $smtp_port ]; then
Expand All @@ -10,20 +15,20 @@ if [ -z $db_name ] || [ -z $db_user ] || [ -z $db_password ] || [ -z $db_host ]
fi

# Install MySQL Python Connector Package
sudo rpm -Uvh https://dev.mysql.com/get/mysql-connector-python-2.1.5-1.el7.x86_64.rpm
rpm -Uvh https://dev.mysql.com/get/mysql-connector-python-2.1.5-1.el7.x86_64.rpm

# Install sendmail package
sudo yum install sendmail -y
yum install sendmail -y

cp -r ../../Scheduler+Agent $daytona_install_dir
cd $daytona_install_dir/Scheduler+Agent

# Setup config file
rm -rf config.ini
printf "[DH]\ndh_root:"$daytona_data_dir"\nport:52222\nmysql-user:"$db_user"\nmysql-db:"$db_name"\nmysql-host:"$db_host"\nmysql-password:"$db_password"\n" >> config.ini
printf "email-user:"$email_user"\nemail-server:"$email_domain"\nsmtp-server:"$smtp_server"\nsmtp-port:"$smtp_port"\n\n" >> config.ini
printf "[AGENT]\nagent-root:/tmp/daytona_root/test_data_AGENT/\nmon-path:/tmp/daytona_sarmonitor/bin/\nport:52223" >> config.ini
printf "[AGENT]\nagent-root:${daytona_install_dir}/daytona_agent_root/test_data_AGENT/\nexecscript_location:${daytona_install_dir}/ExecScripts/\nagent_test_logs_location:${daytona_install_dir}/daytona_agent_root/test_data_AGENT/test_logs/\nport:52223" >> config.ini

# Start Scheduler
nohup python ./scheduler.py > scheduler_nohup.out 2>&1 &

cd -
9 changes: 5 additions & 4 deletions InstallScripts/Centos/install_daytona_ui.sh
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ echo dbname = '"'${db_name}'"' | sudo tee -a $daytona_ui_config > /dev/null
echo username = '"'${db_user}'"' | sudo tee -a $daytona_ui_config > /dev/null
echo servername = '"'${db_host}'"' | sudo tee -a $daytona_ui_config > /dev/null
echo password = '"'${db_password}'"' | sudo tee -a $daytona_ui_config > /dev/null
echo daytona_data_dir = '"'${daytona_data_dir}'"' | sudo tee -a $daytona_ui_config > /dev/null

# Create Daytona data direcrtory
sudo mkdir -p $daytona_data_dir
Expand All @@ -44,11 +45,11 @@ sudo mkdir -p $daytona_data_dir
sudo ln -s $daytona_data_dir /var/www/html/daytona/test_data

# Copy TestData diretories
sudo cp -r ../../TestData/* $daytona_data_dir
sudo cp -r ../../TestData/. $daytona_data_dir

echo -e "Permissions for /var/www/html/daytona...\n"
sudo chown -R apache:apache /var/www/html/daytona
sudo chmod -R 777 /var/www/html/daytona
sudo chown -R apache:apache /var/www/html/daytona
sudo chmod -R 777 $daytona_data_dir

echo -e "Changing Apache2 configuration files for Daytona Application...\n"
sudo sed -i.bak '/<Directory \"\/var\/www\/html\">/,/<\/Directory>/ s/AllowOverride None/AllowOverride All/' /etc/httpd/conf/httpd.conf
Expand All @@ -69,7 +70,7 @@ admin_pass=`php pass_generate.php $ui_admin_pass`

echo update LoginAuthentication set password="'"`echo $admin_pass`"'" where username="'"admin"';" >> fix_exec.sql

mysql -u ${db_name} -p${db_password} daytona < ./fix_exec.sql
mysql -u ${db_user} -p${db_password} ${db_name} < ./fix_exec.sql

sudo rm -rf pass_generate.php
sudo rm -rf fix_exec.sql
Expand Down
Loading

0 comments on commit 136341b

Please sign in to comment.