[SCM] CTDB repository - annotated tag ctdb-2.0 created - ctdb-2.0

Amitay Isaacs amitay at samba.org
Tue Oct 30 19:35:19 MDT 2012

The annotated tag, ctdb-2.0 has been created
        at  23282c5c861fe5674960ad38ca635350937c6758 (tag)
   tagging  cd64035d71ddff6aebe6c15a49e09527283425d2 (commit)
  replaces  ctdb-1.13
 tagged by  Amitay Isaacs
        on  Wed Oct 31 12:36:10 2012 +1100

- Log -----------------------------------------------------------------
New version 2.0

Amitay Isaacs (89):
      build: Add rules to create ctags/etags
      packaging: Setup directories for rpmbuild
      build: Remove re-definition of same variable
      build: Display correct LIB_FLAGS while building
      build: Use system talloc library if available
      build: Use system tevent library if available
      build: Use system tdb library if available
      recovery: Add prototypes for tdb internal functions
      build: Substitute POPT macros once and reuse variables
      tests/tool: Fix the nodestatus test
      tests/tool: New nodestatus test
      tests: exportfs always outputs with options in brackets
      tests: Add a script to run cluster tests and make target "test_cluster"
      tests: Add regular expression parsing for hop_count_buckets
      tests: Fix the error messages in test event script
      ctdbd: Fix the error message string
      tests: Check for assigned IP addresses only if we are on real cluster
      tests: Check assigned IPs from ctdb output
      tests: Set the debug level = 3 when running local tests
      tests: Use CTDB_TEST_REAL_CLUSTER to decide if tests use local daemons
      recoverd: Fix spurious warnings when running with --nopublicipcheck
      ctdbd: Fix spurious warnings when running with --nopublicipcheck
      includes: Move special tevent defines from tevent.h to includes.h
      Remove explicit include of lib/tevent/tevent.h.
      ctdb_test: Remove faked wrappers for tevent functions in stub testing
      lib/tevent: Remove local modifications to tevent
      lib/tevent: Remove the files required to build tevent as a library
      lib/tevent: Sync tevent from samba git tree
      lib/talloc: Remove the files required to build talloc as a library
      lib/talloc: Sync talloc from samba git tree
      lib/tdb: Remove the files required to build tdb as a library
      lib/tdb: Sync tdb from samba git tree
      tests/tool: Fix the nodestatus test
      tests/tool: New nodestatus test
      tests: Fix wrapper scripts
      tests: CTDB_TEST_WRAPPER has to be an absolute path on a real cluster
      tests: test_wrap needs to set TEST_SCRIPTS_DIR
      tests/simple: Fix typo in the test message
      server: locking: Provide a common API for non-blocking locking of TDBs
      Revert "server: locking: Provide a common API for non-blocking locking of TDBs"
      tests: Use per node log files when running tests with local daemons
      packaging: make ctdb-tests package depend on nc
      server: Replace BOOL datatype with bool, True/False with true/false
      tests: Fix flakey behavior of ctdb_fetch test
      tests: Fix ctdb_fetch test (parse extra lines of output)
      tests: Increment RSN always in ctdb_update_record_persistent test
      Fix compiler warnings.
      util: Do not try to lockdown memory when running in local daemons mode
      ctdbd: Return explicit boolean values for function returning bool
      Remove tevent_loop_allow_nesting()
      web: Add my name to the developer list.
      util: Do not lock down memory when running with local daemons
      doc: Fix path string of /etc/sysconfig/ctdb file
      Revert "when creating/adding a public ip, set the initial interface to be the first interface specified"
      doc: Fix the hyperlink for "Testing CTDB" page
      scripts: Remove duplicate code from init script to set tunables
      doc: Fix documentation for setup event
      doc: Add info about execute permissions on event scripts
      header: Added DB statistics update macros
      common: Add routines to get process and lock information
      ctdbd: locking: Provide non-blocking API for locking of TDB record/db/alldb
      tools/ctdb: Display the locking statistics
      tests: Fix statistics test for new output lines from locking API
      ctdbd_test: Include ctdb_lock.c code for test stubs
      ctdb_freeze: Replace locking functions with locking API
      ctdb_recover: Replace static locking functions with locking API
      ctdbd: Replace lockwait with locking API and remove ctdb_lockwait.c
      locking: Schedule a new lock request everytime a lock is released
      locking: Add database priority handling for older versions of samba
      locking: Do not use ctdb_kill() to kill smbd processes
      build: Set CTDB_PATH to /tmp/ctdb.socket if SOCKPATH is not defined
      web: Remove reference to non-existent config files
      web: Add the links to ftp/http ctdb download area
      web: Add posix locking information to prerequisites
      doc: README - add information about CTDB, license and website
      build: Extract building of manpages in a separate Makefile
      packaging: Build docs and include them in tarball
      packaging: Factor out the code to genreate VERSION string
      packaging: Use common code to generate VERSION string
      doc: Do not keep the built version of manpages in version control
      packaging: Bundle README, COPYING and html version of manpages
      web: Update broken links to manpages
      packaging: Create include/version.h to define CTDB_VERSION_STRING
      build: Add rules to create include/version.h when building from git tree
      tool/ctdb: Always support ctdb version command, don't make it optional
      packaging: Use optional argument as targetdir when creating tarball
      packaging: Use maketarball.sh script to create tarball for RPM
      tests: Do not check release suffix in ctdb version test
      web: Update instructions for building from tarball

