Commit Graph

178 Commits

Author SHA1 Message Date
Thomas Schoebel-Theuer
c7fa35ae5f marsadm: fix delete-file --force 2014-02-03 15:07:44 +01:00
Thomas Schoebel-Theuer
ab1723f306 marsadm: fix lamport warning when mars.ko is not loaded 2014-02-03 15:07:44 +01:00
Thomas Schoebel-Theuer
059abe866b marsadm: fix lamport timestamp substitute when mars.ko is unloaded 2014-02-03 15:07:44 +01:00
Thomas Schoebel-Theuer
202afe0fc4 marsadm: fix spelling 2014-02-03 15:07:44 +01:00
Thomas Schoebel-Theuer
49c13052f7 marsadm: try to avoid split brain on primary switching 2014-02-03 15:07:43 +01:00
Thomas Schoebel-Theuer
2b71a212de marsadm: use stderr for errors and warnings 2014-02-03 15:06:36 +01:00
Thomas Schoebel-Theuer
f9ea0132f3 marsadm: 'primary' denies waiting for device during split brain 2014-02-03 15:06:36 +01:00
Thomas Schoebel-Theuer
d5e3b4e1f1 marsadm: fix split brain detection 2014-02-03 15:06:36 +01:00
Thomas Schoebel-Theuer
07bd8db714 marsadm: fix call of localtime() in old perl versions 2014-02-03 15:06:35 +01:00
Thomas Schoebel-Theuer
7ad628a725 light: create detailed warn message in userspace 2014-02-03 15:06:34 +01:00
Thomas Schoebel-Theuer
6755b8e4b8 marsadm: remove superfluous _get_former_primary()
This cannot work in case of split brain.
Therefore, some primary must be designated always explicitly.
2014-02-03 15:06:34 +01:00
Thomas Schoebel-Theuer
adf79307af marsadm: skip sequence number check on every jump 2014-02-03 15:06:34 +01:00
Thomas Schoebel-Theuer
a144e5f93b marsadm: always update timestamp of primary symlink 2014-02-03 15:06:34 +01:00
Thomas Schoebel-Theuer
afbf794e1a marsadm: fix version links in 'invalidate' 2014-02-03 15:06:34 +01:00
Thomas Schoebel-Theuer
3b757354c3 marsadm: fix faking new versionlink on join-resource 2014-02-03 15:06:34 +01:00
Thomas Schoebel-Theuer
a3c429fdd1 marsadm: remove all version links at leave-resource 2014-02-03 15:06:34 +01:00
Thomas Schoebel-Theuer
860ec8d37a marsadm: reject join-resource if no primary is designated 2014-01-23 11:56:36 +01:00
Thomas Schoebel-Theuer
7fff95b560 marsadm: better error message at failed 'invalidate' 2014-01-23 11:56:35 +01:00
Thomas Schoebel-Theuer
a26198d97e marsadm: wait for devices to {dis,}appear even on {prim,second}ary --force 2014-01-23 11:56:35 +01:00
Thomas Schoebel-Theuer
767bb03060 marsadm: allow overrides of "marsadm secondary" in disconnected clusters
When the communication is down in partitioned clusters, the command
"marsadm seconodary" would normally use the current timestamp of
the command execution for the Lamport update protocol.

Make an exception for the case that a concurrent "marsadm primary"
was given somewhere else on a disconnected / partitioned node: let
the "primary" always win over a "secondary" command.
2014-01-23 11:56:35 +01:00
Thomas Schoebel-Theuer
c861a0d202 marsadm: disallow 'primary --force' in connected state
DRBD does not allow to deliberately provoke a SPLIT BRAIN
in connected state.

