aboutsummaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
authorMichal Nasiadka <mnasiadka@gmail.com>2024-01-08 13:01:06 +0100
committerMichal Nasiadka <mnasiadka@gmail.com>2024-01-09 16:19:38 +0000
commitdd3e46cd836aa536b872bdb0349b2b2a083553e3 (patch)
tree6d7ebd207543af151166aa523730c6ece3a6b838 /docker
parent9ebd51f7991a76059e91be98ac579ff705954337 (diff)
downloadkolla-dd3e46cd836aa536b872bdb0349b2b2a083553e3.tar.gz
kolla-dd3e46cd836aa536b872bdb0349b2b2a083553e3.zip
mariadb-clustercheck: Add a script handling signals
Since socat does not rewrite SIGTERM to exit 0 (see [1]) - let's fix it in a different way. [1]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=809633 Change-Id: If27d93c509496651f8aa5e49a7d63b24eda91a8e
Diffstat (limited to 'docker')
-rw-r--r--docker/mariadb/mariadb-clustercheck/Dockerfile.j24
-rw-r--r--docker/mariadb/mariadb-clustercheck/socat_wrapper.sh19
2 files changed, 22 insertions, 1 deletions
diff --git a/docker/mariadb/mariadb-clustercheck/Dockerfile.j2 b/docker/mariadb/mariadb-clustercheck/Dockerfile.j2
index 1aa8aa13a..8068186db 100644
--- a/docker/mariadb/mariadb-clustercheck/Dockerfile.j2
+++ b/docker/mariadb/mariadb-clustercheck/Dockerfile.j2
@@ -6,8 +6,10 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% block mariadb_clustercheck_header %}{% endblock %}
COPY extend_start.sh /usr/local/bin/kolla_extend_start
+COPY socat_wrapper.sh /usr/local/bin/socat_wrapper
-RUN chmod 644 /usr/local/bin/kolla_extend_start
+RUN chmod 644 /usr/local/bin/kolla_extend_start && \
+ chmod 755 /usr/local/bin/socat_wrapper
{% block mariadb_clustercheck_footer %}{% endblock %}
{% block footer %}{% endblock %}
diff --git a/docker/mariadb/mariadb-clustercheck/socat_wrapper.sh b/docker/mariadb/mariadb-clustercheck/socat_wrapper.sh
new file mode 100644
index 000000000..bf562e3d5
--- /dev/null
+++ b/docker/mariadb/mariadb-clustercheck/socat_wrapper.sh
@@ -0,0 +1,19 @@
+#!/usr/bin/env bash
+
+catch_term() {
+ kill -TERM "$child" 2>/dev/null
+ exit 0
+}
+
+catch_quit() {
+ kill -QUIT "$child" 2>/dev/null
+ exit 0
+}
+
+trap catch_term SIGTERM
+trap catch_quit SIGQUIT
+
+socat "$@" &
+
+child=$!
+wait "$child"