Vitaliy Filippov
|
7bda66b866
|
Do not crash when optimising PGs in an undersized cluster
|
2020-05-15 01:29:15 +03:00 |
Vitaliy Filippov
|
b467d0559f
|
Begin node.js storage monitor service
|
2020-05-15 01:29:15 +03:00 |
Vitaliy Filippov
|
c2c2eefea4
|
Duplicate host in osd/state and osd/stats, take PGs from /config/pgs.items
|
2020-05-15 01:29:15 +03:00 |
Vitaliy Filippov
|
5084ff7c6c
|
Measure & report recovery op count and bandwidth
|
2020-05-15 01:29:15 +03:00 |
Vitaliy Filippov
|
47b6f64106
|
Support level names
|
2020-05-11 15:57:21 +03:00 |
Vitaliy Filippov
|
f71d0c117b
|
Measure & report op bandwidth, include local blockstore ops in stats
|
2020-05-11 02:58:13 +03:00 |
Vitaliy Filippov
|
2b854948f9
|
Remove dead code
|
2020-05-09 16:15:02 +03:00 |
Vitaliy Filippov
|
e7f897ed65
|
Report hostname to etcd
|
2020-05-09 02:33:43 +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 |
Vitaliy Filippov
|
e8149e5848
|
Implement OSD_OP_DELETE
|
2020-05-05 00:39:51 +03:00 |
Vitaliy Filippov
|
6355b968f4
|
Track osd_set history and all_peers separately
|
2020-05-04 15:28:07 +03:00 |
Vitaliy Filippov
|
00cf24fbd7
|
Split osd_primary.cpp
|
2020-05-03 11:04:20 +03:00 |
Vitaliy Filippov
|
1bc08174f9
|
Sync before listing objects so flushes do not fail thereafter
|
2020-05-01 12:56:49 +03:00 |
Vitaliy Filippov
|
cd87333091
|
Fix PG state comparison leading to unclean PGs not flushing
(a & b == b) -> ((a & b) == b) !
|
2020-05-01 12:56:46 +03:00 |
Vitaliy Filippov
|
bd0fe6e4cc
|
Fix PGs not stopping during sync, fix state reporting autovivification of erased PGs
|
2020-05-01 01:33:14 +03:00 |
Vitaliy Filippov
|
ce78454215
|
Reply with -EROFS to write commands in readonly mode
|
2020-05-01 00:54:34 +03:00 |
Vitaliy Filippov
|
762bd42096
|
Fix use-after-free caused by "delete this" in handle_read
|
2020-04-30 02:15:53 +03:00 |
Vitaliy Filippov
|
7b57eeeeb3
|
Implement PG state locking and PG moving in response to etcd events
|
2020-04-29 22:23:38 +03:00 |
Vitaliy Filippov
|
ec4a52af48
|
Fix websocket (and timer!) bugs
|
2020-04-26 01:59:56 +03:00 |
Vitaliy Filippov
|
268b497c0b
|
Implement simple websocket client
|
2020-04-25 23:11:50 +03:00 |
Vitaliy Filippov
|
35481925b1
|
Implement very simple HTTP streaming to handle etcd watches
|
2020-04-25 01:35:52 +03:00 |
Vitaliy Filippov
|
895a80dfc4
|
Fix etcd 3.2 compatibility (no compare.target == LEASE, /kv/lease/revoke), fix small bugs
|
2020-04-25 01:35:52 +03:00 |
Vitaliy Filippov
|
caa01c6aaf
|
Acquire etcd leases, prevent starting two OSDs with the same number
|
2020-04-25 01:35:52 +03:00 |
Vitaliy Filippov
|
d398ddfd3b
|
Use snake_case for etcd requests
|
2020-04-25 01:35:52 +03:00 |
Vitaliy Filippov
|
0f2b8dbf6f
|
Use a single timerfd_manager for all timers
|
2020-04-25 01:35:49 +03:00 |
Vitaliy Filippov
|
4f42e9659e
|
Use etcd instead of Consul
|
2020-04-24 01:03:55 +03:00 |
Vitaliy Filippov
|
7cf71a8031
|
Fix timerfd_manager: remove timer, then call callback
|
2020-04-21 12:45:18 +03:00 |
Vitaliy Filippov
|
9d22559bcf
|
Start peering immediately when loading PGs
|
2020-04-21 02:27:13 +03:00 |
Vitaliy Filippov
|
8c03e3ebab
|
Lock Blockstore devices exclusively by default
|
2020-04-21 01:59:11 +03:00 |
Vitaliy Filippov
|
2a640ba2e8
|
Remove range port selection (leads to races)
|
2020-04-21 00:10:59 +03:00 |
Vitaliy Filippov
|
6a21ea207e
|
Check peer config (at least, number) after connecting
|
2020-04-21 00:08:54 +03:00 |
Vitaliy Filippov
|
642802b595
|
Auto-select port numbers
|
2020-04-20 17:45:27 +03:00 |
Vitaliy Filippov
|
ff38b464a5
|
Add consul & connect timeouts, report state before loading PGs, move init_primary to osd_cluster
|
2020-04-20 15:43:07 +03:00 |
Vitaliy Filippov
|
663153713b
|
Reconnect to peers after connecting drops
|
2020-04-19 01:01:26 +03:00 |
Vitaliy Filippov
|
dc57c5c362
|
Report PG states again, clear PG history on reaching active+clean
|
2020-04-19 00:48:23 +03:00 |
Vitaliy Filippov
|
f95299b769
|
Take PG history into account when starting PGs
|
2020-04-19 00:20:18 +03:00 |
Vitaliy Filippov
|
9126ffb0f9
|
Fix PG loading - now it works, at least once
|
2020-04-17 02:33:44 +03:00 |
Vitaliy Filippov
|
2a8e40835e
|
Fix reporting to Consul, report even if we are purely secondary
|
2020-04-17 01:59:06 +03:00 |
Vitaliy Filippov
|
309486d746
|
Implement loading PGs from Consul (in theory)
|
2020-04-16 23:22:32 +03:00 |
Vitaliy Filippov
|
582f485578
|
Extract http & getifaddr_list into a separate file
|
2020-04-15 15:47:06 +03:00 |
Vitaliy Filippov
|
089b4eb208
|
Retry consul connection attempts and then die
|
2020-04-15 15:33:18 +03:00 |
Vitaliy Filippov
|
d78ce509c6
|
Add simple timer manager
|
2020-04-15 13:41:44 +03:00 |
Vitaliy Filippov
|
f3a7ccff50
|
Use 4K blockstore block by default, use MEM_ALIGNMENT in osd code
|
2020-04-14 19:19:56 +03:00 |
Vitaliy Filippov
|
37b27c3025
|
Implement basic OSD status reporting to Consul
|
2020-04-14 14:52:06 +03:00 |
Vitaliy Filippov
|
edf6d6f897
|
Fix http_request
|
2020-04-12 02:08:00 +03:00 |
Vitaliy Filippov
|
d11e8dcb5e
|
Do not flush or recover in readonly mode
|
2020-04-11 12:06:18 +03:00 |
Vitaliy Filippov
|
dd02bc1c44
|
Add base64 implementation
|
2020-04-11 12:06:18 +03:00 |