1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-11 16:58:40 +03:00

1912 Commits

Author SHA1 Message Date
Michael Adam
c50a7bbf39 ctdb.init: add Default-Start to init script to enable autostart.
Michael

(This used to be ctdb commit a1a0fa6eb37b5432cc2b176e252856d37fcc4fc8)
2008-12-16 09:51:30 +11:00
Michael Adam
9d36bcb379 ctdb.init: check availability of ctdb (with ping) before calling ctdb status
Michael

(This used to be ctdb commit 0f7444966d8147cf5a742320f51fbb9909d6d42d)
2008-12-16 09:51:24 +11:00
Michael Adam
4e91103791 ctdb.init: behave correctly when calling "service ctdb stop" on stopped service
When "service ctdb stop" is called and the ctdbd is not running,
don't print the "Failed to connect to daemon" error messages.
But print a warning and exit with status success instead.

Michael

(This used to be ctdb commit fac9ad26b2239818e6fc371fbfaa894fa64045be)
2008-12-16 09:51:00 +11:00
Michael Adam
7e0fb89710 ctdb.init: fix return code of "service ctdb stop" on non-redhat systems
Michael

(This used to be ctdb commit f3cb1386e7ea99adba78350bb50bf34d6bdcfe1d)
2008-12-16 09:50:53 +11:00
Michael Adam
759ae998a4 ctdb.init: fix status message of "service ctdb stop" on suse systems
Michael

(This used to be ctdb commit 7834d9b79bf4e4d3c6ce63dd4c3a1e40b9d909e4)
2008-12-16 09:50:47 +11:00
Michael Adam
1c8a9a88e3 packaging: set docdir in calls to make (to get it right on e.g. SuSE systems).
Currently docdir = /usr/share/doc is hardcoded in the Makefile.in.
Some systems use a different doc dir (SuSE uses /usr/share/doc/packages).

And not all versions of autoconf provide the --docdir parameter
(2.61 does, while 2.59 does not). So we use the quick solution
to specify "docdir=%{_docdir}" in the make calls in the spec file.

Michael

(This used to be ctdb commit 140768ce79d8ea3af2adb3ac011b58a29a09b50e)
2008-12-16 09:50:40 +11:00
Ronnie Sahlberg
22772d9463 New version 1.0.68
(This used to be ctdb commit e50c9667b86160eb5dfb9868aff420b72f799a5f)
2008-12-12 09:39:55 +11:00
Michael Adam
1cf23b1bd7 Improve the monitor event test for ethernet interfaces (link detection).
On some systems, the ethtool link detection is not successful when a
cable is plugged but the interface has not been brought up previously.
This improves the test by bringing the interface up (without checking
for success here) and trying the ethtool test again afterwards.

Michael

(This used to be ctdb commit 0c2a7bf18c65452ca1c2f0539bf692507d91e3c6)
2008-12-12 09:19:23 +11:00
Michael Adam
54da843031 Use "grep -q" instead of "grep ... > /dev/null" in events.d/10.interfaces
This enhances readability.

Michael

(This used to be ctdb commit 9c6816e040d42d293eaf9ce41eff639135e8b2f5)
2008-12-12 09:18:30 +11:00
root
1bf3006665 update the "ctdb recover" command.
block and wait until the clustered has completed the recovery before returning.
this  makes it easier to script since it avoids the common need for
   ctdb recover
   ... complex loop to wait for recovery to complete ...
   script continues

(This used to be ctdb commit 8a0df9324a03b0f17772c64a9331236126c22124)
2008-12-10 12:06:51 +11:00
root
1209079672 add a CTDB_TIMEOUT variable for the ctdb tool.
If set this specified the maximum runtime for the ctdb tool before it will terminate with status == 20
Just like the -T ...  option would.

