Thomas Schoebel-Theuer
df596cb24e
marsadm: report communication status
2015-03-09 09:53:05 +01:00
Thomas Schoebel-Theuer
f9125d33a7
marsadm: safeguard uuid at join-cluster
2015-03-09 09:53:05 +01:00
Thomas Schoebel-Theuer
8a269b2412
marsadm: safeguard missing UUID
2015-03-06 11:44:39 +01:00
Thomas Schoebel-Theuer
b3470e039a
marsadm: fix --force in detach
2015-03-05 08:34:00 +01:00
Thomas Schoebel-Theuer
7e7e0ee11b
marsadm: fix --host= for non-existing remote devices
2015-03-03 19:00:03 +01:00
Thomas Schoebel-Theuer
656231f658
doc: checkin new manpage
2015-02-27 11:32:58 +01:00
Thomas Schoebel-Theuer
65a44501ee
doc: create manpage automatically from marsadm --help
2015-02-27 11:32:57 +01:00
Thomas Schoebel-Theuer
5cb85aa0bd
doc: feedback from Cyril Bitterich
2015-02-27 11:32:57 +01:00
Thomas Schoebel-Theuer
96404b89c3
marsadm: unify terms in usage
2015-02-27 11:32:57 +01:00
Thomas Schoebel-Theuer
a25801b2e4
marsadm: usage for MARS-specific commands
2015-02-27 11:32:57 +01:00
Thomas Schoebel-Theuer
37199931c5
marsadm: verbose usage for DRBD-like commands
2015-02-27 11:32:57 +01:00
Thomas Schoebel-Theuer
a1dbe268c2
marsadm: view warns if module is not loaded
2015-02-27 11:32:57 +01:00
Thomas Schoebel-Theuer
d40f0d42e3
marsadm: fix {get,set}*
2015-02-27 11:32:57 +01:00
Thomas Schoebel-Theuer
ede65cc694
marsadm: preserve flushing order of filehandles
...
This ensures that warnings appear at the right place when one
does not use a redirection like 2>&1 at the commandline.
2015-02-27 11:32:57 +01:00
Thomas Schoebel-Theuer
857c7a6cff
marsadm: clarify timestamps via macros p3
2015-02-24 15:51:28 +01:00
Thomas Schoebel-Theuer
614d634e6e
marsadm: clarify timestamps via macros p2
2015-02-24 15:51:28 +01:00
Thomas Schoebel-Theuer
cbdb07d057
marsadm: clarify timestamps via macros p1
2015-02-24 15:51:28 +01:00
Thomas Schoebel-Theuer
d2889b812d
marsadm: fix unnecessary refusal of primary switching
2015-02-24 15:51:28 +01:00
Thomas Schoebel-Theuer
4f8647e3cf
marsadm: fix silly join-cluster with itself
2015-02-24 15:51:27 +01:00
Thomas Schoebel-Theuer
2abd209a10
marsadm: cleanup left-over .deleted symlinks
2015-02-24 15:51:27 +01:00
Thomas Schoebel-Theuer
f2fdd87d67
marsadm: fix leave-cluster
2015-02-24 15:51:27 +01:00
Thomas Schoebel-Theuer
1012865854
marsadm: fix bad check
2015-02-24 15:51:27 +01:00
Thomas Schoebel-Theuer
62ce5c0a3b
marsadm: fix macro parsing
2015-02-24 15:51:27 +01:00
Thomas Schoebel-Theuer
51e469e756
marsadm: disallow resume-sync during emergency mode
2015-02-24 15:51:27 +01:00
Thomas Schoebel-Theuer
75186d0253
marsadm: fix predicate is-consistent
2015-02-24 15:51:27 +01:00
Thomas Schoebel-Theuer
9cf7e7d974
doc: clarify man page
2015-01-22 11:45:50 +01:00
Thomas Schoebel-Theuer
3b6578f0f3
marsadm: clarify usage, refer to mars-manual.pdf
2015-01-20 15:20:11 +01:00
Thomas Schoebel-Theuer
c8e224879a
marsadm: report verbose error codes
2015-01-20 15:20:11 +01:00
Thomas Schoebel-Theuer
a0ab6b7a1b
marsadm: fix emergency-mode cleanup on invalidate
2015-01-20 15:20:11 +01:00
Thomas Schoebel-Theuer
8c1aad84e2
marsadm: fix local space occupation at leave-resource
2015-01-20 15:20:11 +01:00
Thomas Schoebel-Theuer
747d8cd0e0
infra: add new udev rules
2014-12-09 14:31:42 +01:00
Thomas Schoebel-Theuer
61524e1582
marsadm: clarify diskstate at primary
2014-12-07 09:24:18 +01:00
Thomas Schoebel-Theuer
e4608e94e7
marsadm: warn when invalidate will likely not work
2014-12-07 09:24:18 +01:00
Thomas Schoebel-Theuer
c304fb260a
marsadm: clarify some warnings
2014-12-07 09:24:18 +01:00
Thomas Schoebel-Theuer
243ab47220
marsadm: fix die on split brain detection
2014-12-07 09:24:17 +01:00
Thomas Schoebel-Theuer
2a3bdbf796
marsadm: fix macro for emergency mode
2014-12-07 09:24:17 +01:00
Thomas Schoebel-Theuer
753bcff8a8
marsadm: fix split brain prevention by waiting on cluster
2014-12-07 09:24:17 +01:00
Thomas Schoebel-Theuer
ffa0824e32
marsadm: fix race in invalidate
2014-12-07 09:24:17 +01:00
Thomas Schoebel-Theuer
eeb5369bbe
marsadm: silence warning on actsize
2014-12-07 09:24:17 +01:00
Thomas Schoebel-Theuer
fac2d7610b
marsadm: silence deprecated warning in -1and1 macros
2014-12-07 09:24:17 +01:00
Thomas Schoebel-Theuer
64ba0e6d69
marsadm: fix race in fake-sync
2014-12-07 09:24:17 +01:00
Thomas Schoebel-Theuer
40dc8af7f9
marsadm: fix handover hang when primary is known
2014-12-07 09:24:17 +01:00
Manuel Lausch
15b15d4ac1
marsadm: fix regex for number parsing
2014-12-07 09:24:16 +01:00
Thomas Schoebel-Theuer
ce48d7031c
all: fix hang of NotYetPrimary in lower emergency modes
2014-12-07 09:24:16 +01:00
Thomas Schoebel-Theuer
7366cb9dad
light: fix leave-cluster communication
2014-12-07 09:24:16 +01:00
Thomas Schoebel-Theuer
aa09d7df30
all: clarify license GPLv2+
2014-11-25 18:09:17 +01:00
Benjamin Kübler
bab6b76bec
marsadm: silence log-rotate and log-delete-all by default
2014-11-12 16:27:08 +01:00
Thomas Schoebel-Theuer
ee2f544994
marsadm: start 'primary' handover after fetch has completed
2014-11-12 09:01:34 +01:00
Thomas Schoebel-Theuer
04c8985961
marsadm: fix split brain prevention on handover
2014-11-12 09:01:34 +01:00
Thomas Schoebel-Theuer
9ad2664d3c
marsadm: fix forgotten unlinks in {invalidate,leave-resource}
2014-11-12 09:01:34 +01:00
Thomas Schoebel-Theuer
1b4805464a
marsadm: workaround concept bug in _get_actual_primary(), deprecate it
...
The conceptual bug was leading to systematic false-positive failures in the
old test_suite. These failures were depeding on the _names_ of the
involved hosts: just run it on a pair of differently named hosts
following different naming conventions, and 50 out of 90 testcases
were failing false-positively.
2014-11-12 09:01:34 +01:00
Thomas Schoebel-Theuer
743e81a541
marsadm: fix incomplete syslog messaging
2014-11-12 09:01:34 +01:00
Thomas Schoebel-Theuer
34ea0c53f3
marsadm: fix sync check
2014-11-12 09:01:34 +01:00
Thomas Schoebel-Theuer
c2a17bd641
marsadm: fix wait-cluster condition
2014-11-12 09:01:34 +01:00
Thomas Schoebel-Theuer
b381837fb7
marsadm: disallow ill-formed cmdline options for safety
2014-11-12 09:01:34 +01:00
Thomas Schoebel-Theuer
04dadb50ef
marsadm: fix leave-cluster
2014-09-04 09:15:27 +02:00
Thomas Schoebel-Theuer
2f9786ee8b
marsadm: add 'C' flag
2014-08-30 08:24:49 +02:00
Thomas Schoebel-Theuer
70d29ed509
marsadm: fix invalidate when loaded during split-brain
2014-08-30 08:24:48 +02:00
Thomas Schoebel-Theuer
11e6e33764
marsadm: fix hang in wait-umount at split brain
2014-08-29 10:28:02 +02:00
Thomas Schoebel-Theuer
438e5ff0a4
marsadm: fix is-consistent for secondaries
2014-08-27 15:47:31 +02:00
Thomas Schoebel-Theuer
71768cc002
marsadm: always create predecessor versionlink upon create-resource
2014-08-18 10:33:08 +02:00
Thomas Schoebel-Theuer
b749ed561c
userspace: add bugfix for Debian udev rules
...
Patch received from Jörg Mann by email.
Some Debian versions seem to have typos in their udev rules.
As a consequence, /dev/mars/mydata does not disappear when
leaving primary state.
Other consequences might also exist. In an unreproduced case the
/dev/mars/ object was unlinked while the mount was continuously
active, without causing any harm to operations (besides that
xfs_growfs did not work, which led to the discovery of the
mysterious situation).
Probably the udev userspace may require further fixes.
Fortunately, udev-less systems (as those used by me for testing) are
not affected.
2014-03-31 06:59:10 +02:00
Thomas Schoebel-Theuer
9799fe5417
marsadm: fix usage
2014-03-31 06:59:10 +02:00
Thomas Schoebel-Theuer
36081e51d8
marsadm: show IP only with --verbose
2014-03-31 06:59:10 +02:00
Thomas Schoebel-Theuer
6050b4157f
infra: make string allocation fully dynamic
2014-03-26 11:43:05 +01:00
Thomas Schoebel-Theuer
5371c87f4e
marsadm: disable file-based warnings by default
2014-03-20 07:55:23 +01:00
Thomas Schoebel-Theuer
8bd0564564
marsadm: implement new 'view' command
2014-03-19 17:49:40 +01:00
Thomas Schoebel-Theuer
15a9d20fff
marsadm: prefer 'fetch' over 'connect'
2014-03-19 17:49:40 +01:00
Thomas Schoebel-Theuer
084e56bc96
marsadm: new get-link
2014-03-19 17:49:40 +01:00
Thomas Schoebel-Theuer
2fc05b5373
light: allow limiting the sync parallelism
2014-03-19 17:49:40 +01:00
Thomas Schoebel-Theuer
11bc9f2e91
marsadm: path correction / systematic naming conventions
2014-03-19 17:49:40 +01:00
Thomas Schoebel-Theuer
0edca689bf
marsadm: allow omission of nanoseconds
2014-03-19 17:49:39 +01:00
Thomas Schoebel-Theuer
9340f70c36
light: add info symlinks
2014-03-19 17:49:39 +01:00
Thomas Schoebel-Theuer
2ce5e2aad7
light: add per-resource emergency mode
2014-03-19 17:49:39 +01:00
Thomas Schoebel-Theuer
e0a123e827
marsadm: move global variables
2014-03-19 11:44:57 +01:00
Thomas Schoebel-Theuer
1cb78bae47
marsadm: fix warning
2014-03-19 11:30:24 +01:00
Thomas Schoebel-Theuer
a43181a84f
marsadm: fix split brain detection
2014-03-19 11:30:24 +01:00
Thomas Schoebel-Theuer
1715b4fd40
marsadm: fix recursion depth of _get_common_ancestor()
2014-03-19 11:30:24 +01:00
Thomas Schoebel-Theuer
0d5349b2ca
marsadm: fix transitive closure for log_purge_res()
2014-03-19 11:30:24 +01:00
Thomas Schoebel-Theuer
2ec9800d54
marsadm: fix leave-resource
2014-03-19 11:30:24 +01:00
Thomas Schoebel-Theuer
a16875fcfe
marsadm: prevent only _new_ split brains
2014-03-19 11:30:24 +01:00
Thomas Schoebel-Theuer
e78d0a3078
light: fix peer preferences, use connect-* links
2014-03-19 11:30:24 +01:00
Thomas Schoebel-Theuer
223467f37f
marsadm: disallow intended primary switch when secondaries are syncing
2014-03-19 11:30:24 +01:00
Thomas Schoebel-Theuer
59cce71e2d
marsadm: fix fake_versionlink()
...
Always fake two versionslinks instead of one.
2014-03-19 11:30:24 +01:00
Thomas Schoebel-Theuer
528b72b0c0
light: fix potential race on deletions
2014-03-19 11:30:23 +01:00
Thomas Schoebel-Theuer
3e9aae53c8
all: fix potential buffer overflows, use vscnprintf()
2014-03-19 11:30:23 +01:00
Thomas Schoebel-Theuer
dc535711c8
marsadm: fix leave-resource --force
2014-02-07 09:11:07 +01:00
Thomas Schoebel-Theuer
4c36e803f3
marsadm: add --ip=, fix IP detection
2014-02-06 07:15:09 +01:00
Thomas Schoebel-Theuer
c6a3753c1d
marsadm: fix --dry-run
2014-02-04 14:29:28 +01:00
Thomas Schoebel-Theuer
73c32a2f83
marsadm: make device detection more robust
2014-02-03 15:07:45 +01:00
Thomas Schoebel-Theuer
e38225a74c
marsadm: fix non-monotony of logfile sequence numbers
2014-02-03 15:07:45 +01:00
Thomas Schoebel-Theuer
a11b63a8b2
marsadm: allow create-resource on pre-existing resource directory
2014-02-03 15:07:45 +01:00
Thomas Schoebel-Theuer
7fa62145b5
marsadm: fix resource destruction via 'delete-resource'
2014-02-03 15:07:45 +01:00
Thomas Schoebel-Theuer
b3a1d7ffa2
marsadm: fix _fake_versionlink() after /mars/ full
2014-02-03 15:07:44 +01:00
Thomas Schoebel-Theuer
63171f66ae
marsadm: log-purge-all for split brain resolution in desperate cases
2014-02-03 15:07:44 +01:00
Thomas Schoebel-Theuer
06f5e42ae6
marsadm: introduce --dry-run
2014-02-03 15:07:44 +01:00
Thomas Schoebel-Theuer
2fee916477
marsadm: fix 'secondary' when not locally primary
2014-02-03 15:07:44 +01:00
Thomas Schoebel-Theuer
4e17138003
light: make detach/down more robust against following commands
...
Immediately stop syncing when rource should go down.
2014-02-03 15:07:44 +01:00
Thomas Schoebel-Theuer
9e54983283
marsadm: fix split brain detection
2014-02-03 15:07:44 +01:00
Thomas Schoebel-Theuer
00d4713aff
marsadm: fix set-link source
2014-02-03 15:07:44 +01:00
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
Joerg Mann
8cee26a02f
monitoring: mars-status update, add zabbix template
...
- add zabbix template, cronjob and config
2013-12-12 08:31:07 +01:00
Joerg Mann
fa8f8bdb0c
mars-status: fixes, rewrite version- and linkcheck, add historyview
...
Signed-off-by: Thomas Schoebel-Theuer <schoebel@bell.site>
2013-11-06 14:43:09 +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
637ec3fc4e
tools: new checking tool write-reboot.c
...
Use this for testing the power blackout safety.
2013-07-04 09:06:36 +02:00
Thomas Schoebel-Theuer
e6a39cf313
tools: add provisionary logfile import/export (HACKERS ONLY)
...
Use this for testing or for repair if you are extremely desperate.
This is not yet end-user friendly.
2013-07-04 09:06:36 +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
Thomas Schoebel-Theuer
dab34fa2f6
marsadm: new command 'set-link'
2013-06-20 15:08:28 +02:00
Thomas Schoebel-Theuer
cacea6d673
marsadm: abort 'primary' operation upon errors
2013-06-20 15:08:28 +02:00
Thomas Schoebel-Theuer
2ab837cf09
marsadm: augment 'wait-resource' with specific wait conditions
2013-06-20 15:08:28 +02:00
Thomas Schoebel-Theuer
ea286c6da1
marsadm: add new option --host=
2013-06-20 15:08:28 +02:00
Thomas Schoebel-Theuer
dca17cb9b1
marsadm: change defaults for *{,-local,-global}
...
By default, {dis}connect and {pause,resume}-{replay,sync} should
only switch the _local_ buttons. Otherwise, unexpected side-effects
could result at bigger clusters (#nodes >> 2) from a human point of view.
The new behaviour is different from DRBD, but DRBD was (until recently)
only working on _pairs_, so global spreadout was impossible.
Global switching may be requested at any time by appending suffix
"-global", which is just no longer the default in MARS.
If anyone has objections, it is straightforward to change the
defaults again.
2013-06-20 15:08:28 +02:00
Thomas Schoebel-Theuer
fc0e6baa01
marsadm: new command delete-file
2013-06-20 15:08:28 +02:00
Thomas Schoebel-Theuer
3f6d1d8858
marsadm: report errors during wait for primary
2013-06-20 15:08:27 +02:00
Thomas Schoebel-Theuer
6c3d225f1d
marsadm: fix detection of /mars/ directory
2013-06-20 15:08:27 +02:00
Thomas Schoebel-Theuer
60adc8a1c5
marsadm: fix versionlink creation on freshly joined resource
2013-06-20 15:08:27 +02:00
Thomas Schoebel-Theuer
99a8800b03
marsadm: fix 'invalidate', split into phases
2013-06-20 15:08:27 +02:00
Thomas Schoebel-Theuer
fca84e9417
marsadm: optional size argument for 'create-resource'
2013-06-20 15:08:27 +02:00
Thomas Schoebel-Theuer
ab08291124
marsadm: fix join-cluster
2013-06-20 15:08:27 +02:00
Thomas Schoebel-Theuer
396ec7f0f9
marsadm: fix leave-resource, split into phases
2013-06-20 15:08:27 +02:00
Thomas Schoebel-Theuer
7187462a6e
marsadm: add global uuid to cluster
2013-06-20 15:08:27 +02:00
Thomas Schoebel-Theuer
a1920494b4
marsadm: new commands {cat,show-{info,errors}}
2013-06-20 15:08:27 +02:00
Thomas Schoebel-Theuer
62a2dea515
marsadm: remove timestamp functions
...
Timestamps of symlinks are used for Lamport comparison
(any newer one overwrites any older one).
That concept should _not_ be used for any other comparison, since
there is no / not yet any "transactional" property of
bulk updates of symlinks (the Lamport condition treats each
symlink independently from any other).
Until such "transactions" are introduced at the strategy layer,
timestamp comparisons between _different_ symlinks are
unmeaningful in general.
2013-06-20 15:08:27 +02:00
Thomas Schoebel-Theuer
e9035548a4
marsadm: split {{at,de}tach,up,down} into phases
2013-06-20 15:08:27 +02:00
Thomas Schoebel-Theuer
0e15b38457
marsadm: add new commands 'wait-{cluster,resource}'
2013-06-03 09:05:46 +02:00
Thomas Schoebel-Theuer
359c039445
marsadm: add new command 'wait-umount'
2013-06-03 09:05:46 +02:00
Thomas Schoebel-Theuer
0953801a6e
marsadm: fix primary detection
...
The actual-*/is-primary symlink may race with the appearance
of the device. Use both conditions to be sure.
2013-06-03 09:05:46 +02:00
Thomas Schoebel-Theuer
2dd3033ff4
marsadm: split command "primary" into phases
2013-06-03 09:05:46 +02:00
Thomas Schoebel-Theuer
dab60da817
marsadm: allow calling multiple functions in phases
...
Add infrastructure for splitting commands in multiple phases.
Usually, phase0 will check for some preconditions, while
phase1 will execute the command. The final result will only
be committed if nothing fails.
The difference to the old behaviour will only show up when combined
with 'all' resources. If anything fails in phase0, nothing will be
touched in phase1. The old behaviour could touch some resources,
but omit others when something failed.
The new behaviour is more transactional-like.
2013-06-03 09:05:46 +02:00
Thomas Schoebel-Theuer
14e9582e93
marsadm: fix join-resource
2013-05-13 12:50:29 +02:00
Thomas Schoebel-Theuer
4690deb873
marsadm: check attach state
2013-05-13 12:50:29 +02:00
Thomas Schoebel-Theuer
0bab62f434
marsadm: fix detection of incompatible versions
2013-05-13 12:50:29 +02:00
Thomas Schoebel-Theuer
b7c1900820
marsadm: use Lamport time for symlink creation
2013-05-13 12:50:29 +02:00
Thomas Schoebel-Theuer
30f97cd23f
light: fix symlink deletion
2013-05-13 12:50:29 +02:00
Thomas Schoebel-Theuer
ca07c9a763
marsadm: fix log-delete{,-all}
2013-05-13 12:50:29 +02:00
Thomas Schoebel-Theuer
77fdc4cc1a
marsadm: improve check_* routines
2013-05-13 12:50:29 +02:00
Thomas Schoebel-Theuer
6964573aa3
marsadm: disallow resize to smaller size
2013-05-13 12:50:29 +02:00
Thomas Schoebel-Theuer
b0c09061e9
marsadm: allow only multiples of 4k as size arguments
2013-04-25 22:32:37 +02:00
Thomas Schoebel-Theuer
46f815f54e
marsadm: add optional size argument to resize command
2013-04-25 16:06:18 +02:00
Thomas Schoebel-Theuer
8d93439dcb
marsadm: add new command 'set-replay'
2013-04-22 14:40:24 +02:00
Thomas Schoebel-Theuer
22f75b9d71
marsadm: rewrite / correct symlink faking
2013-04-22 14:40:24 +02:00
Thomas Schoebel-Theuer
03f418c2c7
marsadm: improve message texts and parameter semantics
2013-04-22 11:50:07 +02:00
Thomas Schoebel-Theuer
8f081105fd
marsadm: fix distinction _get_{designated,actual}_primary
2013-04-22 11:48:50 +02:00
Thomas Schoebel-Theuer
109eed06f3
marsadm: fix and unify readlink() usage
2013-04-22 11:48:50 +02:00
Thomas Schoebel-Theuer
78c7c307ea
marsadm: fix primary checks
2013-04-22 11:48:50 +02:00
Daniel Hermann
92951e491b
marsadm: improve primary/secondary command behaviour
...
Previously, the 'marsadm primary' and 'marsadm secondary' commands
were successful as soon as the target primary was successfully set
to the new primary or '(none)', respectively. This commit appends
a check to wait until the primary is really changed (actual state).
Changes in marsadm:
- Added check_primary_settled() function
- Do not use local variable named '$host' in _primary_res() since
a global variable with same name exists.
- Do not use/set global variable '$host' in primary_res(). Use
local variable '$new' initially set to '$host' instead.
- Make 'secondary' command idempotent ("is already secondary")
- Call trigger() and check_primary_settled() in primary_res()
Related minor changes:
- marsadm: Added optional parameter 'sleeptime' to sleep_timeout()
- Removed debug output in check_file_aged()
Signed-off-by: Thomas Schoebel-Theuer <tst@1und1.de>
2013-04-18 10:09:15 +02:00
Thomas Schoebel-Theuer
f2b8256fcd
marsadm: categorize commands correctly
2013-04-17 12:03:00 +02:00
Thomas Schoebel-Theuer
e02c06e265
marsadm: disallow --force on 'all' resources
2013-04-17 12:03:00 +02:00
Thomas Schoebel-Theuer
9187bf210d
marsadm: check for matching version numbers
2013-04-17 11:03:13 +02:00
Thomas Schoebel-Theuer
f5fae8e4ba
light: show runtime connection status information
2013-04-12 08:26:25 +02:00
Daniel Hermann
4dafa9467a
marsadm: use actual primary where appropriate instead of target primary
...
The actual primary is decoded in 'actual-*/is-primary' links, while the
target primary is decoded in the 'primary' link. This is not clearly
taken into account in several functions of marsadm. This commit fixes
this problem.
- Added _get_actual_primary() function
- Remove $pri parameter in _primary_res
- Use _get_actual_primary() where actual state should be used
Commits 3e96a5e 578d003 5dccbdc rebased to dfeb8e6
Signed-off-by: Thomas Schoebel-Theuer <tst@1und1.de>
2013-04-11 11:01:25 +02:00
Daniel Hermann
3bf3745ec8
marsadm: use lamport clock for checking modification timestamps of symlinks
...
- Added mars_time() function returning lamport clock
- Renamed check_mtime to check_file_aged and fixed to use mars_time()
- Renamed check_all_mtimes to check_files_modified_any_of
Commits eb849e2 1be8700 fbb415a rebased on dfeb8e6
Signed-off-by: Thomas Schoebel-Theuer <tst@1und1.de>
2013-04-11 11:01:25 +02:00
Daniel Hermann
7a42f95d6c
marsadm: renam _allowed_logdelete() to _min_nondeletable_logfile()
...
Signed-off-by: Thomas Schoebel-Theuer <tst@1und1.de>
2013-04-11 11:01:25 +02:00