David Disseldorp (1):
      Build: Set the default ctdb socket path at configure time

Gregor Beck (1):
      ctdbd: refuse attaching with "persistent" to a non-persistent db and v.v.

Martin Schwenke (197):
      ctdb tool: fix thinko in nodestatus command output
      Tests - simple - make disconnected node tests handle changed error message
      Tests - functions/environment - set and use $CTDB_NODES
      Eventscript functions - add new function die()
      Eventscripts - redesign and rewrite 13.per_ip_routing
      Eventscript functions - remove functions only used by 13.per_ip_routing
      Eventscript functions - remove now-unused route/IP re-add script logic
      Eventscript functions - no longer require interface_modify.sh
      Eventscript support - Remove unused interface_modify.sh
      Eventscript tests - make error message consistent with recent change
      Eventscript tests - make ip command stub vaguely maintainable
      Eventscript tests - implement ip rule in stub
      Eventscript tests - implement ip route in stub
      Eventscripts - 13.per_ip_routing should use dirname not basename for mkdir
      Eventscripts - use set_proc() rather than accessing /proc directly
      Eventscripts - make 13.per_ip_routing try harder to find public_addresses
      Eventscripts - make 13.per_ip_routing fail gracefully if config is missing
      Tests - eventscripts - ip stub command should print errors to stderr
      Tests - eventscripts - add -A/-D options
      Tests - eventscripts - more public IPs in default setup
      Tests - eventscripts - stub ctdb command updates
      Tests - eventscripts - fix hardcoding error
      Update .gitignore for eventscript testing fu.
      Tests - eventscripts - add support functions for policy routing testing
      Tests - eventscripts - improved support functions for handling public IPs
      Tests - eventscripts - rationalise CTDB fakery support
      Tests - eventscripts - change summary columns
      Tests - eventscripts - new function simple_test_command()
      Tests - eventscripts - initial policy routing tests
      Undo damage done by d8d37493478a26c5f1809a5f3df89ffd6e149281
      Add policy routing documentation to ctdbd(1).
      Initscript - add backup of corrupt non-persistent databases
      Tests - turn of time logging by default
      Tests - IP allocation - add another LCP2 test based on a test failure
      Tests - IP allocation - 2 tests for NODE_FLAGS_NOIPTAKEOVER
      tests - export new variable TEST_SCRIPTS_DIR
      tests - add scripts/common.sh
      tests - add scripts/unit.sh
      tests - move functions only used by scripts/run_tests into that script
      tests - add -v option to set TEST_VERBOSE=true
      tests - run_tests can take a directory as an argument
      tests - run_tests includes common.sh, uses die()
      tests/tool - Restructure according to new convention
      tests/onnode - Restructure according to new convention
      tests/takeover - Restructure according to new convention
      tests - run_tests ignores trailing '/' on directories
      tests/eventscripts - Restructure according to new convention
      tests - run_tests needs to expand directories like "." and "..".
      tests/eventscripts: Tweak an error message in a policy routing test
      tests/eventscripts: Share directories must be absolute in eventscript tests
      tests: More unit test factoring/rationalisation and bug fixes
      tests: Rename ctdb_test_functions.bash to integration.bash
      tests: Rationalise integration test infrastructure
      Eventscripts - Fix typo in 13.per_ip_routing support for __auto_link_local__
      tests: Local daemons are no longer the default, now require run_tests -l
      tests: Move relative directory path hack from run_tests to common.sh
      tests: Programs run by tests should be found in $PATH
      tests: Remove ctdb_test_env
      tests: Add -e option to cause run_tests to exit on first test failure
      tests: Add new -H option for run_tests to avoid printing header/footer
      tests: Fix trailing whitespace issues in integration.bash
      tests: test_wrap can use $TEST_SCRIPTS_DIR for a little extra clarity
      tests: run_tests should exit with failed test status if running with -H
      tests: Update top-level wrapper scripts
      tests: Update README files and add new README files where missing
      tests: Make run_tests -X more flexible - it now works with onnode
      tests/simple: Replace "tdbdump" with "ctdb cattdb"
      tests/integration: Use absolute path for socket symlink
      tests/integration: Remove cabability for testcase option
      tests: Add a -V option to set new variable TEST_VAR_DIR
      tests: Update integration.sh to use TEST_VAR_DIR
      tests: Improve the logic for adding directories to $PATH
      tests: Unit tests should use $TEST_VAR_DIR
      tests: Time logging in integration tests should use TEST_VAR_DIR
      tests/eventscripts: $FAKE_IP_STATE is always set in ip command stub
      tests: New run_tests -C (cleanup) option
      tests/simple: Add new pseudo testcase to potentially shutdown local daemons
      tests: Add installation script for tests
      tests/eventscripts: Add sanity check to esnure events.d/ can be found
      Eventscripts: fix basename -> dirname typo
      tests/eventscripts: Be more defensive about removing the var directory
      tests/eventscripts: Explicitly set CTDB_SERVICE_AUTOSTARTSTOP="yes"
      tests/eventscripts: Use a canned ctdb.sysconfig rather than a link
      tests/eventscripts: $CTDB_ETCDIR should be in $TEST_VAR_DIR
      tests: Update README
      Packaging: generate a ctdb-tests package
      Packaging: devel package fixes
      Eventscript functions: add optional version to nfs_check_rpc_service()
      Packaging: add options to ctdb.spec.in to force use of bundled libraries
      Packaging: Improve dependencies
      tests/eventscripts: $CTDB_BASE needs to be in $TEST_VAR_DIR
      tests/eventscripts: Fix a policy routing test
      tests: Allow run_tests.sh to take options
      tests: Allow run_cluster_tests.sh to take options
      tests: In integration tests, use --node-ip to avoid locking weirdness
      tests: Add a test for "ctdb reloadips"
      tests: Fix wrapper scripts to handle options and tests without breakage
      tests: Restore the old behaviour of "make test" so it uses tests/var
      tests: Use per-daemon public_addresses file for local daemons
      tests: New function get_ctdbd_command_line_option() for integration testing
      tests: Fix a typo in daemons_setup()
      tests: Move the "ctdb reloadips" test from complex/ to simple/
      Eventscript functions: add optional version to nfs_check_rpc_service()
      Eventscripts: restart lockd in the background when going unhealthy
      Eventscripts: Modernise 60.ganesha to match 60.nfs
      tests: test_wrap needs to set TEST_BIN_DIR when installed
      Eventscripts: Fix deprecated iptables ! usage
      tests: Complex tests must not be run from a cluster node
      tests/eventscripts: Tweak expected output for lockd:b restart
      lib/tevent: In poll_event_context, add a pointer back to the tevent_context
      Revert "TEVENT: Add back tracking of long runnig  events to the local copy of tevent library"
      lib/tevent: Add trace point callback
      Reimplement logging of long running events
      Eventscripts: 11.natgw $CTDB_NATGW_PUBLIC_IP splitting optimisation
      Eventscripts: remove redundant firewall rules from 11.natgw
      Eventscripts: Clean up startup sanity check in 11.natgw
      Eventscripts: Optimise building the host address in 11.natgw
      Eventscripts: Retrieve and build NAT gateway details better in 11.natgw
      Eventscripts: Update/remove stale comments in 11.natgw
      Eventscripts: Default route on NAT gateway should have a metric of 10
      statd-callout: Fix a bug in the calculations of $STATE
      tests:  select_test_node_and_ips() should never select non-node -1
      tests/simple: ctdb reloadips test should use $test_ip
      tests: run_tests should exit with $status with -e option
      tests: simple tests against local daemons should check $TEST_LOCAL_DEAMONS
      tests: select_test_node_and_ips() should try to avoid failing
      tests/simple: ctdb stop/continue tests weren't actually checking IPs
      tests/complex: Fix broken ctdb_test_check_real_cluster()
      tests/eventscripts: Rewrite the testparm stub
      tests/tool: Run ctdb_tool_* under $VALGRIND
      Initscript: clean up drop_all_public_ips()
      ctdbd: Fix ctdb_control_release_ip() on local daemons
      ctdbd: Remove the worked "Forced" from message about running eventscripts
      ctdbd: Log a meaningful message if the nodes file/list is empty
      Eventscripts: Clean up 11.routing
      tools/onnode: Add -P option to push files to given nodes
      doc: Document the new onnode -P option
      ctdb tool: recmaster command might as well be auto-all
      Revert "Eventscripts - make 13.per_ip_routing fail gracefully if config is missing"
      Eventscripts: 13.per_ip_routing should always fail if config is missing
      tests/eventscripts: Extra cases for policy routing missing config test
      recoverd: Fix bogus info in message about changed flags
      recoverd: Update a log message that has bit-rotted
      recoverd: verify_local_ip_allocation() should dup ifaces before early return
      recoverd: main_loop() should not verify local IPs if node is stopped
      recoverd: An inactive node should not force recovery master elections
      recoverd: All inactive nodes should yield recovery master role
      eventscripts: Print a warning on failure to delete a routing rule
      tests/eventscripts: Add a policy routing unit test for "ip rule del" failure
      eventscripts: 13.per_ip_routing should remove bogus routes on ipreallocated
      tests/eventscript: unit test for 13.per_ip_routing bogus route removal
      Eventscripts: Indent error when a route delete fails in 11.per_ip_routing
      tests/eventscripts: Modify ip stub to simulate invalid table ID
      tests/eventscripts: New policy routing test with invalid table ID
      tools/ctdb: NAT gateway code should use CTDB_NATGW_NODES
      tools/ctdb: Factor out printing of the machine readable status header
      tools/ctdb: natgwlist output is either human readable or machine readable
      tools/ctdb: Remove redundant filtering loop in control_natgwlist()
      libctdb: add ctdb_getcapabilities()
      tests: libctdb stubs must copy pointers rather than just returning them
      tests: libctdb stubs initial ctdb_getcapabilities() implementation
      tools/ctdb: Convert some commands over to libctdb
      tools/ctdb: Clean up control_natgw()
      tests/tool: New function setup_natgw() to setup $CTDB_NATGW_NODES
      tests/tool: New tests for natgwlist, getcapabilities, lvs, lvsmaster
      libctdb: Add comments to effect that some controls return result in status
      tools/ctdb: Free the event context
      Initscript: Kill any existing ctdbd processes if the ping succeeds
      Eventscripts: split 50.samba into 49.winbind and 50.samba
      eventscripts: Auto-start/stop services in background
      util: ctdb_fork() closes all sockets opened by the main daemon
      ctdbd: Avoid unnecessary updateip event
      Eventscripts: Add service-start and service-stop pseudo-events
      ctdbd: New tunable NoIPTakeoverOnDisabled
      ctdbd: Stop takeovers and releases from colliding in mid-air
      recoverd: When starting a takeover run disable IP verification
      recoverd: Track failure of "recovered" event, banning culprits
      Eventscripts: Add support for "reconfigure" pseudo-event for policy routing
      tests/eventscripts: add extra infrastructure for policy routing tests
      tests/eventscripts: add unit tests for policy routing reconfigure
      common: Debug ctdb_addr_to_str() using new function ctdb_external_trace()
      Eventscripts: "recovered" event should not fail on NATGW failure
      Revert "Eventscripts - add facility to 10.interface to delete unmanaged IPs"
      recoverd: Verifying local IPs should only check for unhosted available IPs
      tools/ctdb: Remove extra header from natgwlist -Y output
      recoverd: Clarify some misleading log messages
      ctdbd: Remove references to forcing running of eventscripts from log messages
      initscript: Check that rc.ctdb is executable before running it
      tools/ctdb_diagnostics: Add "ctdb listvars" output
      scripts: Refactor logging code in initscript and functions file
      tools/ctdb: Add log ringbuffer handling for recoverd
      tools/ctdb: Merge recoverd log handling into getlog/clearlog
      tests: Local daemons should use the logging ringbuffer
      doc: getlog and clearlog changes for recovery daemon logs
      ctdbd: Fix compilation warning in locking code