(This used to be ctdb commit c404d57afb2adda039e676877838927d3073df11)
2008-12-10 12:01:19 +11:00
root
58bf3804f0 make sure we return an errorcode when the ctdb command has hung and is timeodout by the -T <timeout> setting
(This used to be ctdb commit 993f626e603b9bbc02942bb55096d63b9a4f456b)
2008-12-10 11:49:51 +11:00
root
762d4be8f9 add a helper that waits until the clueter is no longe rin recovery mode and return the generation number.
change the ban/unban logic to wait until we are not in recovery before it bans/unbans the node.

also wait until after the cluster has recovered from the ban/unban before returning so that the cluster is in recpovery mode == normal when the command returns.  this makes it much easier to script things ...

(This used to be ctdb commit 39c77371a2f995025a584691fe61af12dc6ed5d7)
2008-12-09 12:03:42 +11:00
root
8241d3f9cf update to the flags handling
make sure to abort the monitoring and restart if we failed to get the nodemap from a remote node

(This used to be ctdb commit 4eac0214e732e6c2f867d66ec71d4406680dbb94)
2008-12-09 10:45:14 +11:00
root
5a2aad1af4 If ctdbd was started with the --socket option then we also set the CTDB_SOCKET variable so that the eventscripts can pick up the name proper
(This used to be ctdb commit 7b41b518c3ffebf1712445a8c6242509dc798003)
2008-12-08 17:29:17 +11:00
root
e4722f8ce4 return -1 if ctdb ping failed
(This used to be ctdb commit 691b9c0f1771afa564a5959405f2e7a54c334d45)
2008-12-08 12:57:40 +11:00
root
e54347fa4e redo and update how we synchronize flags across the cluster.
this simplifies the code and should close a race condition between the local recovery daemon and a remote node when flags are changing.

(This used to be ctdb commit 32d460b8469eb53145f04161a5d01166f9b5f09e)
2008-12-05 16:32:30 +11:00
root
bf67153402 some platforms are very picky about the third argument passed to bind().
and would complain if sa.family is AF_INET and the third argument is not exactly the size of a sockaddr_in.

We used to pass a union containing both a sockaddr_in and a sockaddr_in6  which would mean that on those platforms bind() would fail since the passed structure for AF_INET would be too big.

Thus we need to set and pass the appropriate size to bind. At the same time for thos eplatforms we can also set sin[6]_size to the expected size.
(bind() on those platforms were isurprisingly perfectly ok with sin_len was "too big")

(This used to be ctdb commit 5d3018c37179966f75183d9a98790eaaaf1d2cfc)
2008-12-05 10:33:38 +11:00
Ronnie Sahlberg
9f2de14fb8 new version 1.0.67
(This used to be ctdb commit 01633d30f764e8da42c4e5c4710b69cd379c9b39)
2008-12-04 15:25:03 +11:00
root
bc5f0cf9d5 fix an incorrect path
(This used to be ctdb commit aeb09b08e060be6f833d84ba88abfb168cc5f50e)
2008-12-04 15:03:40 +11:00
Ronnie Sahlberg
51ace76ea6 add a description of the recovery-process
(This used to be ctdb commit 194abb41e1a0036956a9401efcae8b14ed66c532)
2008-12-04 14:35:00 +11:00
Ronnie Sahlberg
539f044aa3 print the list of valid debug level literals when an invalid debug level
is specified in 'ctdb setdebug'

(This used to be ctdb commit 979e78cfd96d74686af6f55f726c395a75275803)
2008-12-02 14:08:10 +11:00
Ronnie Sahlberg
edb7241c05 redesign how reloadnodes is implemented.
modify the transport methods to allow to restart individual connections
and set up destructors properly.

only tear down/set-up tcp connections to nodes removed from the cluster
or nodes added to the cluster.
Leave tcp connections to unchanged nodes connected.

make "ctdb reloadnodes" explicitely cause a recovery of the cluster once
the files have been realoaded

