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