From f940e6aa3150655109a71f31a8164970633f67f8 Mon Sep 17 00:00:00 2001
From: Michal Nasiadka <mnasiadka@gmail.com>
Date: Thu, 21 Jul 2022 10:28:19 +0200
Subject: [PATCH] clustercheck: move from xinetd to socat

Needed for CentOS Stream 9 and Rocky Linux 9.

Change-Id: I614e64e227304fdc50c08bd16d67ccf03586b92c
---
 ansible/roles/mariadb/tasks/config.yml           | 15 ---------------
 .../templates/mariadb-clustercheck.json.j2       | 11 ++---------
 .../mariadb/templates/xinetd-clustercheck.j2     | 16 ----------------
 3 files changed, 2 insertions(+), 40 deletions(-)
 delete mode 100644 ansible/roles/mariadb/templates/xinetd-clustercheck.j2

diff --git a/ansible/roles/mariadb/tasks/config.yml b/ansible/roles/mariadb/tasks/config.yml
index 9b5365e3dd..fedb9b4ed2 100644
--- a/ansible/roles/mariadb/tasks/config.yml
+++ b/ansible/roles/mariadb/tasks/config.yml
@@ -81,18 +81,3 @@
     - service.enabled | bool
   notify:
     - restart mariadb
-
-- name: Copying over xinetd clustercheck.conf
-  vars:
-    service_name: "mariadb-clustercheck"
-    service: "{{ mariadb_services[service_name] }}"
-  template:
-    src: "{{ role_path }}/templates/xinetd-clustercheck.j2"
-    dest: "{{ node_config_directory }}/{{ service_name }}/clustercheck"
-    mode: "0660"
-  become: true
-  when:
-    - inventory_hostname in groups[service.group]
-    - service.enabled | bool
-  notify:
-    - restart mariadb-clustercheck
diff --git a/ansible/roles/mariadb/templates/mariadb-clustercheck.json.j2 b/ansible/roles/mariadb/templates/mariadb-clustercheck.json.j2
index 8083ec31f4..38af51c016 100644
--- a/ansible/roles/mariadb/templates/mariadb-clustercheck.json.j2
+++ b/ansible/roles/mariadb/templates/mariadb-clustercheck.json.j2
@@ -1,13 +1,6 @@
 {
-    "command": "/usr/sbin/xinetd -dontfork -filelog /var/log/kolla/mariadb/xinetd.log",
-    "config_files": [
-        {
-            "source": "{{ container_config_directory }}/clustercheck",
-            "dest": "/etc/xinetd.d/clustercheck",
-            "owner": "root",
-            "perm": "0600"
-        }
-    ],
+    "command": "socat {% if network_address_family == 'ipv6' %}-6{% endif %} -d -lf/var/log/kolla/mariadb/mariadb-clustercheck.log tcp-l:{{ mariadb_clustercheck_port }},fork,bind={{ api_interface_address }} EXEC:clustercheck",
+    "config_files": [],
     "permissions": [
         {
             "path": "/var/log/kolla/mariadb",
diff --git a/ansible/roles/mariadb/templates/xinetd-clustercheck.j2 b/ansible/roles/mariadb/templates/xinetd-clustercheck.j2
deleted file mode 100644
index 1d719ae1e0..0000000000
--- a/ansible/roles/mariadb/templates/xinetd-clustercheck.j2
+++ /dev/null
@@ -1,16 +0,0 @@
-# default: on
-# description: mysqlchk
-service mysqlchk
-{
-        disable = no
-        flags = REUSE
-        socket_type = stream
-        type = UNLISTED
-        port = {{ mariadb_clustercheck_port }}
-        wait = no
-        user = mysql
-        server = /usr/bin/clustercheck
-        log_type       = FILE /var/log/kolla/mariadb/xinetd.log
-        log_on_failure = HOST ATTEMPT
-        per_source = UNLIMITED
-}