Thus MARS Light cannot be required to support such silly things
in any way.
2014-01-23 11:56:35 +01:00
Thomas Schoebel-Theuer
c84caa6bf4 marsadm: print warnings when SPLIT BRAIN is detected 2014-01-23 11:56:35 +01:00
Thomas Schoebel-Theuer
4c94d82caa marsadm: early abort is-device-on when not designated primary 2014-01-23 11:56:35 +01:00
Thomas Schoebel-Theuer
6798580065 marsadm: do resource checks only once per command 2014-01-23 11:56:35 +01:00
Thomas Schoebel-Theuer
da3652bba9 marsadm: reject invalidate earlier when no primary is designated 2014-01-23 11:56:35 +01:00
Thomas Schoebel-Theuer
561bf67a55 marsadm: wait for deletions after leave-resource 2014-01-23 11:56:35 +01:00
Thomas Schoebel-Theuer
216ecbffde marsadm: prevent mutual overwrite of delete symlinks
Add an (unused) host context. Previously, concurrent
log-delete operations triggered by cron could lead to
unnecessary loss of deletetion symlinks.
2014-01-23 11:56:35 +01:00
Thomas Schoebel-Theuer
c379a5e88f marsadm: remove superfluous connect links 2014-01-23 11:56:35 +01:00
Frank Liepold
02558d5ab0 marsadm: correct message
Signed-off-by: Thomas Schoebel-Theuer <tst@1und1.de>
2013-10-22 09:40:06 +02:00
Frank Liepold
5766d22e6b marsadm: invalidate does not delete logfiles or version links anymore
Signed-off-by: Thomas Schoebel-Theuer <tst@1und1.de>
2013-10-22 09:40:06 +02:00
Frank Liepold
83361f0745 marsadm: leave-resource removes logfiles and version links of the resource
Signed-off-by: Thomas Schoebel-Theuer <tst@1und1.de>
2013-10-22 09:40:06 +02:00
Thomas Schoebel-Theuer
94e1ac2ad0 all: remove internal URLs 2013-08-02 11:45:21 +02:00
Frank Liepold
820708e712 marsadm: command down includes disconnect
Fixes the following bug:
marsadm down does not disconnect the resource.
2013-07-29 16:30:10 +02:00
Frank Liepold
e3db28c4d7 marsadm: correct wrong condition for checking exclusive access
The fixed bug was introduced in commit:

marsadm: 'create-resource' --force no longer checks for exclusive access
2013-07-25 09:12:46 +02:00
Frank Liepold
2e441d0d11 marsadm: use lamport clock as mtime of symbolic links
Fixes the following bug:
Symbolic links which are created in userspace get the current time
as mtime.
2013-07-25 08:42:27 +02:00
Thomas Schoebel-Theuer
0d8d637dee marsadm: 'create-resource' --force no longer checks for exclusive access 2013-07-22 08:44:03 +02:00
Frank Liepold
08d4f863ff marsadm: command secondary must not change primary link if executed on a secondary
Fixes the bug, that marsadm secondary sets the link <resource_dir>/primary
to (none) even if executed on a secondary host.
2013-07-22 08:44:03 +02:00
Thomas Schoebel-Theuer
ddf28af52d marsadm: fix 'invalidate' racing against replay 2013-07-22 08:44:03 +02:00
Thomas Schoebel-Theuer
295b0f4ada marsadm: relax precondition for create-resource 2013-07-04 07:21:01 +02:00
Thomas Schoebel-Theuer
e0d980223b marsadm: wait-cluster has-device waits for actual device appearance 2013-07-04 07:21:01 +02:00
Thomas Schoebel-Theuer
269c53d565 marsadm: make 'wait-connect' an alias to 'wait-resource' 2013-07-04 07:21:00 +02:00
Thomas Schoebel-Theuer
228a464c8a marsadm: mark "verify" as forbidden
It would be dangerous since DRBD semantics are not implemented.
2013-07-04 07:21:00 +02:00
Thomas Schoebel-Theuer
45f462026f marsadm: fix leave-resource cleanup
Now the sequence leave-resource ; join-resource should work.

When the last member of the resource has gone and create-resource is
tried anew, there is a new saftey measure: the old resource directory
is left over deliberately, thus the new create-resource will deny creation
because some unreachable cluster node may have existed, such that we
didn't even know of its resource membership. This very special
case requires --force and some handwork cleanup.
2013-07-04 07:21:00 +02:00
Frank Liepold
62b016d4cc marsadm: set syncstatus link on primary after marsadm resize 2013-07-04 07:21:00 +02:00
Daniel Hermann
e0ed98eb14 marsadm: secondary waits until device has disappeared
Signed-off-by: Thomas Schoebel-Theuer <tst@1und1.de>
2013-06-29 21:15:17 +02:00
Thomas Schoebel-Theuer
fd39137cc9 marsadm: 'secondary' waits until device has disappeared 2013-06-20 15:08:28 +02:00
Thomas Schoebel-Theuer
15c76e9ffb marsadm: check block device for exclusive access in {create,join}-resource 2013-06-20 15:08:28 +02:00
Thomas Schoebel-Theuer
84bb63ccc8 marsadm: remove potentially dangerous internal _create_cluster() call 2013-06-20 15:08:28 +02:00
Thomas Schoebel-Theuer
eec86bf1af marsadm: create initial versionlink upon create-resource 2013-06-20 15:08:28 +02:00
Thomas Schoebel-Theuer
e7edf0020e marsadm: workaround race between create-resource and join-resource 2013-06-20 15:08:28 +02:00