(This used to be ctdb commit d1057ed6de7de9f2a64d8fa012c52647e89b515b)
2008-12-02 13:26:30 +11:00
root
7592a97d16 debuglevel is a signed int, not usnigned.
(This used to be ctdb commit e577a276900854622f4e9da9d1ccd7b484d0d1ec)
2008-11-28 11:29:43 +11:00
Ronnie Sahlberg
51cc8b4df8 make it possible to delete an ip from all nodes at once using
"ctdb delip x.x.x.x -n all"

This is not as straightforward as one might think since during the
delete process we don not want the ip to be bouncing from one node to
another as node by node deletes it.

Thus we first delete the ip from all connected nodes which are not
currently hosting it.

After this we delete the ip from the node which is hosting it.

(This used to be ctdb commit bbd46f341e9aa32d8dbd49f7a9a07cb3f1f92ea3)
2008-11-28 09:52:26 +11:00
Ronnie Sahlberg
a782bdbacd inew version 1.0.66
ddwq

(This used to be ctdb commit 499a01fece2a5f24f1b2943cf3dc6e9a3a8ca3b5)
2008-11-24 19:06:02 +11:00
Ronnie Sahlberg
1e2831898c allow to change the recmaster even the database is not frozen
(This used to be ctdb commit 03e2e436db5cfd29a56d13f5d2101e42389bfc94)
2008-11-21 16:24:12 +11:00
Ronnie Sahlberg
69932283ac remove two variables no longer used from the example sysconfig file
(This used to be ctdb commit dab594caf0bfc23c75c8cd2aa75479c7d2e79f1c)
2008-11-21 11:30:32 +11:00
Andrew Tridgell
59b6a9a9e6 fixed problem with looping ctdb recoveries
After a node failure, GPFS can get into a state where non-blocking
fcntl() locks can take a long time. This means to the ctdb set_recmode
test timing out, which leads to a recovery failure, and a new
recovery. The recovery loop can last a long time.

The fix is to consider a fcntl timeout as a success of this test. The
test is to see that we can't lock the shared reclock file, so a
timeout is fine for a success.

(This used to be ctdb commit 6579a6a2a7161214adedf0f67dce62f4a4ad1afe)
2008-11-21 10:24:13 +11:00
Andrew Tridgell
eeae32c8d2 Merge commit 'ronnie/master'
(This used to be ctdb commit fe6ddf7992ca3e72a26dbac6666e0f6270da611f)
2008-11-20 21:23:26 +11:00
Ronnie Sahlberg
331b9bdb5f dont override/change CTDB_BASE if it is already set by the shell
(This used to be ctdb commit 0a6f9326cb99f14b5c9edd0d8854d8229df49910)
2008-11-20 16:39:56 +11:00
Ronnie Sahlberg
a2a5904f66 Keepalive packets were only sent every KeepaliveInterval if the socket
had been completely idle during that interval.
If we had been sending other packets such as Messages, Calls or Controls
there wouldnt be any need for an explicit keepalive and thus we didnt
send one.

This does make it somewhat awkward when analyzing traces since it is
non-intuitive when keepalives are sent and when they are not sent.

Change the keepalive logic to always send a keepalive regardless of
whether the link is idle or not.

(This used to be ctdb commit 7a18f33ec7512100dd067c65f0470889ff8fd591)
2008-11-20 13:35:08 +11:00
Ronnie Sahlberg
94a56ea410 reqrite the handling of flag updates across the cluster to eliminate a
race between the ctdb tool and the recovery daemon both at once
trying to push flag changes across the cluster.

(This used to be ctdb commit a9a1156ea4e10483a4bf4265b8e9203f0af033aa)
2008-11-20 12:43:18 +11:00
Ronnie Sahlberg
090e5fdf5e new version 1.0.65
update the example sysconfig file. the default log level is 2, not 0

(This used to be ctdb commit 1f25958dc739677a487fa496fbeffcda7a0f2204)
2008-11-13 10:55:20 +11:00
Ronnie Sahlberg
07d35c754f add a CTDB_SOCKET variable that can be used to override the default
/tmp/ctdb.socket

