Vitaliy Filippov
ba63af49b4
Add etcd retries everywhere (they were missing in some places)
2022-01-23 17:21:48 +03:00
Vitaliy Filippov
23e578b6a2
Fix common.sh
2022-01-21 01:51:25 +03:00
Vitaliy Filippov
8a6b07d8f7
Add a 2/5 etcd failure test
2022-01-20 00:43:22 +03:00
Vitaliy Filippov
8c908316d9
Add a test with an OSD being added
2022-01-05 17:06:24 +03:00
Vitaliy Filippov
ec2852c598
Add minsize_1 test
2021-12-28 10:54:36 +03:00
Vitaliy Filippov
39e7f98e54
Allow to change etcd IP in tests
2021-12-08 23:00:48 +03:00
Vitaliy Filippov
eb7ad2c114
Fix empty size syntax, use C version of simple-offsets in tests
2021-11-20 23:51:26 +03:00
Vitaliy Filippov
32614c5bc8
Add a test for the last change ("split-brain avoidance", lol)
2021-11-13 22:39:17 +03:00
Vitaliy Filippov
aa436027c8
Report pg/history from OSD on every degraded activation
...
Required to prevent data loss due to activation of an OSD with older data
when PG OSD set change doesn't occur. I.e. fixes the simplest case:
- Run 2 OSDs with 1 PG
- Start writing into the PG
- Stop OSD 2
- Stop OSD 1
- Start OSD 2
After this change the PG will refuse to start after the last step.
2021-11-13 22:39:17 +03:00
Vitaliy Filippov
cfe8de9b84
Autosync based on number of unstable ops to prevent journal stalls
2021-10-30 14:26:48 +03:00
Vitaliy Filippov
d5efbbb6b9
Rename commands and add CLI help
2021-09-26 13:14:36 +03:00
Vitaliy Filippov
065dfef683
Rename vitastor-cmd to vitastor-cli
2021-09-26 00:52:05 +03:00
Vitaliy Filippov
fc3a1e076a
Fix minor bugs in snapshot removal, check it in tests
2021-09-25 19:30:29 +03:00
Vitaliy Filippov
acf637950c
Implement layer merge
...
A new command merges multiple snapshot/clone layers into one of them,
so merged layers can be deleted after this procedure
2021-07-31 00:23:30 +03:00
Vitaliy Filippov
a02b02eb04
Use new listing methods in rm_inode
2021-07-20 00:19:34 +03:00
Vitaliy Filippov
3de553ecd7
Add a test for CAS write operation
2021-06-15 00:12:35 +03:00
Vitaliy Filippov
9c45d43e74
Extract common 3 OSD code from several test scripts
2021-06-15 00:12:35 +03:00
Vitaliy Filippov
818ae5d61d
Some config parsing fixes
2021-05-01 00:20:01 +03:00
Vitaliy Filippov
0af077701c
Fix a possible crash during SYNC when journal fsyncs are enabled
2021-04-15 02:01:50 +03:00
Vitaliy Filippov
cac976ce25
Fix a memory leak in the chained read implementation
2021-04-15 01:42:18 +03:00
Vitaliy Filippov
8c9f32cd45
Add run_vm test bash scripts
2021-04-13 16:21:21 +03:00
Vitaliy Filippov
966fb763ca
Oooops, fix chained reads
2021-04-13 16:19:21 +03:00
Vitaliy Filippov
2612d3198a
Introduce image names and metadata storage in etcd
...
Each inode has: image name, parent inode number & pool, size and readonly flag
Snapshots are created by switching image name to a different inode number
while using the older inode as parent.
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
d0c2e31312
Add a test for snapshots, fix bugs. Now the test passes
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
d99407dcec
Check QEMU block-vitastor.so during the test
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
40b7c21fb1
Followup to 307c1731c1
- fix mark_stable
2021-04-08 15:47:18 +03:00
Vitaliy Filippov
efb3678606
Fix qemu-img broken in 0.5.11
...
Caused by the lack of reenterability of the main cluster_client function
2021-04-08 14:59:20 +03:00
Vitaliy Filippov
05db1308aa
Fix two potential read/write ordering problems (even though not yet seen in tests)
...
- Write operations could be 'stabilized' and previous versions could be
purged from OSDs before the removal of version_override and following
reads could potentially hit different version in EC pools
- Object was marked clean after completing the delete during recovery, so
reads could in theory hit a deleted version and return nothing
2021-03-24 14:20:56 +03:00
Vitaliy Filippov
fe1749c427
Fix the multiple_interrupted_rebalance test
2021-03-13 17:19:45 +03:00
Vitaliy Filippov
dd76eda5e5
Test multiple interrupted rebalancings
...
Currently only passes with immediate_commit=all configuration
(env variable IMMEDIATE_COMMIT=1 for the bash script)
2021-03-12 12:55:44 +03:00
Vitaliy Filippov
2e0c853180
Make test_change_pg_count check if any objects are lost during the test
2021-03-08 23:15:07 +03:00
Vitaliy Filippov
73ce20e246
Add a test for the "reappear after move" case
2021-03-08 17:04:10 +03:00
Vitaliy Filippov
97795ea1b1
Use pg_minsize=2 in the pg_count change test
...
Also don't check for has_degraded because it's not a bug that objects
are _temporarily_ listed as degraded during PG peering as it's not
required for the new primary to connect to _all_ older peers to start
peering. The test may be improved in the future by temporarily disabling
degraded recovery during it and returning the has_degraded check back.
2021-03-01 16:18:08 +03:00
Vitaliy Filippov
24e7075f08
Fix monitor's statistics aggregation
2021-02-28 19:51:16 +03:00
Vitaliy Filippov
7d49706c07
Improve the pg_count change test: add more OSDs and actually move data between them
2021-02-28 19:36:59 +03:00
Vitaliy Filippov
12adfa470c
Add a test for changing PG size
2021-02-25 23:59:33 +03:00
Vitaliy Filippov
69c87009e9
Add a test for changing PG count
2021-02-25 23:59:33 +03:00
Vitaliy Filippov
91a70dfb1b
Add a test for the no_same_sector_overwrites mode
2021-02-25 23:59:33 +03:00
Vitaliy Filippov
bf9a175efc
Move C/C++ sources to src subdirectory
2021-02-25 23:59:03 +03:00
Vitaliy Filippov
08aed962de
Use CMake
2021-02-25 23:58:08 +03:00
Vitaliy Filippov
16da663a66
Add another test for failure domains
2021-02-25 23:55:33 +03:00