Michael Adam (4):
      ctdb: use correct "persistent" state for ctdb_attach in "ctdb cattdb"
      run_tests.sh: fix a comment
      run_tests: improve spacing
      config/functions: fix a comment

Ronnie Sahlberg (43):
      READONLY: when updating a remote node to revoke a delegation, make sure we dont create the record if it doesnt already exist
      ReadOnly: Only restrict the readonly sanity/paranoia check that only allows
      Test: add test tool and test that UPDATE_RECORD works on persistent databases
      Merge remote branch 'martins/master'
      add max hop count buckets to see how bad hopcounts are
      FETCH COLLAPSE : Change the fetch-lock collapse to collapse ALL fetches, including fetch-locks into a single command in flight per record. Also add a tunable to enable/disable this optimization for hot records
      DOC document the FetchCollapse tunable
      CTDB: change how the hop count buckets are displayed in ctdb statistics
      STATISTICS: add per-db hop count statistics
      LACOUNT:  Add back lacount mechanism to defer migrating a fetched/read copy until after default of 20 consecutive requests from the same node
      DOC: Document the MaxLACount tunable variable
      STICKY: add prototype code to make records stick to a node to "calm" down if they are found to be very hot and accessed by a lot of clients.
      STICKY   document the sticky record parameters
      DOC  regenerate the manpage
      Make NoIPFailback a node local setting. Nodes that have NoIPFailback set to !0 can not takeover new ip addresses during failover.
      NoIPFailback: Exclude nodes which have NoIPFailback as failback targets during reallocation
      NoIPTakeover: change the tunable name for the "dont allow failing addresses over onto the node" to NoIPTakeover
      DOC: regenerate manpages
      Merge remote branch 'martins/policy_routing'
      CTDB: add back the "rebalanceip" command
      Add test for NoIPTakeover
      Merge remote branch 'martins/master'
      Merge remote branch 'amitay/talloc-sync'
      Merge remote branch 'amitay/tevent-sync'
      Merge remote branch 'amitay/tdb-sync'
      Add new control to reload the public ip address file on a node
      RELOADIPS: simplify the reloadips code a bit
      DOC: document the reloadips command
      Track all child process so we never send a signal to an unrelated process (our child died  and kernel wrapped the pid-space and reused the pid for a different process
      We dont need to serialize the "probe which address this node is" if we have given an explicit --node-ip on the commandline
      Debug: When scripts hang, we may need to collect additional data in order to debug why the script hung.
      Merge remote branch 'martins/ganesha'
      GANESHA: make the ganesha script executable by default
      TEVENT: Add back tracking of long runnig  events to the local copy of tevent library
      DEBUG: Add checks for and print debug messages when 1) a database contains very many records, 2) when a database is very big, 3) when a single record is very big.
      DOCS: Document the new tunables to produce warnings if databases grow unexpectedly big.
      RECOVER: When we pull databases during recovery, we used to reallocate the databuffer for each entry added. This would normally not be an issue, but for cases where memory is fragmented, this could start to cost significant cpu if we need to reallocate and move to a different region.
      RECOVERY: Increase the time we allow before timing out recovery related tasks.
      Run the shutdown eventscript before we tear down the transport
      STATISTICS: Add tracking of the 10 hottest keys per database measured in hopcount
      Add new command to find which interface is located on
      When we release an ip, get the interface name from the kernel
      When we find an ip we shouldnt host, just release it

Stefan Metzmacher (3):
      lib/tevent/testsuite: no longer use 'compat' symbols
      tevent: expose tevent_context_init_ops
      tevent: change version to 0.9.16

Volker Lendecke (3):
      Correct include for ctdb_protocol.h
      Avoid a bashism in 60.ganesha
      Add a \n to an error message


CTDB repository

More information about the samba-cvs mailing list