Vitaliy Filippov
17a909ea3a
Stop metrics/future API HTTP server when closing Monitor instance
2024-07-14 11:16:41 +03:00
Vitaliy Filippov
8973982570
Delete keys from internal state instead of setting them to null on DELETE event in mon
2024-07-12 16:42:21 +03:00
Vitaliy Filippov
c6be194508
Implement experimental antietcd-based version of monitor
2024-07-09 13:54:58 +03:00
Vitaliy Filippov
976290e6a9
Implement built-in Prometheus exporter in monitor
2024-07-08 02:20:12 +03:00
Vitaliy Filippov
1228403e74
Implement internal restart / run_forever in monitor
2024-06-08 00:35:18 +03:00
Vitaliy Filippov
4eabebd245
Put all configuration to Mon.config
2024-06-07 00:20:38 +03:00
Vitaliy Filippov
cf60b6818c
Extract PG generation into pg_gen.js
2024-06-05 11:22:06 +03:00
Vitaliy Filippov
1a4a7cdc37
Extract OSD Tree generation functions to osd_tree.js
2024-06-05 11:19:35 +03:00
Vitaliy Filippov
1b48085e21
Extract remote etcd interaction to etcd_adapter.js
2024-06-05 11:19:35 +03:00
Vitaliy Filippov
a71847244e
Rename PGUtil.js to pg_utils.js
2024-06-05 10:51:20 +03:00
Vitaliy Filippov
848c2d2722
Move LPOptimizer, DSL and tests to lp_optimizer/
2024-06-05 10:51:20 +03:00
Vitaliy Filippov
1f6da79463
Extract stats calculation into a separate file
2024-06-05 10:51:20 +03:00
Vitaliy Filippov
a0305b5b4a
Extract pool configuration validation into a separate file
2024-06-05 02:08:08 +03:00
Vitaliy Filippov
1546f8e447
Extract etcd data "schema" into a separate file
2024-06-05 02:07:53 +03:00
Vitaliy Filippov
23a9aa93b5
Fix pool create/modify --block_size validation
2024-05-04 16:33:22 +03:00
Vitaliy Filippov
87f666d2a2
Filter out OSDs reweighted to 0
2024-04-20 02:03:53 +03:00
Vitaliy Filippov
bd7fe4ef8f
Filter out non-existing OSDs added in node_placement
2024-04-20 02:03:36 +03:00
Vitaliy Filippov
a7b7354f38
Do not recheck primary distribution when pool has no PGs
2024-04-20 02:02:47 +03:00
Vitaliy Filippov
765befa22f
Remove empty nodes from tree because PG DSL expects that all leaf nodes are OSDs
2024-04-20 02:02:28 +03:00
Vitaliy Filippov
87b3ab94fe
Do not disable require-atomic-updates and no-unused-vars
2024-04-20 02:02:13 +03:00
Vitaliy Filippov
2c0801f6e4
Configure ESLint and add it to CI
2024-04-16 02:39:31 +03:00
Vitaliy Filippov
fd83fef1d9
Fix pool deletion
2024-04-16 02:20:26 +03:00
Vitaliy Filippov
8d1067971b
Fix pg_effsize (and thus "used space") calculation in monitor
2024-04-16 02:20:18 +03:00
Vitaliy Filippov
ae5af04fde
Add noout flag for OSDs
2024-04-16 02:19:55 +03:00
Vitaliy Filippov
0fa7ecc03f
Add also a test for OSD tags
2024-04-09 16:57:59 +03:00
Vitaliy Filippov
c29bfe12eb
Oops - fix filter_by_root_node, add a test for it
2024-04-09 15:48:44 +03:00
Vitaliy Filippov
57bf84ddb2
Fix filtering in mon
2024-04-09 14:51:05 +03:00
Vitaliy Filippov
6366972fe8
Warn about full and almost full OSDs in status
2024-04-07 19:39:51 +03:00
Vitaliy Filippov
2b863fb715
Add ENOSPC handling tests
2024-04-07 19:39:33 +03:00
Vitaliy Filippov
3629dbc54d
Plug the new PG combinator into monitor
2024-04-07 02:44:17 +03:00
Vitaliy Filippov
6a924d6066
Extract PG combinator into a separate module
2024-04-07 00:36:20 +03:00
Vitaliy Filippov
9fe779a691
Do not die on invalid pool configurations
2024-04-07 00:36:20 +03:00
Vitaliy Filippov
f36d7eb76c
Fix monitor thinking that OSD weight is 0 after deleting /osd/config/ key
2024-04-05 23:14:46 +03:00
Vitaliy Filippov
8840c84572
Fix "bad key in etcd" in mon for FS pools
2024-03-16 13:24:36 +03:00
Vitaliy Filippov
3aee37eadd
Allow to disable per-inode stats for VitastorFS pools
2024-03-16 13:24:36 +03:00
Vitaliy Filippov
6bf1f539a6
Add EIO retry timeout and allow to disable these retries, rename up_wait_retry_interval to client_retry_interval
2024-02-28 13:10:02 +03:00
Vitaliy Filippov
8e25a28a08
Ignore down OSDs in monitor statistics aggregation
2024-02-09 00:22:36 +03:00
Vitaliy Filippov
d2b43cb118
Change default etcd_mon_ttl
2024-01-29 23:45:19 +03:00
Vitaliy Filippov
1c322b33ed
Change default up_wait_retry_interval to 50 ms
2024-01-26 01:51:08 +03:00
Vitaliy Filippov
2aa5aa7ab6
Add a test for simple master switching without PG reconfiguration
...
Also use osd_out_time:1 only in select tests and restart mon in tests only on connection errors
2024-01-17 00:19:01 +03:00
Vitaliy Filippov
3ca3b8a8d8
Fix recheck_pgs bug introduced in 1.4.0
2024-01-16 23:49:21 +03:00
Vitaliy Filippov
99ee8596ea
Rename min/max_util to util_low/high
2023-12-31 01:23:17 +03:00
Vitaliy Filippov
f757a35a8d
Retry PG changes without re-running lpsolve when pool configuration and OSD tree don't change
...
OSDs often change their /pg/history keys during rebalance, so monitor receives additional
transaction failures from etcd if it re-runs lpsolve which sometimes may even lead to monitor
being unable to apply PG changes at all until rebalance completes
2023-12-31 01:23:17 +03:00
Vitaliy Filippov
1edf86ed26
Aggregate recovery delay using simple mean over last 10 observations (EWMA is shit)
2023-12-31 01:23:17 +03:00
Vitaliy Filippov
751935ddd8
WIP Auto-tune recovery speed
2023-12-31 01:23:17 +03:00
Vitaliy Filippov
1299373988
Use the same etcd_ws_keepalive_interval in OSD and mon
2023-12-23 20:07:29 +03:00
Vitaliy Filippov
4ece4dfdd0
Fix mon not using values from config when /config/global is not present
2023-12-22 02:25:09 +03:00
Vitaliy Filippov
7da4868b37
Fix monitor statistics aggregation in case of empty /osd/stats keys
2023-11-24 01:05:21 +03:00
Vitaliy Filippov
0e888e6c60
Prevent spamming etcd with last_clean_pgs update requests
2023-11-05 00:12:00 +03:00
Vitaliy Filippov
408c21d8f0
Scale last_clean_pgs PG count even if current PGs already contain the new number of PGs
2023-11-04 23:45:59 +03:00