1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-25 06:04:04 +03:00
Martin Schwenke b80967f5dc ctdb-scripts: Drop script configuration variable CTDB_MONITOR_SWAP_USAGE
CTDB's system memory monitoring in 05.system.script monitors both main
memory and swap.  The swap monitoring was originally based on
the (possibly incorrect, see below) idea that swap space stacks on top
of main memory, so that when a system starts filling swap space then
this is supposed to be a good sign that the system is running out of
memory.  Additionally, performance on a Linux system tends to be
destroyed by the I/O associated with a lot of swapping to spinning
disks.

However, some platforms default to creating only 4GB of swap space
even when there is 128GB of main memory.  With such a small swap to
main memory ratio, memory pressure can force swap to be nearly full
even when a significant amount of main memory is still available and
the system is performing well.  This suggests that checking swap
utilisation might be less than useful in many circumstances.

So, remove the separate swap space checking and change the memory
check to cover the total of main memory and swap space.

Test function set_mem_usage() still takes an argument for each of main
memory and swap space utilisation.  For simplicity, the same number is
now passed twice to make the intended results comprehensible.  This
could be changed later.

A couple of tests are cleaned up to no longer use hard-coded
/proc/meminfo and ps output.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
2019-05-07 05:45:34 +00:00
..

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.