Commit Graph

671 Commits

Author SHA1 Message Date
Thomas Schoebel-Theuer
392888760c marsadm: new commands {get,set}_systemd_unit 2018-05-14 08:27:13 +02:00
Thomas Schoebel-Theuer
19df1a2050 marsadm: new systemd interface 2018-05-14 08:27:13 +02:00
Thomas Schoebel-Theuer
9a488fd1e4 marsadm: decompose eval_macro 2018-05-14 08:25:23 +02:00
Thomas Schoebel-Theuer
0b6cb6ca06 marsadm: move parsing code 2018-05-14 08:25:22 +02:00
Thomas Schoebel-Theuer
4fbaaf4162 marsadm: fix MARS_PATH warning 2018-05-14 08:25:22 +02:00
Thomas Schoebel-Theuer
8ccd1a9d92 marsadm: create-resource safeguard device argument 2018-05-14 08:25:22 +02:00
Thomas Schoebel-Theuer
7a74ce4dfe Merge branch 'mars0.1.y' into mars0.1a.y 2018-04-20 12:58:07 +02:00
Thomas Schoebel-Theuer
36fd42c2fd marsadm: improve wording of split brain messages 2018-04-19 12:51:17 +02:00
Thomas Schoebel-Theuer
d84142956a marsadm: fix split-cluster unnecessary abort 2018-04-19 12:50:47 +02:00
Thomas Schoebel-Theuer
147ee84de3 Merge branch 'mars0.1.y' into mars0.1a.y 2018-04-10 11:09:07 +02:00
Thomas Schoebel-Theuer
0647f61dbf marsadm: better split brain wording 2018-04-10 09:01:30 +02:00
Thomas Schoebel-Theuer
e393decd3c Merge branch 'mars0.1.y' into mars0.1a.y 2018-03-19 06:57:49 +01:00
Thomas Schoebel-Theuer
fd8e45f77a marsadm: fix bad rsync of .deleted-* 2018-03-19 06:41:11 +01:00
Thomas Schoebel-Theuer
092c264035 marsadm: cleaup outdated .deleted-* markers 2018-03-19 06:41:11 +01:00
Thomas Schoebel-Theuer
4eef56881c marsadm: fix handover when sync is running
The check for sync is only needed when the primary role
is changing actually.
2018-03-19 06:41:11 +01:00
Thomas Schoebel-Theuer
1022c21ac6 Merge branch 'mars0.1.y' into mars0.1a.y 2018-02-01 06:25:02 +01:00
Thomas Schoebel-Theuer
f895f29e62 marsadm: fix @MARS_PATH 2018-01-31 08:09:00 +01:00
Thomas Schoebel-Theuer
178d041f71 marsadm: show any lamport time discepancies 2018-01-31 08:09:00 +01:00
Thomas Schoebel-Theuer
ae56776f7e marsadm: new primitive real-time 2018-01-31 08:09:00 +01:00
Thomas Schoebel-Theuer
101810cbf1 marsadm: fix versionlink traversal in corner case 2018-01-31 08:08:59 +01:00
Thomas Schoebel-Theuer
04cf38e4e7 marsadm: adapt timeout window 2018-01-31 08:08:59 +01:00
Thomas Schoebel-Theuer
4624518627 marsadm: allow logrotate during split-brain 2018-01-31 07:50:50 +01:00
Thomas Schoebel-Theuer
fde0e56e98 marsadm: keep informational versionlinks during split-brain 2018-01-31 07:50:50 +01:00
Thomas Schoebel-Theuer
b4ea846e1d marsadm: show split-brain age 2018-01-31 07:50:50 +01:00
Thomas Schoebel-Theuer
8542f1145c marsadm: make split-brain more readable 2018-01-31 07:50:50 +01:00
Thomas Schoebel-Theuer
a3f4d0365e marsadm: better human numbers 2018-01-31 07:50:50 +01:00
Thomas Schoebel-Theuer
f25f786bbf marsadm: show split-brain total logfile sizes 2018-01-31 07:50:50 +01:00
Thomas Schoebel-Theuer
c8788a28cb marsadm: remove superfluous trigger 2018-01-31 07:50:44 +01:00
Thomas Schoebel-Theuer
24536a5510 marsadm: remote trigger only when necessary 2018-01-31 07:50:38 +01:00
Thomas Schoebel-Theuer
38b7ccf272 Merge branch 'mars0.1.y' into mars0.1a.y 2017-12-10 20:48:51 +01:00
Thomas Schoebel-Theuer
3a87569bbe marsadm: automatically delete deprecated conncetion messages 2017-12-10 19:39:59 +01:00
Thomas Schoebel-Theuer
cb8806d060 marsadm: max-deletion abort only at cron mode 2017-12-10 19:39:59 +01:00
Thomas Schoebel-Theuer
b1c433bb39 marsadm: prevent too many small logfiles 2017-12-10 19:39:59 +01:00
Thomas Schoebel-Theuer
5c27b2fcd4 marsadm: prevent accumulation of .tmp remains 2017-12-10 19:39:59 +01:00
Thomas Schoebel-Theuer
2c74910b56 marsadm: remove dead sub 2017-12-10 19:39:59 +01:00
Thomas Schoebel-Theuer
2f2b57f451 marsadm: rework sync check 2017-12-10 19:39:59 +01:00
Thomas Schoebel-Theuer
3d5329a98a Merge branch 'mars0.1.y' into mars0.1a.y 2017-09-27 09:43:10 +02:00
Thomas Schoebel-Theuer
ca80503533 all: release mars0.1stable51 2017-09-27 09:28:38 +02:00
Thomas Schoebel-Theuer
462de5e6cf marsadm: fix hole treating in deletion sequences 2017-09-27 07:29:29 +02:00
Thomas Schoebel-Theuer
cd70495c0f marsadm: fix semantics of cron, rename log-delete to log-delete-one
Now the systematics is fixed.
2017-09-27 07:19:27 +02:00
Thomas Schoebel-Theuer
c26a62da2b userspace: improved cron job 2017-09-27 07:11:46 +02:00
Thomas Schoebel-Theuer
5b74f36f64 doc: document new cron command 2017-09-27 07:11:33 +02:00
Thomas Schoebel-Theuer
85751e70dd marsadm: new command 'cron' 2017-09-27 07:11:20 +02:00
Thomas Schoebel-Theuer
8a3f40300c all: release mars0.1abeta2 2017-09-23 07:53:10 +02:00
Thomas Schoebel-Theuer
22a04ee942 Merge branch 'mars0.1.y' into mars0.1a.y 2017-09-23 07:49:28 +02:00
Thomas Schoebel-Theuer
dea701d47c all: release mars0.1stable50 2017-09-23 07:47:41 +02:00
Thomas Schoebel-Theuer
a529b2f2cb marsadm: show number of replicas 2017-09-23 07:28:19 +02:00
Thomas Schoebel-Theuer
947e7fe9e9 marsadm: silence annoying error msg on empty resource list 2017-09-23 07:18:45 +02:00
Thomas Schoebel-Theuer
9189a47afc marsadm: cleanup internal backups after 1 week 2017-09-23 07:12:16 +02:00
Thomas Schoebel-Theuer
8d26f0250d marsadm: continue work after leave-resource 2017-09-23 07:06:43 +02:00
Thomas Schoebel-Theuer
fe368dda78 Merge branch 'mars0.1.y' into mars0.1a.y 2017-09-19 13:56:34 +02:00
Thomas Schoebel-Theuer
9c3ba8972b marsadm: restrict wait-cluster to participating hosts and resources 2017-09-19 13:32:21 +02:00
Thomas Schoebel-Theuer
b45afca1b4 marsadm: speed up wait-cluster 2017-09-19 13:32:21 +02:00
Thomas Schoebel-Theuer
978d3de51b marsadm: cleanup outdated messages 2017-09-17 00:18:00 +02:00
Thomas Schoebel-Theuer
bd03876e81 marsadm: symmetry check in split-cluster 2017-09-16 16:48:01 +02:00
Thomas Schoebel-Theuer
51709a9a4b marsadm: skip new local deletes 2017-09-14 08:59:30 +02:00
Thomas Schoebel-Theuer
2c55e84b4d marsadm: versioning of split-cluster backups 2017-09-14 08:59:30 +02:00
Thomas Schoebel-Theuer
d86b3915b9 marsadm: safeguard split-cluster start 2017-09-14 08:59:22 +02:00
Thomas Schoebel-Theuer
21e680a08f marsadm: new command split-cluster 2017-09-12 20:31:17 +02:00
Thomas Schoebel-Theuer
2a8eefa167 marsadm: treat special ssh case 2017-09-12 20:30:14 +02:00
Thomas Schoebel-Theuer
4a33ec8c85 marsadm: use backup-dir at merge-cluster 2017-09-12 20:30:03 +02:00
Thomas Schoebel-Theuer
a96dd0d8d2 marsadm: backup-dir infrastructure 2017-09-12 20:29:49 +02:00
Thomas Schoebel-Theuer
d467fd4d96 marsadm: new operations merge-cluster and friends 2017-09-12 20:29:19 +02:00
Thomas Schoebel-Theuer
ea476d152b marsadm: new command split-cluster 2017-09-12 20:20:00 +02:00
Thomas Schoebel-Theuer
f15535a398 marsadm: treat special ssh case 2017-09-12 20:17:11 +02:00
Thomas Schoebel-Theuer
12eaa4be27 marsadm: use backup-dir at merge-cluster 2017-09-12 20:17:11 +02:00
Thomas Schoebel-Theuer
e4aa7c0364 marsadm: backup-dir infrastructure 2017-09-12 20:16:01 +02:00
Thomas Schoebel-Theuer
495490f4b6 marsadm: continue work after leave-resource 2017-09-12 09:34:14 +02:00
Thomas Schoebel-Theuer
58efb90f04 marsadm: restrict wait-cluster to participating hosts and resources 2017-09-12 09:34:14 +02:00
Thomas Schoebel-Theuer
280c080b1b marsadm: speed up wait-cluster 2017-09-12 09:34:14 +02:00
Thomas Schoebel-Theuer
7629e686ab marsadm: add new reduced wait_cluster 2017-09-12 09:34:14 +02:00
Thomas Schoebel-Theuer
7881833d81 marsadm: fix wait-cluster timeout 2017-09-12 09:34:14 +02:00
Thomas Schoebel-Theuer
c9cd3310e9 marsadm: show any lamport time discepancies 2017-09-11 14:52:30 +02:00
Thomas Schoebel-Theuer
9a6b5b22db marsadm: new primitives {tree,features}-version 2017-09-11 14:52:30 +02:00
Thomas Schoebel-Theuer
58b9225508 marsadm: new primitive real-time 2017-09-11 14:52:30 +02:00
Thomas Schoebel-Theuer
cf25790fd2 Merge tag 'mars0.1stable48' into mars0.1a.y 2017-09-11 11:53:28 +02:00
Thomas Schoebel-Theuer
2787be89de Merge tag 'mars0.1stable46' into mars0.1a.y 2017-09-11 11:48:41 +02:00
Thomas Schoebel-Theuer
7f961ad89f Merge tag 'mars0.1stable45' into mars0.1a.y 2017-09-11 11:42:59 +02:00
Thomas Schoebel-Theuer
981dc07a6d all: deletions tuning 2017-09-11 11:34:20 +02:00
Thomas Schoebel-Theuer
28d5b0e5d1 marsadm: safeguard overflow of deletion links 2017-09-08 23:42:30 +02:00
Thomas Schoebel-Theuer
1ad5de090d marsadm: rewrite already existing deletions 2017-09-08 23:42:30 +02:00
Thomas Schoebel-Theuer
71a0d429f4 marsadm: increase safety margin 2017-08-29 18:58:19 +02:00
Thomas Schoebel-Theuer
5fbbb0bbe5 marsadm: fix host list display 2017-08-29 18:58:19 +02:00
Thomas Schoebel-Theuer
8deb1c7d02 marsadm: unlink leftover deletion links 2017-08-25 15:07:59 +02:00
Thomas Schoebel-Theuer
31e7560886 marsadm: show number of replicas 2017-07-05 14:15:42 +02:00
Thomas Schoebel-Theuer
5fbfd64c58 marsadm: new feature hook-scripts 2017-07-05 08:01:48 +02:00
Thomas Schoebel-Theuer
08bf6cb8b5 marsadm: safeguard rsync at join-cluster 2017-07-05 08:01:47 +02:00
Thomas Schoebel-Theuer
29f656b2c1 marsadm: new operations merge-cluster and friends 2017-07-05 08:01:47 +02:00
Thomas Schoebel-Theuer
0adab134ac Merge branch 'mars0.1.y' into mars0.1b.y 2017-07-05 07:48:08 +02:00
Thomas Schoebel-Theuer
6a9795f247 marsadm: speed up error text retrieval 2017-07-05 07:38:15 +02:00
Thomas Schoebel-Theuer
86a4f1674c marsadm: introduce configurable MARS_PATH 2017-07-05 07:38:15 +02:00
Thomas Schoebel-Theuer
4c74c8e985 marsadm: fetch newest symlinks at join-resource 2017-07-05 07:38:15 +02:00
Thomas Schoebel-Theuer
12e41def3f marsadm: cleanup old remains on join-resource --force 2017-07-05 07:38:15 +02:00
Thomas Schoebel-Theuer
66734e4211 marsadm: log-purge-all must not fail on empty resource 2017-07-05 07:38:15 +02:00
Thomas Schoebel-Theuer
d3ede5b39f marsadm: tolerate empty resource dirs at leave-resource 2017-07-05 07:38:15 +02:00
Thomas Schoebel-Theuer
ee94c1279a marsadm: safeguard rsync at join-cluster 2017-07-05 07:38:15 +02:00
Thomas Schoebel-Theuer
1950c0fc1b marsadm: internal wait-cluster before doing join-resource
This is necessary when the full mesh communication is relaxed.
2017-07-05 07:38:15 +02:00
Thomas Schoebel-Theuer
1d85ec9cb3 userspace: rework ssh and rsync 2017-07-05 07:38:14 +02:00
Thomas Schoebel-Theuer
60a08c7387 marsadm: better --dry-run 2017-07-05 07:38:14 +02:00
Thomas Schoebel-Theuer
7bb3b2abcd marsadm: fix syslog quotation characters 2017-07-05 07:38:14 +02:00
Thomas Schoebel-Theuer
d596d2b388 marsadm: version hint at newer features 2017-05-28 19:23:46 +02:00
Thomas Schoebel-Theuer
783abfa501 userspace: improved cron job 2017-05-28 19:20:27 +02:00
Thomas Schoebel-Theuer
be35a0af37 Merge branch 'mars0.1.y' into mars0.1b.y 2017-05-28 19:19:37 +02:00
Thomas Schoebel-Theuer
a53b467808 marsadm: add feature version number 2017-05-28 19:13:14 +02:00
Thomas Schoebel-Theuer
29710cdb7e marsadm: speedup internal wait_delete 2017-04-04 08:42:16 +02:00
Thomas Schoebel-Theuer
41119454f1 marsadm: speedup invalidate 2017-04-04 08:42:16 +02:00
Thomas Schoebel-Theuer
3ed6991046 doc: document new cron command 2017-02-22 08:52:08 +01:00
Thomas Schoebel-Theuer
ab51a56b0b marsadm: new command 'cron' 2017-02-22 08:52:08 +01:00
Thomas Schoebel-Theuer
88f3300a5c marsadm: remove obsolete 1&1-specific sync feature 2017-02-20 15:29:28 +01:00
Thomas Schoebel-Theuer
12f7e83ab0 marsadm: sync caches upon detach 2017-02-09 10:13:38 +01:00
Thomas Schoebel-Theuer
812011aa07 marsadm: make logrotate more rubust against missing logfiles
This should not happen at all.

