diff options
| author | Michal Nasiadka <mnasiadka@gmail.com> | 2019-08-13 07:55:58 +0000 |
|---|---|---|
| committer | Michal Nasiadka <mnasiadka@gmail.com> | 2019-12-09 12:57:10 +0000 |
| commit | 79851d7929027050d0d1e76aaa28e83c141dcc55 (patch) | |
| tree | 813e808a5d44aae76777dd4d2b262f9ebda1b524 /docker/mariadb | |
| parent | f1e236522525361b8db1c05bee2b53b1c2a4dc5e (diff) | |
| download | kolla-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.j2 | 9 | ||||
| -rwxr-xr-x | docker/mariadb/healthcheck_mariadb | 17 |
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 |
