forked from cloudbuilders/devstack
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstacktach.sh
More file actions
executable file
·122 lines (93 loc) · 3.08 KB
/
stacktach.sh
File metadata and controls
executable file
·122 lines (93 loc) · 3.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#!/bin/bash
apt-get -y install make libapache2-mod-wsgi
cd /root
. devstack/localrc
mysql -p$MYSQL_PASSWORD<<EOF
create database stacktach;
EOF
pip install Django
pip install MySQL-python
pip install eventlet
pip install kombu==2.4.7
pip install librabbitmq==1.0.0
pip install pympler
mkdir -vp /srv/www/stacktach/
mkdir -vp /srv/www/stacktach/apache
mkdir -vp /srv/www/stacktach/static
mkdir -vp /srv/www/stacktach/django/stproject/
mkdir -vp /srv/www/stacktach/wsgi/
mkdir -vp /srv/www/stacktach/htdocs
cd /srv/www/stacktach/django/stproject/ && git clone git://github.com/rackerlabs/stacktach.git .
ln -s /srv/www/stacktach/django/stproject/static/jquery.timers.js \
/srv/www/stacktach/static/jquery.timers.js
ln -s /srv/www/stacktach/django/stproject \
/srv/www/stacktach/app
ln -s /srv/www/stacktach/django/stproject \
/stacktack
cat<<EOF > etc/stacktach_config.sh
export STACKTACH_DB_NAME="stacktach"
export STACKTACH_DB_HOST=""
export STACKTACH_DB_USERNAME="root"
export STACKTACH_DB_PASSWORD="$MYSQL_PASSWORD"
export STACKTACH_INSTALL_DIR="/srv/www/stacktach/django/stproject/"
export STACKTACH_DEPLOYMENTS_FILE="/srv/www/stacktach/django/stproject/etc/stacktach_worker_config.json"
export DJANGO_SETTINGS_MODULE="settings"
export STACKTACH_DB_ENGINE="django.db.backends.mysql"
EOF
cat<<EOF > local_settings.py
STACKTACH_DB_ENGINE="django.db.backends.mysql"
STACKTACH_DB_NAME="stacktach"
STACKTACH_DB_HOST=""
STACKTACH_DB_USERNAME="root"
STACKTACH_DB_PASSWORD="$MYSQL_PASSWORD"
STACKTACH_INSTALL_DIR="/srv/www/stacktach/django/stproject/"
STACKTACH_DEPLOYMENTS_FILE="/srv/www/stacktach/django/stproject/etc/stacktach_worker_config.json"
DJANGO_SETTINGS_MODULE="settings"
EOF
cat<<EOF > /srv/www/stacktach/django/stproject/etc/stacktach_worker_config.json
{"deployments": [
{
"name": "dev",
"durable_queue": false,
"rabbit_host": "127.0.0.1",
"rabbit_port": 5672,
"rabbit_userid": "guest",
"rabbit_password": "$RABBIT_PASSWORD",
"rabbit_virtual_host": "/"
}]
}
EOF
. etc/stacktach_config.sh
python manage.py syncdb
cat<<EOF > /srv/www/stacktach/wsgi/django.wsgi
import os
import sys
path = '/srv/www/stacktach/app/'
if path not in sys.path:
sys.path.append(path)
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
EOF
cat<<EOF > /etc/apache2/sites-available/stacktach
NameVirtualHost *:81
Listen 81
<VirtualHost *:81>
ServerName localhost
DocumentRoot /srv/www/stacktach/htdocs
<Directory /srv/www/stacktach/htdocs>
Order allow,deny
Allow from all
</Directory>
<Directory /srv/www/stacktach/wsgi>
Order allow,deny
Allow from all
</Directory>
Alias /static/ /srv/www/stacktach/app/static/
WSGIScriptAlias / /srv/www/stacktach/wsgi/django.wsgi
</VirtualHost>
EOF
ln -s /etc/apache2/sites-available/stacktach \
/etc/apache2/sites-enabled/stacktach
service apache2 restart
/stacktack/worker/stacktach.sh start