During several millions of operations hour, it occurs however when
hardware is defective. Try self-healing as far as possible.
2017-01-25 09:30:52 +01:00
Thomas Schoebel-Theuer
185b63070c log-impex: provisionary compatibility 2016-08-09 09:37:10 +02:00
Thomas Schoebel-Theuer
f048aec390 userspace: add example cronjob 2016-08-09 09:37:10 +02:00
Thomas Schoebel-Theuer
bb6b65a002 userspace: add basic systemd unit
First try. May need some improvements in future.
2016-08-09 09:37:10 +02:00
Thomas Schoebel-Theuer
838c98ca6d marsadm: systemantically missing macros *-logcount 2016-08-09 09:37:10 +02:00
Thomas Schoebel-Theuer
d09cc8e218 marsadm: fix {replay,fetch,work}-lognr and replay-basenr
These were forgotten to export, and they were not systematic.
2016-08-09 09:37:10 +02:00
Thomas Schoebel-Theuer
474d7d0a05 marsadm: fix wrong lognr result in corner case 2016-08-09 09:37:10 +02:00
Thomas Schoebel-Theuer
6559c534be marsadm: directly switch back to former primary
Use the new knowledge about old primary.

This is only relevant for people who are consistently ignoring
mars-manual.pdf which clearly states that intermediate
"marsadm secondary" should not be used at all, except for the
last step in final destruction of a resource.
2016-08-09 09:37:10 +02:00
Thomas Schoebel-Theuer
79a1d20c69 marsadm: fix annoying perl warning 2016-08-09 09:37:10 +02:00
Thomas Schoebel-Theuer
f89e0a7d96 marsadm: lowlevel IP address commands
This is absolutely necessary for coping with changes in network
setups.
2016-03-09 09:42:38 +01:00
Thomas Schoebel-Theuer
207635632b marsadm: check uniqueness of IPs at join-cluster 2016-03-01 11:58:23 +01:00
Thomas Schoebel-Theuer
20eca8c447 marsadm: verbose callstack at ldie 2016-03-01 11:58:23 +01:00
Thomas Schoebel-Theuer
83ae4720fa marsadm: reimplement buggy primitive macros
The old version was complicated and error prone, due to historic
development.

