Christian Schwarz
f661d9429f
pruning/keep_last_n: correctly handle the case where count
> matching snaps
...
fixes #446
2021-03-25 22:42:01 +01:00
Christian Schwarz
b1f8cdf385
[ #373 ] pruning: add optional regex
field to last_n
rule
...
fixes #373
2020-09-02 22:45:44 +02:00
Christian Schwarz
428a60870a
pruning: cleanup retention grid impl + tests + correct docs
...
package is now at 95% code coverage and the additional tests codify
all behavior specified in the docs
There is a slight change in behavior:
Intervals are now [duration) instead of (duration].
If the leftmost interval is not keep=all, the most recently created
snapshot will be destroyed if there are other snapshots within
that first interval.
Since we recommend keep=all all over the docs, and zrepl 0.3
will put holds on that snapshot if it is being replicated,
I feel like this is an acceptable change in behavior.
refs #292
fixup of 0bbe2befce
2020-09-02 22:45:44 +02:00
Christian Schwarz
3a4e841c73
[ #292 ] pruning: grid: add all snapshots that do not match the regex to the rule's destroy list
...
Before this patch, multiple grids with disjoint regexes would result in
no snapshots being destroyed at all.
fixes #292
2020-09-02 22:45:44 +02:00
Christian Schwarz
bcf6ff1c08
[ #292 ] pruning: add func MustNewKeepGrid
2020-09-02 22:45:44 +02:00
Christian Schwarz
ad7a104ab4
[ #292 ] pruning: simplify table test driver
2020-09-02 22:45:44 +02:00
Christian Schwarz
639359f393
[ #292 ] pruning: last_n: use snap name as fallback when creation is equal
2020-09-02 22:45:44 +02:00
Christian Schwarz
5b97953bfb
run golangci-lint and apply suggested fixes
2019-03-27 13:12:26 +01:00
Christian Schwarz
afed762774
format source tree using goimports
2019-03-22 19:41:12 +01:00
Christian Schwarz
5e1ea21f85
pruning: add 'Negate' option to KeepRegex and expose it in config
2018-11-16 12:21:54 +01:00
Christian Schwarz
9e941d5be5
pruning: implement 'grid' keep rule
2018-09-24 17:33:16 +02:00
Christian Schwarz
d684302864
pruning: fix tests + implement 'not_replicated' and 'keep_regex' keep rule
...
tests expected that a KeepRule returns a *keep* list whereas it
actually returns a *destroy* list.
2018-08-30 11:46:47 +02:00
Christian Schwarz
a2aa8e7bd7
finish pruner implementation
2018-08-29 19:00:45 +02:00
Christian Schwarz
0de17fd051
move cmd/pruning to pruning, as it's independent of the command implementation
2018-08-29 14:55:59 +02:00