(This used to be ctdb commit b75e2263c565c21ecbbd98fbd2c10787e467bf5c)
2008-11-11 14:49:30 +11:00
Ronnie Sahlberg
06728fdac9 we actually need a ctdb_db variable
(This used to be ctdb commit aba984f1b85f5a2d370b093061cf15843ee53758)
2008-11-03 21:54:52 +11:00
Ronnie Sahlberg
d7007793ea latency is measured in us, not ms
use an explicit ctdb_db variable instead of dereferencing state

(This used to be ctdb commit 8c6a02fb423a8cbcbfc706767e3d353cd48073c3)
2008-10-30 13:34:10 +11:00
Ronnie Sahlberg
e1b0cea427 add control and logging of very high latencies.
log the type of operation and the database name for all latencies higher
than a treshold

(This used to be ctdb commit 1d581dcd507e8e13d7ae085ff4d6a9f3e2aaeba5)
2008-10-30 12:49:53 +11:00
Ronnie Sahlberg
0e7fa751af new version 1.0.64
(This used to be ctdb commit 1a7ff4577d33f0dd470f7465c7d0e875c962f54e)
2008-10-22 11:06:18 +11:00
Ronnie Sahlberg
b9bd20ce55 add a context and a timed event so that once we have been in recovery
mode for too long we drop all public ip addresses

(This used to be ctdb commit 403c68f96e1380dd07217c688de2730464f77ea0)
2008-10-22 11:04:41 +11:00
Ronnie Sahlberg
fc6ed25cd5 new version 1.0.63
(This used to be ctdb commit 59a879626a6a55fb6a43cadf5338c1aa6afe96d1)
2008-10-20 09:47:54 +11:00
Ronnie Sahlberg
d265e62ee7 dont log "running periodic cleanup" ...
(This used to be ctdb commit e25ea88ea4f270ba65ed5fdacd693f1248f343c0)
2008-10-20 09:45:15 +11:00
Ronnie Sahlberg
beed899c4f null out the pointer before we reload the nodes file
(This used to be ctdb commit 4b0f32047e8bece0a052bdbe2209afe91b7e8ce3)
2008-10-17 21:38:42 +11:00
Ronnie Sahlberg
a924ef78b6 when we reload the nodes file, we may need to reload the nodes file
inside the recovery daemon as well.

(This used to be ctdb commit 82fd2b6b5cd8e988c38fa6b74121a048757bdeef)
2008-10-17 21:18:06 +11:00
Ronnie Sahlberg
5318ca64b6 make it possible to set the script log level in CTDB sysconfig
(This used to be ctdb commit 06097b88709ced09d1f9f869eed9a54e6d2fedbf)
2008-10-17 13:36:52 +11:00
Ronnie Sahlberg
ce66008e08 specify a "script log level" on the commandline to set under which log
level any/all output from eventscripts will be logged as

(This used to be ctdb commit cdc79d4f22f1a6aec5c34115969421f93663932a)
2008-10-17 07:56:12 +11:00
Ronnie Sahlberg
4a66281cb6 new version 1.0.62
(This used to be ctdb commit 49431e799ba7f7c78f596fdf896316a2e22c745e)
2008-10-16 17:59:55 +11:00
Ronnie Sahlberg
5808a7be96 allow multiple eventscripts using the same prefix.
this eases the pain for users that use out of tree eventscripts

(This used to be ctdb commit 8313dfb6fc5404cd2d065af6620412f8664ada11)
2008-10-16 17:57:50 +11:00
Andrew Tridgell
371e6aa155 Merge commit 'ronnie/master'
(This used to be ctdb commit 5403ed6dcfdfc101b05b43f83002e720d81b4e38)
2008-10-16 12:58:25 +11:00
Ronnie Sahlberg
02f6731454 new version 1.0.61
(This used to be ctdb commit 0098efd4443038f2d902e3a7c3640e63f06be7d1)
2008-10-15 16:40:44 +11:00