Vitaliy Filippov
a8b3cbd6af
Implement per-pool PG calculation, fix some lint warnings
2020-09-01 18:53:54 +03:00
Vitaliy Filippov
a86788fe3b
Support optimizing for the case when parity chunks occupy more space than data chunks
...
Mostly as an experiment because the problem solved by this commit
comes from Ceph's EC+compression implementation details and I'm not sure
if my implementation will be the same
2020-08-17 01:44:19 +03:00
Vitaliy Filippov
6022f28dc9
Add pseudo-random PG generation
2020-07-07 23:13:07 +03:00
Vitaliy Filippov
9d10a4d057
Support arbitrary pg_size in LPOptimizer
2020-07-05 20:28:05 +03:00
Vitaliy Filippov
7bda66b866
Do not crash when optimising PGs in an undersized cluster
2020-05-15 01:29:15 +03:00
Vitaliy Filippov
47b6f64106
Support level names
2020-05-11 15:57:21 +03:00
Vitaliy Filippov
2b854948f9
Remove dead code
2020-05-09 16:15:02 +03:00
Vitaliy Filippov
c26b6e1fc3
Support CRUSH-like multi-level placement trees
2020-05-09 00:55:24 +03:00
Vitaliy Filippov
aaa054e644
Fix optimize_change generating infeasible problems
...
Mainly happened when removing PG combinations (removing OSDs)
Also randomize OSD combinations when there's a lot of them
Also remove Perl version
2020-05-08 16:42:40 +03:00
Vitaliy Filippov
706a44d4d4
Fix optimize_initial in both perl and js versions
2020-05-06 23:12:03 +03:00
Vitaliy Filippov
842f88f94f
Rewrite LPOptimizer.pm to nodejs
2020-05-06 02:08:15 +03:00