Now the structure should be much simpler.
2016-02-15 07:10:41 +01:00
Thomas Schoebel-Theuer
8c3cfe97f3 marsadm: show wrong permissions
Feature request by Tilmann Steinberg.

It greatly eases debugging when searching for a source of wrong
permissions.

Some admin tools like Puppet seem to have their own default notion
of "secure permissions" and try to "fix" them ;)
2016-02-15 07:10:41 +01:00
Thomas Schoebel-Theuer
c0d57bef7a marsadm: fix view-wait-is-* when symlinks are not yet present 2016-02-15 07:10:40 +01:00
Thomas Schoebel-Theuer
1edef479fc marsadm: show the old designated primary in the log
This is vital for incident analysis.
2016-02-03 22:01:49 +01:00
Thomas Schoebel-Theuer
89014d29c3 marsadm: new primitive device-opened
This is absolutely needed for race avoidance in scripting.
2016-02-03 22:01:48 +01:00
Thomas Schoebel-Theuer
561c2bd6c6 marsadm: rename occurences of deprecated present-{disk,device} 2016-02-03 22:01:48 +01:00
Thomas Schoebel-Theuer
6418370357 marsadm: rename present-{disk,device} to *-present and deprecate it
This is important for namespace systematics of primitive macros.

First name the object, then name its property. Like in OO.

