diff options
Diffstat (limited to 'salt/openbook/database/files/run.sh')
| -rw-r--r-- | salt/openbook/database/files/run.sh | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/salt/openbook/database/files/run.sh b/salt/openbook/database/files/run.sh new file mode 100644 index 0000000..a956c28 --- /dev/null +++ b/salt/openbook/database/files/run.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +# find other running nodes +other_nodes_found=1 +for i in $(echo "{% raw %}{{ openbook_gcomm_addresses }}{% endraw %}" | sed -e 's|,| |g'); do + if [ "${i}" != "{% raw %}{{ ansible_default_ipv4.address }}{% endraw %}" ]; then + nc ${i} 4567 </dev/null >/dev/null + if [ "${?}" == "0" ]; then + other_nodes_found=0 + fi + fi +done + +# bootstrap or cluster join depending on whether other nodes were found +if [ "${other_nodes_found}" == "0" ]; then + mysql_args="" +else + mysql_args="--wsrep-new-cluster" +fi + +docker run -d --net=host -v {{ pillar["database"]["dirs"]["etc_openbook_database"]["name"] }}:/etc/mysql -v {{ pillar["database"]["dirs"]["var_lib_mysql"]["name"] }}:/var/lib/mysql -v {{ pillar["database"]["dirs"]["var_log_mysql"]["name"] }}:/var/log/mysql --name {{ pillar["database"]["container_name"] }} {{ pillar["registry"]["url"] }}/{{ pillar["database"]["image_name"] }} ${mysql_args} + +exit 0 |
