Vendor: Samba Team
Packager: Samba Team <samba@samba.org>
Name: ctdb
-Version: 1.0
-Release: 46
+Version: 1.0.75
+Release: 1
Epoch: 0
License: GNU GPL version 3
Group: System Environment/Daemons
%build
-CC="gcc"
+## check for ccache
+if ccache -h >/dev/null 2>&1 ; then
+ CC="ccache gcc"
+else
+ CC="gcc"
+fi
+
+export CC
## always run autogen.sh
./autogen.sh
--mandir=%{_mandir} \
--localstatedir="/var"
-make showflags
-make
+make docdir=%{_docdir} showflags
+make docdir=%{_docdir}
%install
# Clean up in case there is trash left from a previous build
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/init.d
-make DESTDIR=$RPM_BUILD_ROOT install
+make DESTDIR=$RPM_BUILD_ROOT docdir=%{_docdir} install
install -m644 config/ctdb.sysconfig $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/ctdb
install -m755 config/ctdb.init $RPM_BUILD_ROOT%{initdir}/ctdb
%postun
if [ "$1" -ge "1" ]; then
- %{initdir}/ctdb restart >/dev/null 2>&1
+ %{initdir}/ctdb restart >/dev/null 2>&1 || true
fi
%attr(755,root,root) %{initdir}/ctdb
%{_docdir}/ctdb/README.eventscripts
+%{_docdir}/ctdb/recovery-process.txt
%{_sysconfdir}/ctdb/events.d/00.ctdb
%{_sysconfdir}/ctdb/events.d/10.interface
+%{_sysconfdir}/ctdb/events.d/20.multipathd
%{_sysconfdir}/ctdb/events.d/40.vsftpd
%{_sysconfdir}/ctdb/events.d/41.httpd
%{_sysconfdir}/ctdb/events.d/50.samba
%{_sysconfdir}/ctdb/events.d/70.iscsi
%{_sysconfdir}/ctdb/events.d/90.ipmux
%{_sysconfdir}/ctdb/events.d/91.lvs
+%{_sysconfdir}/ctdb/events.d/99.routing
%{_sysconfdir}/ctdb/statd-callout
%{_sbindir}/ctdbd
%{_bindir}/ctdb
%{_bindir}/smnotify
%{_bindir}/ctdb_ipmux
%{_bindir}/ctdb_diagnostics
-%{_bindir}/onnode.ssh
-%{_bindir}/onnode.rsh
%{_bindir}/onnode
%{_mandir}/man1/ctdb.1.gz
%{_mandir}/man1/ctdbd.1.gz
%{_includedir}/ctdb_private.h
%changelog
+* Tue Mar 24 2009 : Version 1.0.75
+ - Various updates to LVS
+ - Fix a bug in the killtcp control where we did not set the port correctly
+ - add a new "ctdb scriptstatus" command that shows the status of the eventrscripts.
+* Mon Mar 16 2009 : Version 1.0.74
+ - Fixes to AIX from C Cowan.
+ - Fixes to ctdb_diagnostics so we collect correct GPFS data
+ - Fixes to the net conf list command in ctdb_diagnostics
+ - Check the static-routes file IFF it exists in ctdb_diagnostics
+* Wed Mar 4 2009 : Version 1.0.73
+ - Add possibility to disable the check of shares for NFS and Samba
+ - From Sumit Bose, fix dependencies so make -j works
+* Wed Feb 18 2009 : Version 1.0.72
+ - Updates to test scripts by martin s
+ - Adding a COPYING file
+ - Use netstat to check for services and ports and fallback to netcat
+ only if netstat is unavailable.
+* Mon Feb 2 2009 : Version 1.0.71
+ - Additional ipv6 fixes from Michael Adams
+* Fri Jan 16 2009 : Version 1.0.70
+ - IPv6 support is completed. this is backward compatible with ipv4-only
+ systems. To use IPv6 with samba and ctdb you need current GIT of samba 3.3
+ or michael adams samba-ctdeb branch.
+ - Many enhancements to the build system and scripts to make it more SUSE
+ friendly by Michael Adams.
+ - Change of how the naming of the package is structured. We are now
+ using "1.0.70" as a release and "-1" as the revision instead of as
+ previously using "1.0" as release and ".70" as the revision.
+ By Michael Adams.
+* Thu Dec 18 2008 : Version 1.0.69
+ - Various fixes to scripts by M Adam
+ - Dont call ctdb_fatal() when the transport is down during shutdown
+* Fri Dec 12 2008 : Version 1.0.68
+ - Fixes for monitoring of interfaces status from Michael Adam.
+ - Use -q instead of >/dev/null for grep to enhance readability of the
+ scripts from Michael Adam.
+ - Update to the "ctdb recover" command. This command now block until the
+ has completed. This makes it much easier to use in scripts and avoids
+ the common workaround :
+ ctdb recover
+ ... loop while waiting for recovery completes ...
+ continue ...
+ - Add a CTDB_TIMEOUT variable. If set, this variable provides an automatic
+ timeout for "ctdb <command>", similar to using -T <timeout>
+ - Set a unique errorcode for "ctdb <command>" when it terminates due to a
+ timeout so that scripts can distinguish between a hung command and what was
+ just a failure.
+ - Update "ctdb ban/unban" so that if the cluster is in recovery these commands
+ blocks and waits until after recovery is complete before the perform the
+ ban/unban operation. This is necessary since the recovery process can cause
+ nodes to become automatically unbanned.
+ - Update "ctdb ban/unban" to block until the recovery that will follow shortly
+ after this command has completed.
+ This makes it much easier to use in scripts and avoids the common
+ workaround :
+ ctdb ban/unban
+ ... loop while waiting for recovery completes ...
+ continue ...
+ - Bugfix for the new flags handling in 1.0.67. Abort and restart monitoring
+ if we failed to get proper nodemaps from a remote node instead of
+ dereferencing a null pointer.
+ - If ctdbd was explicitely started with the '--socket' argument, make
+ ctdbd automatically set CTDB_SOCKET to the specified argument.
+ This ensures that eventscripts spawned by the ctdb daemon will default to
+ using the same socket and talk to the correct daemon.
+ This primarily affects running multiple daemons on the same host and where
+ you want each instance of ctdb daemons have their eventscripts talk to the
+ "correct" daemon.
+ - Update "ctdb ping" to return an error code if the ping fail so that it
+ can be used in scripts.
+ - Update to how to synchronize management of node flags across the cluster.
+* Thu Dec 3 2008 : Version 1.0.67
+ - Add a document describing the recovery process.
+ - Fix a bug in "ctdb setdebug" where it would refuse to set a negative
+ debug level.
+ - Print the list of literals for debug names if an invalid one was given
+ to "ctdb setdebug"
+ - Redesign how "ctdb reloadnodes" works and reduce the amont of tcp teardowns
+ used during this event.
+ - Make it possible to delete a public ip from all nodes at once using
+ "ctdb delip -n all"
+* Mon Nov 24 2008 : Version 1.0.66
+ - Allow to change the recmaster even when we are not frozen.
+ - Remove two redundant SAMBA_CHECK variables from the sysconf example
+ - After a node failure it can take very long before some lock operations
+ ctdb needs to perform are allowed/works with gpfs again. Workaround this
+ by treating a hang/timeout as success.
+ - Dont override CTDB_BASE is fet in the shell already
+ - Always send keepalive packets regardless of whether the link is idle or not.
+ - Rewrite the disable/enable flag update logic to prevent a race between
+ "ctdb disable/enable" and the recovery daemon when updating the flags to
+ all nodes.
+* Thu Nov 13 2008 : Version 1.0.65
+ - Update the sysconfig example: The default debug level is 2 (NOTICE) and not
+ 0 (ERROR)
+ - Add support for a CTDB_SOCKET environment variable for the ctdb command
+ line tool. If set, this overrides the default socket the ctdb tool will
+ use.
+ - Add logging of high latency operations.
+* Mon Oct 22 2008 : Version 1.0.64
+ - Add a context and a timed event so that once we have been in recovery for
+ too long we drop all public addresses.
+* Mon Oct 20 2008 : Version 1.0.63
+ - Remove logging of "periodic cleanup ..." in 50.samba
+ - When we reload a nodes file, we must detect this and reload the file also
+ in the recovery daemon before we try to dereference somethoung beyond the end
+ of the nodes array.
+* Thu Oct 16 2008 : Version 1.0.62
+ - Allow multiple eventscritps using the same prefix number.
+ It is undefined which order scripts with the same prefix will execute in.
+* Wed Oct 15 2008 : Version 1.0.61
+ - Use "route add -net" instead of "ip route add" when adding routes in 99.routing
+ - lower the loglevel os several debug statements
+ - check the status returned from ctdb_ctrl_get_tickles() before we try to print them out to the screen.
+ - install a new eventscript 20.multipathd whoich can be used to monitor that multipath devices are healthy
+* Wed Oct 15 2008 : Version 1.0.60
+ - Verify that nodes we try to ban/unban are reachable and print an error othervise.
+ - Update the client and server sides of TAKEIP/RELEASEIP/GETPUBLICIPS and GETNODEMAP to fall back to the old style ipv4-only controls if the new ipv4/ipv6 controls fail. This allows an ipv4/v6 enabled ctdb daemon to interoperate with earlier ipv4-only versions of the daemons.
+ - From Mathieu Parent : log debian systems log the package versions in ctdb diagnostics
+ - From Mathieu Parent : specify logdir location for debian (this patch was later reversed)
+ - From Michael Adams : allow # comments in nodes/public_addresses files
+* Tue Oct 7 2008 : Version 1.0.59
+ - Updated "reloadnodes" logic. Instead of bouncing the entire tcp layer it is sufficient to just close and reopen all outgoing tcp connections.
+ - New eventscript 99.routing which can be used to re-attach routes to public interfaces after a takeip event. (routes may be deleted by the kernel when we release an ip)
+ - IDR tree fix from Jim Houston
+ - Better handling of critical events if the local clock is suddenly changed forward by a lot.
+ - Fix three slow memory leaks in the recovery daemon
+ - New ctdb command : ctdb recmaster which prints the pnn of the recmaster
+ - Onnode enhancements from Martin S : "healthy" and "connected" are now possible nodespecifiers
+ - From Martin S : doc fixes
+ - lowering some debug levels for some nonvital informational messages
+ - Make the daemon daemon monitoring stronger and allow ctdbd to detect a hung
+ recovery daemon.
+ - From C Cowan : patches to compile ipv6 under AIX
+ - zero out some structs to keep valgrind happy
+* Wed Aug 27 2008 : Version 1.0.58
+ - revert the name change tcp_tcp_client back to tcp_control_tcp so
+ samba can build.
+ - Updates to the init script from Abhijith Das <adas@redhat.com>
+* Mon Aug 25 2008 : Version 1.0.57
+ - initial support for IPv6
+* Mon Aug 11 2008 : Version 1.0.56
+ - fix a memory leak in the recovery daemon.
+* Mon Aug 11 2008 : Version 1.0.55
+ - Fix the releaseip message we seond to samba.
+* Fri Aug 8 2008 : Version 1.0.54
+ - fix a looping error in the transaction code
+ - provide a more detailed error code for persistent store errors
+ so clients can make more intelligent choices on how to try to recover
+* Thu Aug 7 2008 : Version 1.0.53
+ - Remove the reclock.pnn file it can cause gpfs to fail to umount
+ - New transaction code
+* Mon Aug 4 2008 : Version 1.0.52
+ - Send an explicit gratious arp when starting sending the tcp tickles.
+ - When doing failover, issue a killtcp to non-NFS/non-CIFS clients
+ so that they fail quickly. NFS and CIFS already fail and recover
+ quickly.
+ - Update the test scripts to handle CTRL-C to kill off the test.
+* Mon Jul 28 2008 : Version 1.0.51
+ - Strip off the vlan tag from bond devices before we check in /proc
+ if the interface is up or not.
+ - Use testparm in the background in the scripts to allow probing
+ that the shares do exist.
+ - Fix a bug in the logging code to handle multiline entries better
+ - Rename private elements from private to private_data
+* Fri Jul 18 2008 : Version 1.0.50
+ - Dont assume that just because we can establish a TCP connection
+ that we are actually talking to a functioning ctdb daemon.
+ So dont mark the node as CONNECTED just because the tcp handshake
+ was successful.
+ - Dont try to set the recmaster to ourself during elections for those
+ cases we know this will fail. To remove some annoying benign but scary
+ looking entries from the log.
+ - Bugfix for eventsystem for signal handling that could cause a node to
+ hang.
+* Thu Jul 17 2008 : Version 1.0.49
+ - Update the safe persistent update fix to work with unpatched samba
+ servers.
+* Thu Jul 17 2008 : Version 1.0.48
+ - Update the spec file.
+ - Do not start new user-triggered eventscripts if we are already
+ inside recovery mode.
+ - Add two new controls to start/cancel a persistent update.
+ A client such as samba can use these to tell ctdbd that it will soon
+ be writing directly to the persistent database tdb file. So if
+ samba is -9ed before it has eitehr done the persistent_store or
+ canceled the operation, ctdb knows that the persistent databases
+ 'may' be out of sync and therefore a full blown recovery is called for.
+ - Add two new options :
+ CTDB_SAMBA_SKIP_CONF_CHECK and CTDB_SAMBA_CHECK_PORTS that can be used
+ to override what checks to do when monitoring samba health.
+ We can no longer use the smbstatus, net or testparm commands to check
+ if samba or its config is healthy since these commands may block
+ indefinitely and thus can not be used in scripts.
+* Fri Jul 11 2008 : Version 1.0.47
+ - Fix a double free bug where if a user striggered (ctdb eventscript)
+ hung and while the timeout handler was being processed a new user
+ triggered eventscript was started we would free state twice.
+ - Rewrite of onnode and associated documentation.
* Thu Jul 10 2008 : Version 1.0.46
- Document both the LVS:cingle-ip-address and the REMOTE-NODE:wan-accelerator
capabilities.