IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
This allows CTDB to be configured to use "ss -K" to reset TCP
connections on "releaseip". This is only supported when the kernel is
configured with CONFIG_INET_DIAG_DESTROY enabled.
From the documentation:
ss -K has been supported in ss since iproute 4.5 in March 2016 and
in the Linux kernel since 4.4 in December 2015. However, the
required kernel configuration item CONFIG_INET_DIAG_DESTROY is
disabled by default. Although enabled in Debian kernels since
~2017 and in Ubuntu since at least 18.04,, this has only recently
been enabled in distributions such as RHEL. There seems to be no
way, including running ss -K, to determine if this is supported, so
use of this feature needs to be configurable. When available, it
should be the fastest, most reliable way of killing connections.
For RHEL and derivatives, this was enabled as follows:
* RHEL 8 via https://bugzilla.redhat.com/show_bug.cgi?id=2230213,
arriving in version kernel-4.18.0-513.5.1.el8_9
* RHEL 9 via https://issues.redhat.com/browse/RHEL-212, arriving in
kernel-5.14.0-360.el9
Enabling this option results in a small behaviour change because ss -K
always does a 2-way kill (i.e. it also sends a RST to the client).
Only a 1-way kill is done for SMB connections when ctdb_killtcp is
used - the reasons for this are shrouded in history and the 2-way kill
seems to work fine.
For the summary that is logged, when CTDB_KILLTCP_USE_SS_KILL is "yes"
or "try", always log the method used, even the fallback to
ctdb_killtcp. However, when set to "no", maintain the existing
output.
The decision to use -K rather than --kill is because short options are
trivial to implement in test stubs.
Signed-off-by: Martin Schwenke <mschwenke@ddn.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jerry Heyman <jheyman@ddn.com>
Autobuild-User(master): Martin Schwenke <martins@samba.org>
Autobuild-Date(master): Thu Nov 7 00:12:34 UTC 2024 on atb-devel-224
eventscript unit tests
======================
This directory contains some eventscript unit tests for CTDB. These
tests can be run as a non-privileged user. There are a lot of stub
implementations of commands (located in stubs/) used to make the
eventscripts think they're running against a real system.
Test case filenames look like:
<eventscript>.<event>.NNN.sh
The test helper functions will run <eventscript> with specified
options. If using the simple_test() helper function then the 1st
<event> argument is automatically passed. When simple_test_event() is
used the event name must be explicitly passed as the 1st argument -
this is more flexible and supports multiple events per test.
Examples:
* ../run_tests.sh .
Run all tests, displaying minimal output.
* ../run_tests.sh -s .
Run all tests, displaying minimal output and a summary.
* ../run_tests.sh -s ./10.interface.*.sh
Run all the tests against the 10.interface eventscript.
* ../run_tests.sh -v -s .
Run all tests, displaying extra output and a summary.
* ../run_tests.sh -sq .
Run all tests, displaying only a summary.
* ../run_tests.sh -X ./10.interface.startup.002.sh
Run a test and have the eventscript itself run with "sh -x". This
will usually make a test fail because the (undesirable) trace output
will be included with the output of the eventscript. However, this
is useful for finding out why a test might be failing.