Exception: when _finding_ the object itself needs an operation, or
additional information, e.g. %get-disk{} (this is the "lookup operation"
for the object itself, at least by concept).

For compatibility, the old forms will be accepted also
(silently, undocumented).
2016-02-03 22:01:48 +01:00
Thomas Schoebel-Theuer
08c776fc36 marsadm: allow devices as size argument 2016-02-03 22:01:48 +01:00
Thomas Schoebel-Theuer
f4f9ba93e2 marsadm: correct replay error checking 2016-02-03 22:01:48 +01:00
Thomas Schoebel-Theuer
7ff2d896ea marsadm: fix join-cluster when the peer is actively running
In such a case rsync may spill an error because some symlinks
were updated in the meantime or have vanished. We can safely
ignore that.
2016-02-03 22:01:48 +01:00
Thomas Schoebel-Theuer
e36a2ea4f1 marsadm: fix present-{disk,device} 2016-02-03 22:01:48 +01:00
Thomas Schoebel-Theuer
0e6bb47cb6 marsadm: fix edge cases of try_to_avoid_splitbrain()
Originally a trivial silly bug (boolean value was wrong), leading to an
endless loop when a local versionlink was missing, which can happen
only after a primary crash at the wrong moment shortly after a logrotate
(not even during ordinary operations), followed by a hard reboot.

