1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-01 04:58:35 +03:00

478 Commits

Author SHA1 Message Date
Martin Schwenke
d741559fa6 Add some simple tests that can be run from within the tree.
Signed-off-by: Martin Schwenke <martin@meltin.net>

(This used to be ctdb commit eacb2ef82ea4809d874158756db973dd1e3fc8fc)
2008-11-20 20:40:01 +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
Andrew Tridgell
371e6aa155 Merge commit 'ronnie/master'
(This used to be ctdb commit 5403ed6dcfdfc101b05b43f83002e720d81b4e38)
2008-10-16 12:58:25 +11:00
Ronnie Sahlberg
6e490e8cce verify that the nodes we try to ban/unban are operational and print an
error to the user othervise.

(This used to be ctdb commit 5747dd2d80af29d6252afb6aeb3e66328ee20de5)
2008-10-15 01:23:57 +11:00
Ronnie Sahlberg
6dbeb91e03 From Mathieu Parent
patch to make debian systems log the package versions in
ctdb_diagnostics

(This used to be ctdb commit 07dd4c7d2e8ba10f53d4cf2644fc4b7b8647e286)
2008-10-13 08:21:20 +11:00
Andrew Tridgell
c5edaf7a6e added some more gpfs commands per-filesystem
(This used to be ctdb commit a5d5aa455c7f7eb93d3fa6f403d5b8e0b795109d)
2008-10-09 18:45:12 +11:00
Ronnie Sahlberg
156662e257 Check that a database exists first before we dump its content (and
implicitely also create it) using 'ctdb catdb'

(This used to be ctdb commit 647003da975d4823abe8ed2bfb46153d68ea0fb0)
2008-09-23 01:38:28 +10:00
Andrew Tridgell
6cf004e98f expanded ctdb_diagnostics based on recent experience
(This used to be ctdb commit a06abf6bff6c4d379453e5063d8de1a6542c982a)
2008-09-17 21:00:04 +10:00
Martin Schwenke
8b19b74325 onnode changes. "ok" is an alias for "healthy", "con" is an alias for
"connected".  Allow "rm" or "recmaster" to be a nodespec for the
recovery master. Better error handling for interaction with ctdb
client.

Signed-off-by: Martin Schwenke <martin@meltin.net>

(This used to be ctdb commit 1d5d13345086201fe55517aea5f8674ff3db1090)
2008-09-12 18:22:29 +10:00
Martin Schwenke
3510fb4cec Merge commit 'origin/master' into for-ronnie
(This used to be ctdb commit 2b70953cd51e879dc1fa113d68c6614051da5260)
2008-09-12 18:21:51 +10:00
Ronnie Sahlberg
54ffdfd50a i add a new ctdb command "ctdb recmaster"
this shows the node id of hte current recmaster

(This used to be ctdb commit 3ff0711fd3b288c153218ad33e8462a94b8d3275)
2008-09-12 12:06:53 +10:00
Martin Schwenke
6c5b9d6e69 Changes to onnode. Add "healthy" and "connected" as possible
nodespecs.  Since we're now explicitly using bash, use local variables
when sensible.

Signed-off-by: Martin Schwenke <martin@meltin.net>

(This used to be ctdb commit d1aa7953450de6ae215589404fb19e05edd3906f)
2008-09-12 11:26:32 +10:00
Martin Schwenke
c1b622f359 Merge commit 'origin/master' into for-ronnie
(This used to be ctdb commit 666c3835376cd6b66aeaa110c76ecf052cd71a0a)
2008-09-12 11:26:25 +10:00
Ronnie Sahlberg
d83fc7e389 when we collect all ip addresses and sort them for the "ctdb ip -n all" output we must look at more than just the first 4 bytes of the sockaddr address or ipv6 wont work
(This used to be ctdb commit 4dfbfb4618433d9ed79ca1bdb1e2e51d96d4ee62)
2008-08-22 09:09:08 +10:00
Ronnie Sahlberg
ef997d344f initial ipv6 patch
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>

