From 3d7f838c599a53533351b7a5c634dcd2dda314b9 Mon Sep 17 00:00:00 2001 From: Vitaliy Filippov Date: Thu, 25 May 2023 00:49:17 +0300 Subject: [PATCH] Verify checksums in test_heal in different combinations --- .gitea/workflows/test.yml | 108 ++++++++++++++++++++++++++++++ .gitea/workflows/tests-to-yaml.pl | 10 ++- tests/run_tests.sh | 7 ++ tests/test_heal_csum.sh | 1 - 4 files changed, 123 insertions(+), 3 deletions(-) delete mode 100755 tests/test_heal_csum.sh diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 90f66a47..421089ed 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -622,6 +622,114 @@ jobs: echo "" done + test_heal_csum_32k_dmj: + runs-on: ubuntu-latest + needs: build + container: ${{env.TEST_IMAGE}}:${{github.sha}} + steps: + - name: Run test + id: test + timeout-minutes: 10 + run: TEST_NAME=csum_32k_dmj OSD_ARGS="--data_csum_type crc32c --csum_block_size 32k --inmemory_metadata false --inmemory_journal false" OFFSET_ARGS=$OSD_ARGS /root/vitastor/tests/test_heal.sh + - name: Print logs + if: always() && steps.test.outcome == 'failure' + run: | + for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do + echo "-------- $i --------" + cat $i + echo "" + done + + test_heal_csum_32k_dj: + runs-on: ubuntu-latest + needs: build + container: ${{env.TEST_IMAGE}}:${{github.sha}} + steps: + - name: Run test + id: test + timeout-minutes: 10 + run: TEST_NAME=csum_32k_dj OSD_ARGS="--data_csum_type crc32c --csum_block_size 32k --inmemory_journal false" OFFSET_ARGS=$OSD_ARGS /root/vitastor/tests/test_heal.sh + - name: Print logs + if: always() && steps.test.outcome == 'failure' + run: | + for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do + echo "-------- $i --------" + cat $i + echo "" + done + + test_heal_csum_32k: + runs-on: ubuntu-latest + needs: build + container: ${{env.TEST_IMAGE}}:${{github.sha}} + steps: + - name: Run test + id: test + timeout-minutes: 10 + run: TEST_NAME=csum_32k OSD_ARGS="--data_csum_type crc32c --csum_block_size 32k" OFFSET_ARGS=$OSD_ARGS /root/vitastor/tests/test_heal.sh + - name: Print logs + if: always() && steps.test.outcome == 'failure' + run: | + for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do + echo "-------- $i --------" + cat $i + echo "" + done + + test_heal_csum_4k_dmj: + runs-on: ubuntu-latest + needs: build + container: ${{env.TEST_IMAGE}}:${{github.sha}} + steps: + - name: Run test + id: test + timeout-minutes: 10 + run: TEST_NAME=csum_4k_dmj OSD_ARGS="--data_csum_type crc32c --inmemory_metadata false --inmemory_journal false" OFFSET_ARGS=$OSD_ARGS /root/vitastor/tests/test_heal.sh + - name: Print logs + if: always() && steps.test.outcome == 'failure' + run: | + for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do + echo "-------- $i --------" + cat $i + echo "" + done + + test_heal_csum_4k_dj: + runs-on: ubuntu-latest + needs: build + container: ${{env.TEST_IMAGE}}:${{github.sha}} + steps: + - name: Run test + id: test + timeout-minutes: 10 + run: TEST_NAME=csum_4k_dj OSD_ARGS="--data_csum_type crc32c --inmemory_journal false" OFFSET_ARGS=$OSD_ARGS /root/vitastor/tests/test_heal.sh + - name: Print logs + if: always() && steps.test.outcome == 'failure' + run: | + for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do + echo "-------- $i --------" + cat $i + echo "" + done + + test_heal_csum_4k: + runs-on: ubuntu-latest + needs: build + container: ${{env.TEST_IMAGE}}:${{github.sha}} + steps: + - name: Run test + id: test + timeout-minutes: 10 + run: TEST_NAME=csum_4k OSD_ARGS="--data_csum_type crc32c" OFFSET_ARGS=$OSD_ARGS /root/vitastor/tests/test_heal.sh + - name: Print logs + if: always() && steps.test.outcome == 'failure' + run: | + for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do + echo "-------- $i --------" + cat $i + echo "" + done + test_scrub: runs-on: ubuntu-latest needs: build diff --git a/.gitea/workflows/tests-to-yaml.pl b/.gitea/workflows/tests-to-yaml.pl index b34b88ca..ee497795 100755 --- a/.gitea/workflows/tests-to-yaml.pl +++ b/.gitea/workflows/tests-to-yaml.pl @@ -7,7 +7,8 @@ for my $line (<>) if ($line =~ /\.\/(test_[^\.]+)/s) { chomp $line; - my $test_name = $1; + my $base_name = $1; + my $test_name = $base_name; my $timeout = 3; if ($test_name eq 'test_etcd_fail' || $test_name eq 'test_heal' || $test_name eq 'test_add_osd' || $test_name eq 'test_interrupted_rebalance' || $test_name eq 'test_rebalance_verify') @@ -16,7 +17,12 @@ for my $line (<>) } while ($line =~ /([^\s=]+)=(\S+)/gs) { - if ($1 eq 'SCHEME' && $2 eq 'ec') + if ($1 eq 'TEST_NAME') + { + $test_name = $base_name.'_'.$2; + last; + } + elsif ($1 eq 'SCHEME' && $2 eq 'ec') { $test_name .= '_ec'; } diff --git a/tests/run_tests.sh b/tests/run_tests.sh index 3b32a342..c93058bb 100755 --- a/tests/run_tests.sh +++ b/tests/run_tests.sh @@ -53,6 +53,13 @@ SCHEME=xor ./test_write.sh PG_SIZE=2 ./test_heal.sh SCHEME=ec ./test_heal.sh +TEST_NAME=csum_32k_dmj OSD_ARGS="--data_csum_type crc32c --csum_block_size 32k --inmemory_metadata false --inmemory_journal false" OFFSET_ARGS=$OSD_ARGS ./test_heal.sh +TEST_NAME=csum_32k_dj OSD_ARGS="--data_csum_type crc32c --csum_block_size 32k --inmemory_journal false" OFFSET_ARGS=$OSD_ARGS ./test_heal.sh +TEST_NAME=csum_32k OSD_ARGS="--data_csum_type crc32c --csum_block_size 32k" OFFSET_ARGS=$OSD_ARGS ./test_heal.sh +TEST_NAME=csum_4k_dmj OSD_ARGS="--data_csum_type crc32c --inmemory_metadata false --inmemory_journal false" OFFSET_ARGS=$OSD_ARGS ./test_heal.sh +TEST_NAME=csum_4k_dj OSD_ARGS="--data_csum_type crc32c --inmemory_journal false" OFFSET_ARGS=$OSD_ARGS ./test_heal.sh +TEST_NAME=csum_4k OSD_ARGS="--data_csum_type crc32c" OFFSET_ARGS=$OSD_ARGS ./test_heal.sh + ./test_scrub.sh ZERO_OSD=2 ./test_scrub.sh SCHEME=xor ./test_scrub.sh diff --git a/tests/test_heal_csum.sh b/tests/test_heal_csum.sh deleted file mode 100755 index dbd95ecd..00000000 --- a/tests/test_heal_csum.sh +++ /dev/null @@ -1 +0,0 @@ -OSD_ARGS="--data_csum_type crc32c --csum_block_size 32k --inmemory_journal false" OFFSET_ARGS=$OSD_ARGS ./test_heal.sh