As documented in mars-manual.pdf, you simply need "modprobe mars"
to recover after such a crash reboot. MARS remembers the primary state
persistently for you and restores everything _automatically_.

Using "marsadm primary" in such a case to switch the current primary
to primary again (after an unnecessary "marsadm secondary" which is
strongly discouraged by mars-manual.pdf), although the host is / was
already in primary state after the reboot, is at least as silly as
the mentioned bug. Doing this in an /etc/init.d/ startup script
where it really doesn't belong into, is even more silly.

The latter is even an OPERATIONAL RISK, because "marsadm secondary"
works _globally_ in the whole cluster (as documented in mars-manual.pdf).
Such an improper startup script _can_ (potentially) disturb another
cluster member which had become primary in the _meantime_ during reboot.
Global cluster operations don't belong into startup scripts, because
reboots may happen unintentionally at any time.
2016-02-03 22:00:47 +01:00
Thomas Schoebel-Theuer
e207443833 marsadm: fix binary operators =~ and "match" 2016-01-21 08:09:48 +01:00
Thomas Schoebel-Theuer
feb0b34604 marsadm: fix irritating "Inconsistent" display at primary side
At an actual primary, "Inconsistent" would be the correct description
for the state of the _disk_.

However most sysadmins will confuse this with the state of the
_replication_ (which is of course never inconsistent during
writeback from the memory buffer).