(This used to be ctdb commit 1f131f21386f428bbbbb29098d56c2f64596583b)
2008-08-19 14:58:29 +10:00
Ronnie Sahlberg
ed6ca6a84d use a local tdb_traverse instead of a ctdb_pulldb to lessen the impact of the system while performing a database backup
(This used to be ctdb commit 48fad9c06185a1f2580473cac02b3722e35c2023)
2008-08-14 10:57:08 +10:00
Ronnie Sahlberg
d793154dbb only freeze the local node when doing a backup and not the entire cluster
(This used to be ctdb commit ff413beb4bb31e277e843235a1ce5e5ad7b92c71)
2008-08-14 09:52:23 +10:00
Ronnie Sahlberg
748cf6f274 store the database name, not the backup filename in the database header
(This used to be ctdb commit 0674b33a7492cc1a194833f5ca87d8b30457faee)
2008-08-14 08:36:39 +10:00
Ronnie Sahlberg
6f5ee6b5cc Encode a file version number in the database backup header
Encode the database name in the header so we dont need to provide the database
name when doing a restore
Encode a timestamp in the header telling us when the backup was created

(This used to be ctdb commit 77762170ad1dbc4620565bb898af5d493fac117d)
2008-08-14 08:35:19 +10:00
Ronnie Sahlberg
65ae40d4a9 Add two new ctdb commands :
ctdb backupdb : which will copy a database out from ctdb and write it to a file
ctdb restoredb : which will read a database backup from a file and write it into ctdb

(This used to be ctdb commit b567e215f5c58d646a392408b9cc1df8ef029b33)
2008-08-13 22:03:29 +10:00
Ronnie Sahlberg
b9d8bb23af remove the reclock file we store pnn counts in.
This file creates additional locking stress on the backend filesystem and we may not need it anyway.

(This used to be ctdb commit 84236e03e40bcf46fa634d106903277c149a734f)
2008-08-06 11:52:26 +10:00
Andrew Tridgell
abe0232818 rename the structure we use for marshalling multiple records
(This used to be ctdb commit 4d205476d286570a6e1f52b59af42858ce051106)
2008-07-30 14:24:56 +10:00
Andrew Tridgell
3fa8aaa4e2 fixed up exit status for onnode
(This used to be ctdb commit c26afe26cc5c1f9cd9eef74166b5fc39dde591d3)
2008-07-14 09:19:22 +10:00
Martin Schwenke
1c811b3dc6 Signed-off-by: Martin Schwenke <martin@meltin.net>
Minor fix to tools/onnode usage message.

(This used to be ctdb commit a09864519d04f1e6a7ba498a795b6390183902a8)
2008-07-11 14:58:11 +10:00
Martin Schwenke
2ab904a37c Signed-off-by: Martin Schwenke <martin@meltin.net>
In tools/onnode, remove reference to -t option in usage message.

(This used to be ctdb commit 082dd600ef25431efbf087ebf1957fbfd61cf104)
2008-07-11 12:54:33 +10:00
Martin Schwenke
a92de86c2f When in verbose mode with -p, each line is prefixed with the node
address/name.  To implement this stderr has redirected to stdout -
this doesn't need to be done but is the simplest implementation.
Remove -t option since it doesn't seem to accomplish much but causes
spurious messages to be displayed by ssh.  Add explicit -h and --help
options.  Make style of usage message consistent with documentation.
Document new features in doc/onnode.1.xml.

(This used to be ctdb commit dfaf2c1581e547df831b3171ad47acd27b4ca2af)
2008-07-10 15:41:11 +10:00
Martin Schwenke
db55b91317 Complete rewrite of tools/onnode. Remove old tools/onnode.ssh,
tools/onnode.rsh.

(This used to be ctdb commit 2cc9aba3d7e608eccc29c897f710b69f30653bbf)
2008-07-10 15:39:30 +10:00
Ronnie Sahlberg
efd840276b Add three mode commands to the CTDB tool.
lvs: which shows which nodes are active LVS servers
lvsmaster: which shows which node is the lvs master multiplex node
pnn: which prints the pnn of the local node

