Fix usage of nc in ctdb tests and only recommned it

resolves: #1552652
This commit is contained in:
Andreas Schneider 2018-03-13 09:32:17 +01:00
parent 872e9d79c7
commit 6a7dcc6f82
2 changed files with 118 additions and 2 deletions

View File

@ -0,0 +1,111 @@
From a4d002af9c33b2fa9fbec390aad7e4ac484df123 Mon Sep 17 00:00:00 2001
From: Martin Schwenke <martin@meltin.net>
Date: Thu, 8 Mar 2018 11:49:56 +1100
Subject: [PATCH] ctdb-tests: Don't use nc -d or -w options
nmap-ncat is used in some distributions to replace netcat. It has a
different meaning for these options.
We can get the same effect as the current combination of -d and -w by
piping a sleep process to nc. Subsequent use of $! works because it
gets the last process in pipeline.
Note that redirecting from /dev/null doesn't work with some versions
of nc. They just exit when they get EOF.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=13327
Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
(cherry picked from commit 9e954bcbf43d67a18ee55f84cda0b09028f96b92)
---
ctdb/tests/complex/30_nfs_tickle_killtcp.sh | 2 +-
ctdb/tests/complex/31_nfs_tickle.sh | 2 +-
ctdb/tests/complex/32_cifs_tickle.sh | 2 +-
ctdb/tests/complex/34_nfs_tickle_restart.sh | 2 +-
ctdb/tests/complex/36_smb_reset_server.sh | 2 +-
ctdb/tests/complex/37_nfs_reset_server.sh | 2 +-
6 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/ctdb/tests/complex/30_nfs_tickle_killtcp.sh b/ctdb/tests/complex/30_nfs_tickle_killtcp.sh
index d1e7d714646..40ec6babf2e 100755
--- a/ctdb/tests/complex/30_nfs_tickle_killtcp.sh
+++ b/ctdb/tests/complex/30_nfs_tickle_killtcp.sh
@@ -46,7 +46,7 @@ test_port=2049
echo "Connecting to node ${test_node} on IP ${test_ip}:${test_port} with netcat..."
-nc -d -w 30 $test_ip $test_port &
+sleep 30 | nc $test_ip $test_port &
nc_pid=$!
ctdb_test_exit_hook_add "kill $nc_pid >/dev/null 2>&1"
diff --git a/ctdb/tests/complex/31_nfs_tickle.sh b/ctdb/tests/complex/31_nfs_tickle.sh
index c82d31dda1b..0b6990f8df9 100755
--- a/ctdb/tests/complex/31_nfs_tickle.sh
+++ b/ctdb/tests/complex/31_nfs_tickle.sh
@@ -54,7 +54,7 @@ test_port=2049
echo "Connecting to node ${test_node} on IP ${test_ip}:${test_port} with netcat..."
-nc -d -w $(($monitor_interval * 4)) $test_ip $test_port &
+sleep $((monitor_interval * 4)) | nc $test_ip $test_port &
nc_pid=$!
ctdb_test_exit_hook_add "kill $nc_pid >/dev/null 2>&1"
diff --git a/ctdb/tests/complex/32_cifs_tickle.sh b/ctdb/tests/complex/32_cifs_tickle.sh
index da369b9f5f7..366824501da 100755
--- a/ctdb/tests/complex/32_cifs_tickle.sh
+++ b/ctdb/tests/complex/32_cifs_tickle.sh
@@ -52,7 +52,7 @@ test_port=445
echo "Connecting to node ${test_node} on IP ${test_ip}:${test_port} with netcat..."
-nc -d -w $(($monitor_interval * 4)) $test_ip $test_port &
+sleep $((monitor_interval * 4)) | nc $test_ip $test_port &
nc_pid=$!
ctdb_test_exit_hook_add "kill $nc_pid >/dev/null 2>&1"
diff --git a/ctdb/tests/complex/34_nfs_tickle_restart.sh b/ctdb/tests/complex/34_nfs_tickle_restart.sh
index 6350db68c2e..2aab0614ff9 100755
--- a/ctdb/tests/complex/34_nfs_tickle_restart.sh
+++ b/ctdb/tests/complex/34_nfs_tickle_restart.sh
@@ -53,7 +53,7 @@ test_port=2049
echo "Connecting to node ${test_node} on IP ${test_ip}:${test_port} with netcat..."
-nc -d -w 600 $test_ip $test_port &
+sleep 600 | nc $test_ip $test_port &
nc_pid=$!
ctdb_test_exit_hook_add "kill $nc_pid >/dev/null 2>&1"
diff --git a/ctdb/tests/complex/36_smb_reset_server.sh b/ctdb/tests/complex/36_smb_reset_server.sh
index 5723ac7e025..beff1a22014 100755
--- a/ctdb/tests/complex/36_smb_reset_server.sh
+++ b/ctdb/tests/complex/36_smb_reset_server.sh
@@ -52,7 +52,7 @@ sleep_for 5
echo "Connecting to node ${test_node} on IP ${test_ip}:${test_port} with nc..."
-nc -d -w $(($monitor_interval * 4)) $test_ip $test_port &
+sleep $((monitor_interval * 4)) | nc $test_ip $test_port &
nc_pid=$!
ctdb_test_exit_hook_add "kill $nc_pid >/dev/null 2>&1"
diff --git a/ctdb/tests/complex/37_nfs_reset_server.sh b/ctdb/tests/complex/37_nfs_reset_server.sh
index d6dd0f03b1f..07bd034d6c7 100755
--- a/ctdb/tests/complex/37_nfs_reset_server.sh
+++ b/ctdb/tests/complex/37_nfs_reset_server.sh
@@ -52,7 +52,7 @@ sleep_for 5
echo "Connecting to node ${test_node} on IP ${test_ip}:${test_port} with nc..."
-nc -d -w $(($monitor_interval * 4)) $test_ip $test_port &
+sleep $((monitor_interval * 4)) | nc $test_ip $test_port &
nc_pid=$!
ctdb_test_exit_hook_add "kill $nc_pid >/dev/null 2>&1"
--
2.16.2

View File

@ -6,7 +6,7 @@
# ctdb is enabled by default, you can disable it with: --without clustering
%bcond_without clustering
%define main_release 5
%define main_release 6
%define samba_version 4.8.0
%define talloc_version 2.1.11
@ -122,6 +122,8 @@ Source14: samba.pamd
Source200: README.dc
Source201: README.downgrade
Patch0: samba-4.8.0-nc_in_ctdb_tests.patch
Requires(pre): /usr/sbin/groupadd
Requires(post): systemd
Requires(preun): systemd
@ -769,7 +771,7 @@ Summary: CTDB clustered database test suite
Requires: samba-client-libs = %{samba_depver}
Requires: ctdb = %{samba_depver}
Requires: nc
Recommends: nc
Provides: ctdb-devel = %{samba_depver}
Obsoletes: ctdb-devel < %{samba_depver}
@ -3550,6 +3552,9 @@ fi
%endif # with_clustering_support
%changelog
* Tue Mar 13 2018 Andreas Schneider <asn@redhat.com> - 4.8.0rc4-6
- resolves: #1552652 - Fix usage of nc in ctdb tests and only recommned it
* Fri Mar 02 2018 Guenther Deschner <gdeschner@redhat.com> - 4.8.0rc4-5
- Update to Samba 4.8.0rc4