summaryrefslogtreecommitdiff
path: root/docker/mariadb
diff options
context:
space:
mode:
authorMichal Nasiadka <mnasiadka@gmail.com>2019-08-13 07:55:58 +0000
committerMichal Nasiadka <mnasiadka@gmail.com>2019-12-09 12:57:10 +0000
commit79851d7929027050d0d1e76aaa28e83c141dcc55 (patch)
tree813e808a5d44aae76777dd4d2b262f9ebda1b524 /docker/mariadb
parentf1e236522525361b8db1c05bee2b53b1c2a4dc5e (diff)
downloadkolla-79851d7929027050d0d1e76aaa28e83c141dcc55.tar.gz
kolla-79851d7929027050d0d1e76aaa28e83c141dcc55.zip
Build images with healthcheck scripts for core services
blueprint container-health-check Now docker supports healthcheck directive[0] in Dockerfile, which is helpful for checking container aliveness. Base for this patch were healthcheck scripts from tripleo[1]. [0] https://docs.docker.com/engine/reference/builder/#healthcheck [1] https://github.com/openstack/tripleo-common/tree/master/healthcheck Change-Id: Ifc32713cd4d6b45c74855c0ebf5bb65784701d44
Diffstat (limited to 'docker/mariadb')
-rw-r--r--docker/mariadb/Dockerfile.j29
-rwxr-xr-xdocker/mariadb/healthcheck_mariadb17
2 files changed, 26 insertions, 0 deletions
diff --git a/docker/mariadb/Dockerfile.j2 b/docker/mariadb/Dockerfile.j2
index 491349459..d958b03b0 100644
--- a/docker/mariadb/Dockerfile.j2
+++ b/docker/mariadb/Dockerfile.j2
@@ -50,6 +50,15 @@ RUN mkdir -p /var/run/mysqld && chown mysql /var/run/mysqld && chmod 755 /var/ru
COPY backup.sh /usr/local/bin/kolla_mariadb_backup.sh
RUN chmod 755 /usr/local/bin/kolla_mariadb_backup.sh
+{% if docker_healthchecks %}
+{% block healthcheck_installation %}
+
+COPY healthcheck_mariadb /usr/local/bin/healthcheck_mariadb
+RUN chmod 755 /usr/local/bin/healthcheck_mariadb
+
+{% endblock %}
+{% endif %}
+
{% if use_dumb_init %}
{% block mariadb_entrypoint %}
# NOTE(mgoddard): Override the dumb-init arguments to avoid passing
diff --git a/docker/mariadb/healthcheck_mariadb b/docker/mariadb/healthcheck_mariadb
new file mode 100755
index 000000000..b79b19bb4
--- /dev/null
+++ b/docker/mariadb/healthcheck_mariadb
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+MYSQL_USERNAME="${MYSQL_USERNAME:=-haproxy}"
+MYSQL_TIMEOUT=10
+
+MYSQL_CMDLINE="mysql -nNE --connect-timeout=${MYSQL_TIMEOUT} -u ${MYSQL_USERNAME}"
+
+WSREP_STATUS=$($MYSQL_CMDLINE -e "SHOW STATUS LIKE 'wsrep_local_state_comment';")
+
+if [[ "${WSREP_STATUS}" == "Synced" ]]
+then
+ echo "MariaDB Galera Cluster Node is synced."
+ exit 0
+else
+ echo "MariaDB Galera Cluster Node is NOT synced"
+ exit 0
+fi