(This used to be ctdb commit 00025eef662b867293829228c681df491cd6f371)
2008-07-10 11:12:58 +10:00
Ronnie Sahlberg
ab8535eaa5 make LVS a capability so that we can see which nodes are configured with
LVS and which are not using LVS.

"ctdb getcapabilities"

(This used to be ctdb commit 172d01fb34f032e098b1c77a7b0f17bf11301640)
2008-07-10 10:37:22 +10:00
Ronnie Sahlberg
ef769e7237 track both when we last started and ended a recovery.
make ctdb uptime print how long the recovery took

in the recovery daemon when we check that the public ip address
allocation on the local node is correct (we have the ips we should have
and we dont have any we shouldnt have) use ctdb uptime and check the
recovery start/stop times and make sure we dont check for ip allocation
inconsistencies during a recovery  where the ip address allocation is in flux.

(This used to be ctdb commit f86551580349b7f662f9a07e4eb0c1189e38e429)
2008-07-02 13:55:59 +10:00
Ronnie Sahlberg
4b6b094860 add a callback for failed nodes to the async control helper.
this callback is called for every node where the control failed (or timed out)

when we issue the start recovery control from recovery master,
set any node that fails as a culprit   so it will eventually be banned

(This used to be ctdb commit 72f89bac13cbe8c3ca3e7a942469cd2ff25abba2)
2008-06-12 16:53:36 +10:00
Ronnie Sahlberg
d8433cacb2 first cut to convert takeover_callback_state{}
to use ctdb_sock_addr instead of sockaddr_in

(This used to be ctdb commit 5444ebd0815e335a75ef4857546e23f490a22338)
2008-06-04 17:12:57 +10:00
Ronnie Sahlberg
7d39ac131b convert handling of gratious arps and their controls and helpers to
use the ctdb_sock_addr structure so tehy work for both ipv4 and ipv6

(This used to be ctdb commit 86d6f53512d358ff68b58dac737ffa7576c3cce6)
2008-06-04 15:13:00 +10:00
Ronnie Sahlberg
1c88f422d5 add a parameter for the tdb-flags to the client function
ctdb_attach()   so that we can pass TDB_NOSYNC when we attach to
a persistent database and want fast unsafe writes instead of
slow but safe tdb_transaction writes.

enhance the ctdb_persistent test suite to test both safe and unsafe writes

(This used to be ctdb commit 4948574f5a290434f3edd0c052cf13f3645deec4)
2008-06-04 10:46:20 +10:00
Ronnie Sahlberg
2d06861247 debugleves can now be negative so print their value using %d instead of %u
(This used to be ctdb commit f0b55adae450cac3cf925e111e1dc9628cff4525)
2008-05-29 08:19:35 +10:00
Ronnie Sahlberg
ceaf488f05 do persistent writes in a child process
(This used to be ctdb commit 2da3d1f876f5d654f849af8a3e588f5a61300c3d)
2008-05-28 13:04:25 +10:00
Ronnie Sahlberg
9da30f488d add "machinereadable output" support to "ctdb getmonmode"
(This used to be ctdb commit 9aa09aee618fa71787c5d0e7c885e83f4d82236c)
2008-05-16 09:21:44 +10:00
Ronnie Sahlberg
909ff219e0 Start implementing support for ipv6.
This enhances the framework for sending tcp tickles to be able to send ipv6 tickles as well.

Since we can not use one single RAW socket to send both handcrafted ipv4 and ipv6 packets, instead of always opening TWO sockets, one ipv4 and one ipv6 we get rid of the helper ctdb_sys_open_sending_socket() and just open (and close)  a raw socket of the appropriate type inside ctdb_sys_send_tcp().
We know which type of socket v4/v6 to use based on the sin_family of the destination address.

Since ctdb_sys_send_tcp() opens its own socket  we no longer nede to pass a socket
descriptor as a parameter.  Get rid of this redundant parameter and fixup all callers.

