blob: b59d413b448280fee5c659515ee11c599e421a02 (
plain)
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
|
#!/bin/bash
echo 'mysql root password: {{ openbook_database_password }}'
echo 'wsrep_node_address: {{ ansible_default_ipv4.address }}'
echo 'wsrep_cluster_address: gcomm://{{ openbook_gcomm_addresses }}'
{% if "True" == openbook_install_database|string() %}
wait_for_database() {
echo "Waiting for database to start..."
started=1
for i in {120..0}; do
if echo 'SELECT 1' | mysql -h 127.0.0.1 -u root --password='{{ openbook_database_password }}' &>/dev/null; then
started=0
break
fi
sleep 1
done
if [ $started -eq 1 ]; then
echo "Error: database did not start."
exit 1
fi
}
ensure_openbook_databases_created() {
if ! echo "SHOW DATABASES;" | mysql -h 127.0.0.1 -u root --password='{{ openbook_database_password }}' 2>/dev/null | fgrep 'openbook'; then
echo "Creating Openbook schema..."
mysql -h 127.0.0.1 -u root --password='{{ openbook_database_password }}' &>/dev/null < /etc/openbook/database/create_openbook_schemas.sql
fi
}
{% endif %}
do_start() {
{% if "True" == openbook_install_database|string() %}
chmod 777 /var/lib/mysql
chmod 777 /var/log/mysql
/opt/openbook/database/run.sh
wait_for_database
ensure_openbook_databases_created
{% endif %}
{% if "True" == openbook_install_job_scheduler_server|string() %}
/opt/openbook/job_scheduler_server/run.sh ${@}
{% endif %}
{% if "True" == openbook_install_workflow_server|string() %}
/opt/openbook/workflow_server/run.sh ${@}
{% endif %}
{% if "True" == openbook_install_admin_api_server|string() %}
/opt/openbook/admin_api_server/run.sh ${@}
{% endif %}
{% if "True" == openbook_install_customer_api_server|string() %}
/opt/openbook/customer_api_server/run.sh ${@}
{% endif %}
{% if "True" == openbook_install_admin_web_ui|string() %}
/opt/openbook/admin_web_ui/run.sh ${@}
{% endif %}
{% if "True" == openbook_install_customer_web_ui|string() %}
/opt/openbook/customer_web_ui/run.sh ${@}
{% endif %}
echo
echo "Openbook started."
}
do_stop() {
{% if "True" == openbook_install_customer_web_ui|string() %}
docker stop customer_web_ui_unstable
{% endif %}
{% if "True" == openbook_install_admin_web_ui|string() %}
docker stop admin_web_ui_unstable
{% endif %}
{% if "True" == openbook_install_customer_api_server|string() %}
docker stop customer_api_server_unstable
{% endif %}
{% if "True" == openbook_install_admin_api_server|string() %}
docker stop admin_api_server_unstable
{% endif %}
{% if "True" == openbook_install_workflow_server|string() %}
docker stop workflow_server_unstable
{% endif %}
{% if "True" == openbook_install_job_scheduler_server|string() %}
docker stop job_scheduler_server_unstable
{% endif %}
{% if "True" == openbook_install_database|string() %}
docker stop database
{% endif %}
docker container prune -f
echo
echo "Openbook stopped."
}
do_help() {
echo "Usage:"
echo " $0 start"
echo " $0 debug"
echo " $0 stop"
{% if "True" == openbook_install_database|string() %}
echo " $0 test_database"
{% endif %}
}
case $1 in
start*)
do_start
;;
debug*)
do_start debug
;;
stop*)
do_stop
;;
{% if "True" == openbook_install_database|string() %}
test_database*)
wait_for_database
echo "Database is up."
;;
{% endif %}
*)
do_help
;;
esac
exit 0
|