From dd3e46cd836aa536b872bdb0349b2b2a083553e3 Mon Sep 17 00:00:00 2001 From: Michal Nasiadka Date: Mon, 8 Jan 2024 13:01:06 +0100 Subject: [PATCH] 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 --- .../mariadb-clustercheck/Dockerfile.j2 | 4 +++- .../mariadb-clustercheck/socat_wrapper.sh | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 docker/mariadb/mariadb-clustercheck/socat_wrapper.sh diff --git a/docker/mariadb/mariadb-clustercheck/Dockerfile.j2 b/docker/mariadb/mariadb-clustercheck/Dockerfile.j2 index 1aa8aa13a6..8068186db9 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 0000000000..bf562e3d5d --- /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"