(This used to be ctdb commit 406a2a1e364cf71eb15e5aeec3b87c62f825da92)
2008-05-14 15:47:47 +10:00
Ronnie Sahlberg
123d0b3b1e fix merge corruption
(This used to be ctdb commit 17b1e3b2d72c453a0b2f5a783c28f9dd17334620)
2008-05-08 19:52:27 +10:00
Andrew Tridgell
e8a62cdca4 Merge branch 'master' of git://git.samba.org/sahlberg/ctdb
(This used to be ctdb commit cb2c05d5d3f8908eecdad1ae6a1dc8efa1ffcb1e)
2008-05-08 16:58:34 +10:00
Ronnie Sahlberg
92b61cd7d5 Expand the client async framework so that it can take a callback function.
This allows us to use the async framework also for controls that return
outdata.

Add a "capabilities" field to the ctdb_node structure. This field is
only initialized and kept valid inside the recovery daemon context and not
inside the main ctdb daemon.

change the GET_CAPABILITIES control to return the capabilities in outdata instead of in the res return variable.

When performing a recovery inside the recovery daemon, read the capabilities from all connected nodes and update the ctdb->nodes list of nodes.
when building the new vnnmap after the database rebuild in recovery, do not include any nodes which lack the LMASTER capability in the new vnnmap.
Unless there are no available connected node that sports the LMASTER capability in which case we let the local node (recmaster) take on the lmaster role temporarily (i.e. become a member of the vnnmap list)

(This used to be ctdb commit 0f1883c69c689b28b0c04148774840b2c4081df6)
2008-05-06 15:42:59 +10:00
Ronnie Sahlberg
a9c45f9513 Add a capabilities field to the ctdb structure
Define two capabilities :
can be recmaster
can be lmaster
Default both capabilities to YES

Update the ctdb tool to read capabilities off a node

(This used to be ctdb commit 50f1255ea9ed15bb8fa11cf838b29afa77e857fd)
2008-05-06 10:02:27 +10:00
Ronnie Sahlberg
6fd1c60741 when deleting a public ip from a node that is currently hosting this ip, try to move the ip address to a different node first
(This used to be ctdb commit 9395a05de669c69396e701fb36409ec49d3ebef6)
2008-04-24 21:51:08 +10:00
Ronnie Sahlberg
60583c70bc when adding a new public ip address to a running node using the 'ctdb addip' command,
If no other node is hosting this public ip at the moment, then assign it immediately to the current node.

(This used to be ctdb commit a63825e32658b36e0964584758b9a276c18056b8)
2008-04-23 21:05:36 +10:00
Ronnie Sahlberg
b1b8aeb414 make ctdb eventrscipt accept the -n all argument to run the event script on all connected nodes
(This used to be ctdb commit 772052e071718f20a19d24d5e06a5a2ef87549f2)
2008-04-22 22:23:57 +02:00
Ronnie Sahlberg
bb237ab5ec add support for -n all in "ctdb -n all ip"
this collects all public addresses from all nodes and presents the public ips
for the entire cluster

(This used to be ctdb commit cbf79b2158ab21a58aef967e89f0bd60890a7972)
2008-04-22 22:18:54 +02:00
Ronnie Sahlberg
a6cbe34c62 add support for -n all in "ctdb -n all ip"
this collects all public addresses from all nodes and presents the public ips
for the entire cluster

(This used to be ctdb commit 0a4e667f42c6fb23be13651f7b0d0a545a49900b)
2008-04-23 00:55:57 +10:00
Ronnie Sahlberg
f153a45e56 make ctdb eventrscipt accept the -n all argument to run the event script on all connected nodes
(This used to be ctdb commit 3fad7d67f2c66ac3a65cfd821fd6db6342f4a3f0)
2008-04-15 18:24:48 +10:00
Ronnie Sahlberg
416409d31b add a ctdb command to print the ctdb version
(This used to be ctdb commit 401fb01f8cb06886e2c5c277a9a70512a9b68579)
2008-04-03 17:07:00 +11:00
Ronnie Sahlberg
d6736b3720 we allocated one byte too little in the blob we need to send as the control to the server.
(This used to be ctdb commit 10e585413c217d9b9c32ff3d2fb3d8f24183c458)
2008-04-03 16:35:23 +11:00