Although documented correctly, misunderstandings continue
to survive, because humans are automatically abstracting away
from detail components such as a "disk", and are automatically
assuming that "marsadm view" would relate to the replication
as a whole.

Avoid misunderstandings by more detailed message distinctions
aiming to address all of these in parallel.
2016-01-15 17:58:30 +01:00
Thomas Schoebel-Theuer
cd122db700 marsadm: display logfile replay errors in diskstate 2016-01-15 17:58:27 +01:00
Thomas Schoebel-Theuer
cc1074fc53 marsadm: add primitive macro errno-text 2016-01-15 17:29:47 +01:00
Thomas Schoebel-Theuer
6c41326f7a marsadm: add basic macro replay-code 2016-01-15 17:23:14 +01:00
Thomas Schoebel-Theuer
cc1d786654 marsadm: disallow ordinary switching when logfiles are damaged
Only primary --force should be possible in such a (rare) case.
2016-01-15 17:10:48 +01:00
Thomas Schoebel-Theuer
69386b33d9 marsadm: fix /mars security issues
Only relevant for non-storage servers where customers have access to.

Notice that /mars is a _reserved_ filesystem for MARS-internal purposes.
It has mothing to do with an ordinary filesystem.

Users have generally to be kept out.
2016-01-13 14:12:00 +01:00
Thomas Schoebel-Theuer
3a543d5ca5 marsadm: improve weird --host=other deletion 2015-10-07 10:42:07 +02:00
Thomas Schoebel-Theuer
8e786d129f marsadm: remove distracting warning
This is no longer needed.
2015-08-04 14:18:45 +02:00
Thomas Schoebel-Theuer
58294defe5 marsadm: safeguard {create,join}-resource against old remains 2015-08-04 10:21:32 +02:00
Thomas Schoebel-Theuer
3e92223e47 marsadm: fix annoying warning in corner case 2015-07-22 12:19:41 +02:00
Thomas Schoebel-Theuer
b190337eb8 marsadm: use $real_host for deletions
This can make a difference when using --host= and the other
host is no long really existant.
2015-05-05 09:30:08 +02:00
Thomas Schoebel-Theuer
5f485b6a02 marsadm: better leave-cluster cleanup of dead files 2015-05-05 09:30:08 +02:00
Thomas Schoebel-Theuer
fb880f9b2c marsadm: leave-cluster should rmmod only on real host 2015-05-05 09:30:08 +02:00
Thomas Schoebel-Theuer
c6fc05a3be marsadm: allow --force --host= cleanup on non-joined host 2015-05-05 09:30:04 +02:00
Thomas Schoebel-Theuer
2a99f12294 marsadm: cleanup all orphane symlinks 2015-05-05 09:12:42 +02:00
Thomas Schoebel-Theuer
1eea119870 marsadm: allow --force on 'all' 2015-05-05 09:12:37 +02:00
Thomas Schoebel-Theuer
3f9571999d marsadm: allow log-rotate on secondaries upon --force
This makes not much sense, but is provided for cases where you are
really desperate.
2015-05-05 08:56:41 +02:00
Thomas Schoebel-Theuer
27e975f4d7 marsadm: allow --threshold=human-readable 2015-03-24 08:33:03 +01:00
Thomas Schoebel-Theuer
5bead43add marsadm: distinguish multiples of 1024 from 1000 2015-03-24 08:33:03 +01:00
Thomas Schoebel-Theuer
f43d5fd58e marsadm: add list inquiry functions 2015-03-24 08:33:03 +01:00
Thomas Schoebel-Theuer
8d60cb304c marsadm: show replication infos only on secondaries 2015-03-24 08:33:03 +01:00
Thomas Schoebel-Theuer
c481f75cb8 marsadm: hint on wasted disk space 2015-03-24 08:33:03 +01:00
Thomas Schoebel-Theuer
c88965e24a marsadm: report disk/device sizes 2015-03-24 08:33:03 +01:00
Thomas Schoebel-Theuer
1f2680dd62 marsadm: fix external races on resize 2015-03-24 08:33:03 +01:00
Thomas Schoebel-Theuer
8888571b2c marsadm: remove irritating warning 2015-03-24 08:33:03 +01:00
Thomas Schoebel-Theuer
e1b241e3ad marsadm: clarify usability of 'view' 2015-03-24 08:33:02 +01:00
Thomas Schoebel-Theuer
c7b57f864e marsadm: clarify view/flags when network is slow 2015-03-23 13:48:11 +01:00
Thomas Schoebel-Theuer
308925c755 doc: update version 2015-03-09 09:53:06 +01:00
Thomas Schoebel-Theuer
6419b3fb57 marsadm: fix endless wait_cluster 2015-03-09 09:53:06 +01:00
Thomas Schoebel-Theuer
ae47fbdcb4 marsadm: fix leave-cluster when communication is dead 2015-03-09 09:53:06 +01:00
Thomas Schoebel-Theuer
82de077df0 marsadm: clarify meaning of switches/status
fighting the stupidness...
2015-03-09 09:53:05 +01:00
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